CAPE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 1 1 1 2 5 9 9 3 2 2 1 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 6 5 6 7 8 7 7 8 7 7 7 7 7 7 6 6 5 5 4 5 4 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 3 3 3 4 4 5 4 4 4 5 5 5 5 5 5 4 4 4 4 4 2 1 0 0 1 2 2 2 1 2 2 2 2 1 2 1 2 4 2 1 1 1 1 2 5 3 3 3 3 3 3 3 3 3 3 3 4 3 4 4 5 4 4 4 3 4 4 4 4 4 4 3 4 4 5 5 4 4 4 1 0 0 0 0 1 2 6 8 8 8 8 7 8 8 9 7 8 7 7 5 3 3 4 4 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 4 9 9 4 3 3 3 2 2 2 3 3 1 0 1 2 3 4 4 4 4 4 4 4 5 5 6 6 6 6 6 7 8 8 7 8 8 7 7 7 7 7 6 6 6 5 5 6 5 3 5 4 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 3 3 3 3 4 4 5 5 5 4 4 4 4 5 5 4 4 4 4 3 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 4 5 6 4 3 3 3 4 8 7 5 4 4 3 3 4 4 4 4 5 5 5 5 5 4 4 3 3 4 5 5 4 4 4 5 3 3 3 2 4 5 4 2 1 1 1 0 0 0 1 3 5 6 10 10 13 13 13 13 11 9 10 9 6 3 2 5 4 4 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 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 2 1 0 3 11 4 4 3 3 3 2 1 2 1 0 1 2 3 3 4 4 4 4 4 5 5 6 6 6 6 7 7 7 8 7 7 7 6 8 8 7 7 7 6 6 6 6 6 6 5 6 5 5 3 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 2 3 3 3 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 3 2 1 1 2 1 2 1 2 2 2 3 3 3 3 2 2 2 4 4 6 7 7 7 7 7 8 9 7 6 5 4 4 4 5 4 4 5 5 5 5 5 5 4 4 4 5 5 4 2 2 5 5 4 4 5 5 5 6 4 3 3 3 3 5 1 0 2 3 4 4 9 9 11 13 13 14 14 11 10 8 6 3 1 3 3 4 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 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 2 0 0 1 2 2 1 1 0 0 0 1 2 3 3 3 4 4 4 4 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 3 3 4 5 5 4 4 4 5 4 5 4 5 5 4 4 4 3 2 1 1 2 1 2 2 2 2 2 3 2 2 2 2 2 1 1 3 5 6 6 6 7 7 8 8 9 9 9 9 4 5 5 5 4 4 4 5 5 4 4 5 5 5 4 6 5 4 3 4 5 4 5 7 8 6 4 6 6 5 4 3 4 3 1 1 2 3 5 6 10 10 12 14 13 14 15 13 11 9 7 6 2 2 3 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 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 4 4 4 5 5 6 6 6 7 7 7 7 7 7 7 8 7 7 7 7 7 7 6 7 7 7 7 7 6 6 6 5 5 5 4 4 3 2 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 4 5 4 4 4 5 6 7 5 5 5 5 5 5 3 4 3 2 2 1 3 2 2 2 2 2 2 3 3 2 2 3 2 2 2 4 5 5 6 7 8 8 9 9 9 8 9 6 5 5 4 4 4 5 5 5 5 4 4 4 4 4 5 5 6 5 4 5 5 6 8 7 9 10 9 9 7 5 3 4 3 3 3 2 2 5 7 9 10 11 13 14 14 17 16 13 10 8 8 6 3 3 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 7 7 7 7 8 7 7 6 6 6 7 7 7 8 8 8 8 7 7 6 5 5 5 5 4 5 3 3 3 2 2 2 3 2 2 2 2 2 2 2 2 2 2 3 4 5 5 5 5 5 5 4 5 6 5 5 5 5 4 3 3 2 1 1 2 1 2 2 2 2 3 3 3 2 2 3 2 2 2 2 3 5 6 7 7 8 8 8 8 10 10 7 6 5 5 5 5 6 6 5 4 4 3 3 4 4 4 4 7 5 6 6 6 6 7 7 8 9 8 7 6 5 4 3 4 4 2 2 2 4 5 7 9 9 9 11 14 17 17 13 10 10 9 7 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 2 3 3 4 4 4 4 5 5 5 6 6 7 7 6 6 6 7 7 7 7 7 6 6 6 6 7 7 8 8 8 8 8 7 7 6 6 6 6 5 5 5 4 4 3 2 2 4 3 2 2 2 2 2 2 2 2 2 2 3 5 6 6 5 5 5 7 8 7 5 5 5 5 5 4 4 3 2 2 1 2 2 2 2 2 2 2 3 2 1 1 1 2 2 2 2 3 5 6 7 8 8 8 8 8 8 8 9 7 5 4 4 4 4 5 5 4 4 5 5 5 4 4 5 7 7 7 7 5 4 5 6 7 7 6 6 6 6 5 4 3 3 4 1 1 2 3 5 7 7 9 9 12 15 15 14 13 11 10 8 7 7 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 4 4 4 4 4 5 5 6 6 6 6 7 6 7 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 7 6 6 6 6 5 5 5 4 4 5 4 5 3 3 3 2 2 2 2 2 2 2 2 2 4 7 8 7 7 7 7 8 7 6 5 5 5 5 5 4 4 3 3 3 2 2 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 3 5 6 7 7 7 6 3 5 7 9 8 6 4 3 3 4 4 4 5 4 6 7 6 6 6 6 6 6 8 8 7 5 5 6 7 6 5 6 5 6 7 6 6 7 5 4 3 1 1 1 2 2 4 6 8 9 11 12 13 12 13 14 12 11 10 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 7 10 18 10 8 7 7 7 6 6 5 5 5 4 4 5 5 4 2 2 2 2 2 2 2 2 2 3 3 3 6 7 7 8 8 7 8 8 7 7 7 6 6 6 6 5 5 5 4 4 3 2 1 1 1 1 1 1 1 1 0 1 1 1 2 2 2 1 4 4 4 5 5 5 1 4 5 4 5 4 4 3 4 4 5 6 5 5 6 8 8 7 8 8 8 9 8 8 8 7 5 5 5 5 6 6 5 7 7 6 6 5 6 5 4 3 1 1 2 0 0 3 6 8 9 11 12 12 12 13 13 13 11 11 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 7 8 7 9 18 10 8 8 7 7 6 6 5 5 5 5 5 5 5 6 5 3 2 2 2 2 2 2 2 3 2 3 4 6 6 7 8 8 9 8 8 8 8 14 11 9 7 6 6 5 4 3 2 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 3 3 3 3 3 3 3 3 3 3 4 6 7 7 7 6 6 8 8 7 8 8 9 9 8 8 8 8 6 6 7 7 6 8 7 7 6 6 6 6 4 6 5 4 3 3 2 1 1 2 5 8 8 10 11 12 12 13 14 12 11 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 3 3 3 3 4 4 4 5 6 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 7 7 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 4 2 2 2 2 2 2 2 2 3 3 3 5 6 7 8 8 8 8 7 13 24 13 27 19 12 9 7 6 4 3 2 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 2 3 3 4 4 4 3 3 3 3 4 5 6 6 8 7 8 7 6 9 9 7 7 6 5 7 7 7 7 7 8 7 8 8 7 6 6 6 5 7 5 4 5 5 5 4 4 4 3 2 4 6 6 8 10 10 11 10 10 9 9 9 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 7 6 6 5 5 5 5 5 5 5 5 4 2 2 2 2 2 1 2 2 2 2 4 6 8 9 9 9 9 10 9 11 24 23 23 17 12 9 7 5 3 2 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 2 3 4 5 6 4 6 4 4 5 5 5 5 7 5 5 7 7 6 7 7 7 7 6 6 8 7 8 8 9 10 10 10 10 9 8 8 9 7 7 5 4 4 4 5 4 4 3 2 2 3 3 4 6 9 8 12 11 10 10 9 10 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 6 5 5 6 6 6 7 7 7 7 6 6 6 6 6 7 7 7 7 6 6 6 6 6 7 7 6 6 5 5 5 5 5 5 3 1 1 2 2 2 2 2 2 4 5 3 5 8 9 11 10 10 9 10 11 9 8 9 9 10 9 8 6 4 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 5 5 6 6 4 4 3 5 6 3 3 5 5 3 5 6 6 6 5 6 5 5 7 7 6 6 6 6 7 8 10 9 10 10 10 10 10 8 8 7 5 5 4 5 5 5 4 2 1 1 2 4 5 6 6 6 6 8 9 10 11 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 6 5 5 6 6 6 6 7 6 6 6 6 7 6 6 6 6 6 6 5 5 5 5 4 3 3 2 1 2 2 2 4 4 5 6 5 6 8 9 9 10 10 10 11 12 9 9 8 8 8 8 6 5 4 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 4 5 7 8 7 6 7 6 7 6 6 7 3 5 7 5 5 7 6 6 5 5 5 5 4 6 8 7 5 4 4 5 8 9 9 9 9 9 12 11 9 7 6 6 6 5 4 5 6 6 5 5 3 2 3 4 4 7 7 8 9 9 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 7 6 6 7 7 6 6 5 5 5 4 4 4 3 4 3 3 3 4 6 6 6 6 7 8 9 11 11 11 11 11 11 9 9 9 9 8 8 7 6 5 3 3 3 3 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 7 7 7 7 6 6 6 6 6 6 5 6 6 6 6 4 4 4 5 5 4 4 6 7 7 6 6 7 6 7 7 8 9 8 8 9 11 10 8 8 7 7 7 6 5 5 7 8 8 7 4 3 3 3 4 6 7 9 10 10 12 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 6 5 5 4 4 4 4 5 5 5 5 5 5 6 6 6 7 7 8 8 12 13 12 12 12 11 11 9 9 9 9 8 7 5 4 4 4 4 2 2 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 2 0 2 4 4 3 4 6 7 7 6 6 6 5 6 6 6 6 5 7 7 6 6 5 4 5 6 6 6 7 8 8 7 10 9 8 8 10 10 11 10 9 8 8 6 8 7 7 6 6 7 7 8 7 5 3 4 3 4 6 8 8 9 11 12 11 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 3 3 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 4 4 4 5 5 5 5 6 6 6 6 6 7 7 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 5 6 5 5 6 6 5 6 6 6 6 7 8 8 9 10 13 15 12 13 12 11 10 10 9 8 7 6 5 4 4 2 2 2 2 2 1 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 3 5 5 4 4 4 5 3 5 5 4 6 5 5 6 7 7 7 7 5 5 6 7 8 9 10 10 10 9 9 9 12 10 10 10 9 9 8 6 7 8 9 8 8 7 6 6 7 6 4 3 2 3 3 2 7 8 12 11 11 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 1 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 3 3 3 3 3 3 4 4 3 3 3 3 4 4 4 3 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 5 6 6 6 6 6 6 5 6 6 6 6 7 8 8 9 11 14 17 11 12 11 11 10 9 8 7 7 6 4 4 4 5 3 3 3 3 2 2 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 2 2 3 3 3 4 4 4 4 3 3 3 4 6 6 6 5 6 7 8 9 8 7 7 9 9 9 10 10 10 11 11 10 12 11 11 10 11 11 9 8 8 9 10 9 8 7 6 6 7 6 3 1 0 1 0 1 7 9 11 12 12 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 5 5 6 6 6 6 6 6 7 6 7 7 6 8 8 8 9 8 6 6 6 6 5 5 5 5 4 5 6 6 6 6 6 6 6 6 6 6 7 9 9 9 10 13 16 16 11 10 10 10 10 9 8 7 7 6 5 4 4 5 4 4 3 3 2 2 1 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 2 3 3 3 3 4 4 4 4 4 4 5 5 5 6 6 7 8 10 10 10 10 10 11 9 10 10 10 10 10 12 12 11 12 13 14 13 13 11 9 9 9 10 9 8 7 6 6 7 6 3 2 1 0 1 6 10 12 12 13 14 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 14 7 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 5 4 5 5 6 6 6 7 10 10 10 8 8 9 8 10 10 10 10 11 10 9 7 7 7 7 6 6 5 6 6 6 6 6 7 7 6 6 6 7 8 8 9 10 13 18 18 18 17 16 13 10 10 8 7 7 6 6 6 4 4 4 3 3 3 2 2 2 3 2 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 2 2 2 2 4 4 5 4 5 6 6 6 6 7 7 8 11 11 13 13 12 12 11 12 10 11 11 11 12 13 12 10 10 13 16 15 14 13 12 11 10 10 9 7 6 6 7 7 7 7 6 5 3 1 7 11 11 11 12 13 15 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 6 15 14 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 6 8 6 7 8 9 9 9 10 10 10 10 10 10 10 11 11 11 11 11 11 10 9 9 11 11 10 8 6 6 6 6 6 7 8 7 7 6 6 7 8 8 8 12 14 16 20 20 20 19 17 14 11 10 9 8 7 6 6 5 4 3 3 3 3 3 3 2 3 3 2 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 3 3 3 3 3 6 5 5 6 7 7 5 6 6 7 8 10 13 14 15 14 11 9 14 13 13 12 12 11 12 15 14 13 12 12 13 13 12 12 12 11 9 9 9 8 7 6 7 7 7 7 6 6 6 7 9 10 11 12 13 12 15 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 1 3 11 15 9 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 3 3 3 4 6 5 6 7 7 7 8 9 9 10 9 10 10 10 10 13 12 12 12 11 11 12 11 11 11 11 10 10 9 10 12 13 12 11 10 9 9 10 11 10 10 8 7 6 7 7 7 11 13 14 16 18 17 19 18 17 15 11 10 10 9 8 7 7 5 5 4 3 2 2 2 3 3 3 3 3 1 1 1 1 0 0 0 0 0 0 0 0 0 1 2 3 4 4 4 4 4 7 6 6 9 10 10 9 7 7 9 9 12 14 14 15 14 13 18 17 15 15 13 10 9 10 14 14 14 14 13 9 9 8 7 8 11 11 10 10 10 9 7 7 7 7 8 8 8 10 11 10 11 12 12 13 13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 9 14 12 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 3 4 4 4 5 6 7 7 7 8 9 9 9 8 10 9 10 10 11 10 12 14 13 13 12 12 12 12 12 12 11 11 11 11 11 10 11 12 12 12 11 11 11 11 11 10 10 10 9 8 7 7 11 13 14 16 17 18 19 20 18 16 15 11 10 10 9 8 7 6 4 3 3 3 2 1 3 3 2 2 2 1 1 1 1 0 0 0 1 1 1 1 1 1 2 2 2 3 4 4 5 4 7 8 7 7 9 11 11 10 9 8 7 6 11 11 11 12 14 15 16 15 14 16 15 12 15 14 14 13 13 11 10 9 9 8 8 8 8 9 9 11 12 11 9 9 6 8 10 9 11 13 15 16 16 14 14 14 14 16 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 13 6 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 2 2 2 2 4 6 6 6 6 7 7 7 8 9 9 9 9 9 9 11 10 10 11 11 11 13 14 14 14 13 13 13 13 12 12 13 12 12 12 12 12 12 12 12 12 12 12 12 11 11 10 10 10 10 10 10 10 14 16 18 20 19 20 20 20 18 16 14 14 11 9 8 7 6 4 4 2 2 2 2 1 1 2 1 2 1 1 1 1 1 1 0 1 1 2 2 3 3 3 2 3 4 5 5 6 8 8 11 10 8 8 8 11 11 10 8 7 5 6 6 7 9 11 13 10 9 9 11 14 14 16 16 15 15 14 12 8 7 9 9 9 10 11 11 11 11 11 13 13 12 12 9 10 12 10 11 12 13 14 13 14 15 15 15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 1 0 0 0 0 0 0 0 0 0 0 1 1 2 1 1 2 2 2 3 6 6 7 7 7 7 8 8 8 9 9 9 9 8 10 10 10 10 10 14 12 13 14 13 13 12 13 13 13 13 13 15 15 15 14 13 13 12 12 12 12 11 12 12 11 11 11 11 12 12 12 12 13 17 19 20 23 21 21 20 18 16 14 13 12 9 8 7 7 6 5 4 3 2 2 1 1 1 1 1 2 2 2 1 1 1 1 2 3 3 3 3 3 3 3 2 3 5 6 6 7 10 8 10 10 9 12 10 12 11 10 9 7 7 7 5 6 8 10 8 11 13 12 12 12 10 14 13 13 11 9 10 10 9 9 11 13 14 12 10 10 11 12 13 13 14 12 12 13 14 14 15 15 16 16 14 16 17 16 17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 2 2 2 4 5 6 6 7 7 8 7 7 7 8 9 9 9 9 9 10 9 9 10 10 10 12 15 13 14 14 13 12 12 13 13 14 14 14 14 14 15 15 15 13 13 12 13 13 12 12 12 12 12 12 12 13 13 14 14 15 18 20 20 23 24 22 20 18 16 14 12 8 6 6 7 6 4 4 5 5 3 0 2 1 2 3 3 2 2 2 2 5 6 4 5 4 4 3 3 2 2 3 3 3 4 4 4 7 10 9 9 10 10 13 13 13 12 12 13 14 11 8 7 8 10 11 11 10 10 12 14 12 12 11 10 9 6 7 10 12 12 12 14 15 11 9 11 11 11 12 12 13 13 13 14 15 15 17 20 20 18 18 13 16 18 18 17 16 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 4 5 6 7 7 7 8 7 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 14 13 12 12 13 13 12 14 14 14 14 14 14 14 14 14 14 13 13 13 14 14 13 13 12 12 12 13 14 14 15 15 18 19 22 27 19 19 24 23 19 18 15 13 11 10 8 6 5 5 3 3 4 4 3 0 0 1 3 4 5 4 3 3 4 5 5 5 4 4 3 2 2 2 1 1 2 2 2 3 4 7 9 10 9 9 10 13 14 13 12 13 13 13 12 12 12 11 13 12 12 11 11 11 14 13 10 8 8 9 9 9 11 13 15 15 15 13 11 9 8 9 11 12 13 15 17 17 17 19 18 17 18 19 18 20 18 18 18 20 19 21 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 6 6 7 7 7 7 8 8 8 8 9 9 9 9 10 10 10 10 10 10 10 10 10 10 9 12 12 12 12 12 15 13 15 14 14 14 14 14 15 14 14 14 13 13 13 14 14 14 14 14 14 13 15 16 16 18 19 21 21 23 31 31 23 26 24 19 16 14 12 11 10 8 5 5 4 3 3 3 3 2 0 1 2 2 3 4 4 4 5 5 4 5 4 4 4 3 2 1 2 2 2 2 2 4 3 4 6 7 7 8 10 12 13 14 14 13 13 14 12 13 14 13 13 14 14 13 12 10 8 9 11 10 9 9 9 9 9 11 13 13 15 15 15 14 13 14 14 14 14 15 16 19 22 19 22 22 20 19 20 22 23 21 19 20 24 26 27 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 4 5 6 7 7 8 8 8 8 8 8 8 9 9 9 9 10 10 10 10 11 10 10 10 10 11 10 9 10 11 11 11 12 13 13 13 13 14 14 15 14 14 14 14 15 13 13 13 14 14 14 15 15 14 14 15 17 18 19 24 27 26 26 29 32 27 25 22 18 15 14 11 10 9 8 5 4 3 3 3 2 2 0 0 1 2 3 4 3 4 5 5 4 4 4 4 4 3 2 2 2 3 3 2 2 4 5 5 4 5 5 6 7 12 12 13 15 15 14 14 14 14 13 12 13 12 13 13 12 9 10 6 5 8 10 11 11 9 9 8 8 9 11 14 15 19 19 16 17 20 20 17 17 18 20 22 21 21 19 19 21 24 26 27 27 25 23 26 29 27 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 3 4 5 6 7 7 7 7 7 8 8 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 11 10 10 10 11 11 12 13 14 14 14 17 17 15 15 17 17 15 16 14 14 14 14 14 14 15 16 16 16 16 16 20 23 23 27 31 33 33 34 33 32 30 25 17 16 13 10 9 9 8 4 3 3 3 2 2 3 1 2 3 1 1 5 5 6 6 5 5 4 4 4 4 4 3 3 3 4 4 4 3 4 5 5 6 6 7 8 8 12 14 15 15 15 16 15 14 14 13 11 11 10 11 11 11 11 10 9 9 10 10 11 13 9 7 5 5 8 13 15 16 19 21 20 26 25 21 19 19 22 23 23 23 20 19 20 22 23 25 25 25 25 25 27 29 28 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 5 5 6 7 8 8 9 9 9 10 10 9 9 9 10 10 10 10 10 10 10 10 10 10 11 11 11 10 11 11 11 11 12 13 13 14 17 20 19 17 15 16 16 16 16 16 17 17 17 16 15 15 16 17 17 17 19 18 27 28 28 31 32 32 34 34 31 27 22 18 19 14 10 10 9 8 4 3 3 3 2 2 2 1 2 3 2 1 4 5 6 6 5 4 4 4 4 4 5 5 4 4 4 4 4 3 3 5 6 7 10 10 11 12 14 15 14 12 11 11 11 10 10 11 12 9 8 9 9 7 11 10 12 13 13 13 13 11 9 10 13 14 16 16 17 17 17 20 21 21 20 20 21 22 25 28 28 27 25 22 22 24 24 25 24 23 26 29 31 32 31 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 5 5 5 6 7 8 8 9 9 10 10 10 10 9 9 10 10 10 10 10 10 10 10 10 10 10 10 11 10 10 10 10 11 12 12 13 14 17 20 20 22 22 20 21 23 20 23 23 21 20 21 19 16 16 17 17 17 17 19 19 25 28 28 30 32 33 33 30 25 21 19 19 19 14 10 10 9 5 4 4 4 3 2 1 1 0 0 0 1 2 4 5 5 5 4 4 4 6 7 6 6 5 4 4 5 4 3 3 6 8 8 8 10 12 12 13 13 13 12 9 9 12 12 12 13 8 7 8 10 11 12 10 12 13 12 13 13 12 12 10 10 13 16 18 19 20 20 20 18 20 20 22 24 25 24 24 26 27 27 27 27 24 24 27 28 28 27 24 28 31 32 33 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 4 5 5 5 6 6 7 8 8 9 9 10 10 10 10 10 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 12 13 12 13 16 19 19 19 24 24 23 23 26 23 23 23 21 21 22 21 19 18 17 16 17 17 17 21 26 29 30 31 34 36 34 30 26 20 20 19 17 12 10 11 9 8 7 5 4 3 2 0 0 0 0 0 3 1 2 3 4 6 6 7 8 7 5 5 5 4 3 3 3 3 8 6 9 10 9 9 12 12 12 10 8 6 7 9 9 11 11 9 8 8 7 10 13 14 15 14 13 12 12 11 12 11 12 12 12 14 17 21 21 21 21 23 24 29 26 25 24 24 24 24 26 26 25 24 24 26 27 29 31 31 27 25 27 29 32 34 32 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 5 5 6 7 7 8 8 8 9 9 10 10 9 9 9 9 9 9 9 10 10 10 10 9 10 10 10 10 10 10 10 11 11 12 12 13 13 15 18 21 20 22 23 22 21 21 21 21 25 24 21 21 22 24 23 22 23 23 19 18 21 26 30 32 32 33 34 35 34 30 25 25 23 19 16 14 12 13 11 11 8 5 4 4 1 1 1 1 0 2 2 2 5 6 6 8 8 9 8 7 6 4 4 4 3 3 5 5 6 6 8 9 9 9 11 13 11 8 7 7 8 8 8 8 7 6 6 8 9 12 15 15 15 14 14 13 12 13 13 13 14 14 15 18 19 21 21 21 20 22 28 31 28 26 25 25 26 26 26 25 23 24 25 27 27 29 33 33 28 27 29 31 33 32 30 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 2 3 4 4 5 5 6 7 7 7 8 8 8 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 11 11 11 12 12 16 17 17 18 20 20 22 23 22 22 24 25 23 25 25 23 24 24 24 24 24 24 24 26 28 28 30 33 34 35 36 35 35 32 27 25 24 23 19 16 15 14 13 13 12 9 5 4 2 2 2 2 3 14 6 7 8 8 9 9 8 9 8 6 5 5 4 4 4 4 4 4 6 8 9 9 9 9 11 9 8 8 8 8 8 8 8 8 7 7 7 8 9 11 13 17 17 17 18 18 16 15 15 15 14 15 15 15 17 22 21 22 22 21 21 29 31 28 25 26 26 26 26 27 29 29 29 29 28 29 31 32 28 27 30 32 33 32 27 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 4 4 4 5 6 7 7 7 8 8 8 8 8 9 9 9 8 7 7 7 8 8 8 8 9 9 9 9 10 10 10 10 10 10 11 11 12 12 16 18 18 17 18 21 22 22 23 22 21 25 24 24 25 25 26 25 24 25 25 25 27 27 29 31 32 33 33 33 32 30 29 30 30 26 24 22 19 15 14 14 13 14 13 9 5 4 2 2 3 4 4 14 22 24 18 10 7 7 7 8 9 9 9 8 7 6 6 5 5 9 6 5 6 7 8 9 8 7 7 6 6 7 8 9 9 8 8 8 9 10 11 12 13 17 17 18 18 18 17 15 16 15 15 15 15 17 20 21 21 22 23 23 25 27 28 27 29 30 28 30 30 32 40 43 37 33 33 34 33 26 24 23 25 27 28 28 23 24 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 4 5 5 5 5 5 6 6 6 7 7 8 8 8 8 8 8 9 8 7 6 6 6 7 7 8 9 9 9 9 9 10 10 10 10 10 11 10 14 12 10 13 19 18 21 24 23 22 22 22 21 21 23 24 25 25 26 26 25 25 26 26 28 30 32 32 32 33 31 31 30 28 26 26 28 26 24 22 18 14 13 13 14 14 12 8 5 4 3 2 2 6 6 4 16 16 9 8 5 5 5 6 8 7 8 9 7 6 6 5 5 6 6 7 7 7 8 7 6 7 7 7 7 8 7 7 8 8 9 10 9 11 13 15 15 14 14 15 17 19 18 16 16 16 16 16 16 18 19 21 21 21 21 21 23 25 26 29 33 33 34 36 34 33 36 43 40 38 38 37 30 23 26 29 30 30 29 25 22 23 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 4 4 5 4 5 5 5 5 5 6 6 7 7 7 7 8 9 9 10 9 8 7 7 7 7 8 8 8 9 9 9 9 9 9 9 10 10 10 11 10 14 15 15 15 17 16 21 22 21 22 23 22 22 22 23 25 26 26 25 25 24 24 25 27 30 31 31 30 30 34 33 33 32 33 33 34 29 27 25 22 20 18 15 14 13 12 11 8 5 3 3 3 4 9 10 6 5 5 5 6 6 6 5 6 7 9 9 7 6 5 5 6 5 5 6 7 8 7 7 7 7 8 8 8 7 6 7 7 8 9 10 9 8 8 9 12 13 12 12 14 17 20 19 18 17 17 18 19 17 18 18 19 20 20 19 19 22 25 29 33 33 35 39 40 37 36 34 38 39 38 36 33 27 25 28 31 31 30 24 22 23 28 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 4 4 4 4 4 5 5 5 6 7 7 7 8 8 8 7 8 8 8 9 8 8 8 8 8 7 7 8 8 9 8 8 9 9 9 10 10 10 12 14 15 14 14 19 18 20 23 23 22 21 20 22 23 22 25 24 24 22 23 24 24 27 28 29 31 33 34 34 35 33 32 34 33 30 29 30 28 26 25 24 22 20 17 14 12 9 7 6 5 5 6 8 10 8 6 5 5 5 5 7 7 7 7 4 4 5 5 5 5 5 7 7 7 7 7 7 6 6 6 6 7 8 6 6 7 9 11 11 11 11 10 10 11 12 12 12 12 14 17 19 19 18 17 18 18 19 19 18 18 18 19 20 22 21 23 26 30 32 33 32 36 41 43 43 38 39 39 35 33 33 30 29 29 31 31 28 23 20 20 24 28 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 4 4 4 4 4 5 5 5 5 6 7 7 7 7 7 7 7 7 8 8 9 9 9 8 8 7 7 7 7 8 7 5 7 8 8 9 10 9 11 13 14 14 16 18 19 18 20 23 25 21 18 17 19 21 23 22 23 23 23 24 26 25 25 25 26 28 31 33 33 33 31 31 32 31 29 29 28 28 28 28 28 24 22 19 14 12 9 9 9 8 8 12 15 12 8 6 6 6 5 6 6 5 5 6 6 5 4 5 5 5 5 7 7 8 7 6 8 8 7 7 7 7 7 8 10 11 12 13 13 13 12 12 12 14 13 14 13 15 18 20 21 19 19 19 19 18 20 20 19 18 19 19 23 25 26 27 29 33 33 28 30 36 39 41 44 39 38 38 38 35 34 32 32 32 32 31 27 23 21 22 25 26 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 3 3 3 4 4 4 4 5 5 5 6 6 6 5 5 6 6 6 6 7 8 8 8 8 9 8 7 8 8 8 7 7 5 6 8 9 9 11 11 13 14 15 14 15 17 19 19 20 21 23 21 20 20 22 23 22 25 25 25 25 25 26 24 23 25 26 27 30 33 31 32 33 32 30 31 30 29 29 28 29 29 27 25 23 20 18 12 12 12 11 10 10 13 13 11 10 10 9 9 6 6 5 4 4 5 5 4 4 5 5 6 6 7 8 8 8 8 11 11 11 11 10 9 7 8 11 12 11 11 12 12 13 13 15 17 17 17 16 17 18 20 20 20 20 20 20 19 22 22 22 23 23 23 23 26 27 28 27 28 30 31 33 35 33 38 41 41 44 47 39 37 37 38 38 37 36 29 29 30 30 29 29 30 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 3 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 7 8 8 8 8 10 9 8 8 8 7 7 7 5 6 9 11 11 14 14 13 14 15 16 16 20 22 23 23 23 22 22 23 23 23 24 24 26 26 26 26 27 26 25 24 21 19 19 24 30 30 31 31 30 29 30 30 30 30 29 29 30 27 25 23 20 17 12 12 11 10 9 10 8 9 10 11 12 7 6 4 4 5 8 8 7 7 5 5 5 6 8 8 9 11 12 13 13 14 15 15 15 14 11 11 12 12 13 13 12 11 12 13 15 18 18 18 17 17 17 17 18 18 18 19 21 20 20 24 25 25 26 28 26 26 28 28 28 27 26 28 31 35 37 35 38 41 43 44 40 35 35 35 37 38 38 36 34 34 34 35 35 36 35 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 4 4 5 5 5 6 6 6 6 6 6 7 7 6 6 5 6 8 7 7 7 8 8 9 9 8 8 9 8 7 7 6 7 10 11 11 13 13 14 16 17 18 19 20 21 21 21 22 23 23 24 24 24 24 24 26 26 27 28 28 27 26 24 22 23 23 23 29 30 29 28 28 30 29 30 31 32 32 29 28 26 24 22 23 17 16 13 11 9 7 11 9 9 9 9 10 8 5 4 5 7 9 9 10 9 7 7 8 8 10 11 11 13 15 13 14 14 14 15 15 16 14 14 14 13 13 13 12 11 11 13 17 18 19 18 18 17 17 17 18 19 19 21 23 23 23 26 28 27 24 21 23 27 28 28 28 26 29 31 34 37 38 40 42 43 43 42 36 33 32 33 34 34 33 34 36 37 38 40 42 42 42 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 4 5 5 5 7 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 9 7 7 7 10 13 12 12 13 14 16 17 19 20 21 21 20 20 20 21 23 24 25 25 25 26 27 27 27 28 30 29 27 28 28 26 24 26 26 28 29 29 29 28 28 29 29 29 30 31 31 28 25 23 21 20 18 16 16 16 12 11 13 12 10 8 10 9 5 6 7 7 9 10 9 9 9 10 10 12 11 10 10 12 12 11 12 12 14 15 15 16 16 16 15 13 10 14 11 12 13 13 15 19 18 18 18 19 18 18 18 19 20 21 23 24 25 26 27 28 27 25 26 26 27 27 27 28 27 30 32 34 36 36 36 39 43 46 47 46 42 37 35 34 35 32 33 37 42 43 43 45 42 37 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 3 3 3 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 8 8 8 9 8 8 8 8 9 8 8 9 10 11 13 14 15 16 17 17 20 18 18 18 18 19 20 21 23 24 24 24 25 26 27 26 25 26 27 28 27 27 26 25 27 25 25 25 26 27 28 28 29 30 31 31 32 31 31 28 25 22 22 21 22 18 16 17 15 15 15 15 15 14 15 15 12 12 13 13 14 13 15 14 12 14 12 11 8 8 9 10 12 12 12 14 15 16 16 16 17 17 17 16 13 13 14 15 16 18 19 18 17 16 17 18 20 20 19 20 20 21 25 26 27 28 28 29 28 26 27 28 28 27 28 29 29 29 29 28 34 34 34 35 39 44 43 48 46 41 39 36 36 34 34 38 42 42 44 43 42 39 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 4 4 5 5 6 7 7 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 7 7 6 7 8 8 7 7 7 7 7 7 7 8 13 14 15 16 16 17 17 18 18 20 20 20 19 20 21 23 24 23 21 24 25 24 23 22 23 23 25 25 25 26 24 24 24 25 26 26 24 27 30 31 31 31 30 30 31 30 28 25 23 23 23 22 21 19 16 17 16 17 18 18 17 16 19 19 18 18 18 17 16 16 15 14 17 16 12 9 9 11 12 15 15 16 16 16 15 16 16 16 15 15 13 16 18 17 17 17 17 17 17 15 13 16 18 20 21 20 19 21 24 26 28 27 27 28 28 29 29 31 32 30 30 31 31 30 30 31 34 34 33 31 32 35 39 38 38 37 37 34 35 36 35 36 39 41 43 46 46 44 43 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 4 4 5 5 6 6 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 6 7 6 6 8 9 8 7 8 8 12 11 8 8 11 10 12 14 15 16 17 18 18 17 17 19 19 18 19 21 22 22 24 20 23 23 24 24 22 22 22 23 24 25 25 24 26 27 28 27 25 24 27 30 31 31 32 29 28 29 29 27 26 25 25 25 24 21 19 18 17 17 18 19 16 17 18 19 19 18 17 18 14 16 14 9 11 11 11 9 8 10 15 18 19 20 19 17 16 17 18 18 17 17 16 17 19 18 16 15 15 15 14 13 15 21 20 20 19 20 21 21 26 28 27 27 27 27 28 29 30 31 31 29 29 30 32 33 33 32 35 36 37 35 32 34 36 39 39 39 38 35 33 34 35 36 36 37 43 44 45 44 37 31 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 4 4 4 5 6 6 6 6 5 6 6 5 5 7 6 5 5 5 5 5 5 5 6 8 7 8 7 8 9 8 8 8 9 12 12 11 10 11 8 12 14 15 16 15 15 17 17 17 17 18 19 19 20 27 41 28 25 24 25 24 22 22 21 20 21 23 25 26 27 26 29 31 28 26 26 28 32 35 34 33 29 28 29 29 28 28 29 28 27 25 22 21 21 21 21 20 21 19 19 20 21 20 18 17 20 15 12 12 13 14 9 7 9 12 14 18 21 22 23 24 23 20 20 20 19 18 18 19 20 20 17 15 15 15 16 15 15 17 21 23 23 20 20 23 23 26 27 27 27 27 28 28 30 31 32 32 32 31 32 33 33 35 35 36 37 35 33 34 36 37 38 38 39 37 33 34 34 36 38 38 39 43 42 41 38 29 27 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 4 4 4 4 4 5 6 5 6 6 6 5 5 5 4 6 5 5 5 6 6 6 5 6 9 13 10 8 8 8 8 8 7 7 7 9 10 10 9 12 9 10 12 13 14 13 13 15 16 15 16 19 21 22 20 21 30 22 21 21 20 19 18 19 19 20 21 23 26 26 26 27 30 32 29 27 29 31 34 37 35 33 32 30 29 29 29 29 30 29 28 26 22 22 23 25 24 22 22 21 21 22 20 16 17 18 20 18 14 13 15 14 15 15 14 14 15 20 19 18 19 20 21 19 19 19 17 17 18 18 16 15 15 17 18 17 18 19 20 21 21 21 22 22 22 25 25 26 26 27 28 27 29 29 32 34 34 35 33 35 35 34 36 37 37 39 40 38 34 31 34 35 35 37 37 36 34 33 33 35 36 39 40 43 42 39 36 32 32 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 4 4 5 5 4 5 6 6 7 6 5 5 5 6 6 6 6 5 6 6 6 7 5 15 25 12 10 9 8 8 8 8 8 8 8 8 9 10 9 11 9 10 10 11 12 13 13 14 15 17 17 19 23 24 22 18 20 20 19 19 20 19 16 17 19 21 22 23 27 28 27 27 31 36 32 33 35 35 35 36 32 32 31 30 30 30 30 30 31 30 28 25 24 24 24 25 26 24 24 22 20 20 18 20 22 18 18 18 16 16 16 18 16 15 16 18 18 16 13 12 12 15 17 18 20 21 19 18 17 16 16 16 16 20 21 20 20 21 22 23 23 22 23 23 24 25 26 28 29 29 28 38 38 36 37 39 40 40 41 40 38 36 37 37 36 34 32 32 32 30 31 31 32 33 35 36 35 34 34 34 34 37 38 40 41 35 34 32 29 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 4 4 4 4 4 4 5 4 8 16 9 8 6 6 6 6 5 5 6 6 6 6 6 5 7 5 14 27 6 6 6 8 10 11 9 8 9 9 10 10 9 10 9 11 12 12 14 13 14 14 14 16 18 20 20 21 22 23 21 23 20 19 18 18 16 17 18 20 22 23 23 24 26 30 34 34 36 36 38 38 36 33 32 30 31 30 28 28 30 30 33 34 30 25 22 22 23 26 27 28 28 27 26 25 25 30 24 22 20 19 19 19 18 17 19 18 14 14 16 17 14 13 14 14 16 17 17 19 22 21 20 19 18 19 21 21 22 22 22 22 22 23 23 24 24 24 25 25 26 27 29 33 34 29 58 52 43 40 39 40 43 44 43 42 41 41 38 36 35 34 34 32 30 30 32 37 40 39 38 35 36 40 37 36 36 36 36 35 28 27 24 21 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 4 4 4 4 4 4 4 5 4 7 14 8 6 6 6 5 4 6 6 5 5 6 6 6 5 5 6 8 6 5 8 13 19 21 16 9 8 9 9 9 8 11 10 13 15 16 16 15 15 15 16 17 18 19 19 19 21 22 24 25 24 21 20 20 19 16 17 19 21 23 23 24 23 25 30 36 35 35 37 36 33 30 27 27 28 30 30 30 29 30 31 34 35 32 28 28 26 26 27 28 28 28 28 28 28 27 23 25 24 23 22 23 23 21 20 19 18 18 16 16 16 14 12 13 15 15 15 18 21 21 21 22 22 22 20 20 22 23 24 23 23 22 23 23 26 28 29 31 30 31 32 33 33 36 33 35 39 41 41 40 41 41 42 45 45 44 44 42 40 38 38 34 32 31 31 34 43 47 45 43 42 43 41 38 35 32 29 27 28 25 26 23 18 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 5 5 6 5 5 5 5 6 6 5 6 7 7 5 4 22 29 27 23 13 9 8 8 9 11 9 9 9 12 15 16 15 15 15 16 16 17 17 16 17 19 21 23 25 26 25 24 23 22 21 19 19 20 22 23 25 24 24 26 30 37 35 36 36 33 29 27 25 25 29 32 32 32 30 31 33 35 35 30 29 29 27 26 27 28 28 28 28 29 29 27 30 27 26 25 25 26 25 29 27 21 22 17 17 17 15 11 10 13 15 15 17 20 22 22 24 25 26 26 26 24 24 25 26 26 26 26 26 27 29 33 33 34 35 35 35 35 34 36 35 36 38 40 40 41 42 44 47 48 46 45 44 43 43 45 41 37 36 35 34 37 45 47 46 46 46 47 39 35 32 29 25 21 22 33 35 27 17 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 3 3 3 3 4 4 4 4 5 5 5 4 4 5 5 5 6 6 5 5 5 6 6 6 6 7 7 7 6 6 7 6 7 8 8 8 9 10 11 11 11 14 15 15 15 15 16 16 16 16 17 17 16 18 19 21 23 25 25 24 23 23 25 21 20 21 21 22 24 26 25 25 28 33 37 36 35 34 32 29 27 24 25 29 32 31 32 31 33 34 36 35 33 31 27 24 25 28 28 29 30 30 28 27 26 28 29 29 28 29 29 27 30 30 24 22 23 21 19 17 14 12 14 15 17 21 22 23 24 26 28 28 27 25 26 26 27 29 30 30 30 30 30 32 36 36 35 35 35 35 36 37 37 38 39 40 41 42 44 46 48 50 50 49 46 44 44 42 43 39 39 40 41 40 38 39 40 40 39 40 41 36 33 32 30 28 28 28 32 32 24 17 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 1 1 2 3 3 3 3 3 4 4 5 5 5 5 4 4 5 4 6 6 6 5 4 4 6 6 6 6 4 3 29 18 9 7 8 9 8 8 10 12 13 11 14 15 15 15 15 15 15 15 15 15 15 15 15 16 17 19 21 22 24 23 23 24 23 20 17 18 20 21 22 24 26 26 28 33 36 37 37 34 31 32 29 25 26 27 29 33 37 32 32 34 36 37 36 37 34 30 28 28 29 28 29 30 31 32 33 32 33 34 33 33 35 31 31 30 26 27 27 28 25 21 18 16 12 19 21 22 23 24 25 26 28 29 29 29 26 27 28 29 31 32 32 32 32 33 35 37 35 34 35 36 37 37 38 38 39 40 41 42 44 45 47 50 53 53 51 47 45 44 46 50 52 50 47 49 43 37 36 37 38 39 35 34 35 36 38 38 36 36 35 32 27 20 16 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 3 3 1 3 4 5 5 5 5 5 5 5 5 5 6 7 6 5 5 5 6 6 6 7 6 5 5 6 7 8 8 8 8 9 10 11 11 13 15 14 14 14 15 15 15 15 15 15 15 15 16 16 17 18 21 22 22 24 24 22 19 17 15 17 19 20 22 24 25 28 32 35 38 38 37 32 27 31 32 29 30 30 31 33 36 35 34 36 37 36 36 37 35 32 30 30 29 28 28 29 31 34 34 34 34 35 37 37 38 35 33 32 30 31 35 32 26 20 17 18 17 19 20 21 23 25 28 29 28 27 29 28 27 28 30 30 31 31 31 31 32 34 37 35 35 35 36 39 39 40 41 42 44 44 46 45 46 47 50 56 57 56 51 45 43 44 45 46 46 44 40 42 38 35 33 33 34 37 36 35 38 45 46 45 41 41 40 34 23 18 16 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 7 7 6 6 7 8 7 7 8 8 7 8 8 9 9 10 13 14 14 14 14 14 14 14 15 16 15 15 15 16 15 17 22 21 22 22 22 23 24 20 18 17 18 19 20 21 22 25 27 30 34 38 39 40 37 29 22 32 37 37 36 34 32 31 35 33 33 35 35 35 35 33 30 26 25 26 27 26 25 25 26 29 34 36 36 36 35 34 35 35 34 32 32 33 30 25 23 21 19 20 23 22 19 21 25 25 25 25 25 24 26 27 27 29 30 29 29 28 28 29 30 34 36 36 36 37 40 43 42 43 44 46 49 46 47 48 49 50 51 51 53 53 50 42 40 43 40 38 39 41 47 46 43 40 37 31 31 34 37 39 42 48 50 42 36 34 34 28 19 16 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 4 4 4 5 6 5 5 5 5 5 5 6 6 6 6 6 6 7 6 6 7 8 7 5 8 7 5 5 6 6 7 8 7 8 9 10 11 10 10 11 14 13 15 15 16 16 16 16 17 16 16 19 22 22 23 22 22 22 21 19 20 19 19 20 21 22 23 25 28 33 37 38 42 39 30 23 24 35 38 41 41 34 29 33 32 32 34 35 34 34 36 34 31 31 24 24 25 24 23 22 23 25 26 29 33 32 26 25 26 26 25 23 22 24 24 24 23 20 18 19 20 19 20 22 17 17 16 17 21 21 24 24 24 27 26 26 29 28 27 28 32 34 34 35 36 39 40 42 43 44 45 47 48 43 42 45 49 49 49 52 54 56 54 43 36 35 36 38 41 43 52 54 53 51 43 29 31 37 43 45 46 46 45 39 34 32 28 23 17 15 15 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 12 5 4 4 4 4 5 5 6 6 6 6 5 6 6 6 5 5 5 6 6 5 7 8 9 8 4 4 6 6 5 5 5 7 7 6 7 9 10 10 10 10 11 14 12 14 15 15 14 16 17 18 18 20 21 22 22 21 20 20 19 17 19 20 21 21 21 21 22 24 26 29 33 34 36 38 35 29 25 31 36 38 42 43 37 34 36 36 35 36 36 34 34 33 30 27 28 28 25 23 22 23 24 25 26 25 25 24 23 21 19 18 18 17 16 18 23 23 19 16 15 13 15 17 18 13 12 12 13 13 15 21 19 23 26 27 29 29 27 29 29 28 30 36 37 39 38 36 40 38 40 40 40 40 44 42 43 42 42 48 48 50 53 56 58 56 44 40 38 40 45 48 50 56 58 56 52 43 33 31 35 39 41 43 40 39 35 30 27 23 22 18 16 16 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 3 4 5 6 6 6 6 6 6 6 6 6 6 5 5 6 8 8 7 8 9 8 7 5 6 6 6 7 7 5 6 6 7 8 9 10 10 12 13 11 13 12 12 11 11 12 15 17 18 19 21 22 23 21 19 17 15 16 17 18 21 24 24 22 23 24 26 28 30 36 33 32 33 34 32 25 33 36 39 43 44 41 40 40 38 37 37 36 34 34 33 28 26 26 27 26 24 23 24 24 23 23 23 20 19 19 19 17 15 15 15 15 16 17 18 17 16 15 13 12 13 14 16 16 16 16 17 17 23 23 24 27 28 28 27 26 28 30 32 34 36 38 41 40 37 38 35 35 35 35 34 44 43 47 47 43 45 47 50 53 55 57 56 51 50 46 45 49 52 54 54 53 51 49 50 50 47 39 32 30 35 34 35 33 26 23 23 21 18 16 19 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 4 5 5 5 5 6 6 6 6 7 7 8 7 5 5 8 8 9 8 8 8 8 7 6 5 4 4 4 5 5 7 7 7 8 11 12 13 13 14 13 13 12 10 9 9 13 15 17 18 20 21 22 22 18 17 17 17 17 19 20 21 22 23 24 26 27 29 30 31 36 32 30 31 34 36 34 36 38 41 44 48 46 41 40 40 39 41 38 35 34 35 35 35 37 32 28 26 25 25 23 22 21 20 17 15 14 14 14 13 14 14 14 14 15 17 19 20 18 16 14 12 13 19 21 19 18 22 22 24 25 25 24 24 22 22 25 27 30 35 36 37 39 41 39 36 35 36 38 42 41 35 39 41 43 44 43 41 43 47 52 56 58 58 59 56 51 47 51 55 56 57 57 53 46 52 52 48 43 41 32 32 35 36 31 29 29 25 22 19 17 20 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 4 4 5 5 5 6 5 6 6 6 6 6 6 6 5 5 8 8 7 6 6 6 7 7 6 7 6 5 5 4 5 6 6 6 8 8 9 10 11 12 10 14 24 18 13 12 13 13 17 20 22 22 22 22 20 17 16 17 21 21 22 22 21 21 23 24 26 29 32 33 35 32 28 29 32 34 35 35 38 41 43 44 46 48 46 45 44 39 40 38 36 37 38 39 37 41 37 29 25 24 24 22 20 19 17 15 13 13 12 12 13 15 15 16 17 18 19 22 22 22 22 21 15 18 19 19 20 21 24 25 25 25 24 21 13 9 18 26 28 32 36 36 36 37 37 40 36 37 37 38 42 42 34 36 41 44 46 47 46 48 50 51 55 59 60 61 59 55 51 52 60 64 63 62 59 47 47 44 37 36 31 32 34 35 33 29 28 27 24 21 19 18 27 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 4 5 5 5 6 6 5 6 7 7 7 7 7 8 8 9 8 6 6 6 7 6 7 6 7 7 7 6 5 5 6 6 6 7 8 8 8 10 13 12 9 12 12 12 12 12 15 18 21 23 23 21 21 18 16 15 16 18 21 22 22 22 21 23 26 26 27 30 33 35 39 36 32 31 35 34 34 35 39 43 45 45 46 47 47 46 44 41 39 37 37 37 37 37 35 32 28 25 22 21 21 20 19 18 15 13 11 11 11 11 15 17 18 18 20 20 20 24 26 28 31 32 22 21 20 20 24 25 26 26 26 25 24 17 17 18 24 30 31 33 35 33 32 35 45 46 40 39 41 42 44 46 42 40 42 47 51 52 51 52 52 48 53 55 58 61 62 58 54 55 52 48 51 49 51 43 38 34 32 37 33 36 37 34 32 33 28 22 20 21 23 24 34 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 4 5 6 6 5 5 5 6 6 6 6 6 6 7 7 7 7 7 6 6 6 7 6 6 7 6 5 5 6 9 8 7 7 8 8 9 9 10 12 12 12 10 10 11 11 13 14 17 21 23 24 23 23 18 17 16 17 21 20 20 20 20 20 20 23 27 28 29 31 32 35 38 37 33 30 31 31 33 35 38 43 46 47 48 47 46 45 43 41 39 38 37 37 37 36 33 29 24 20 19 18 18 18 19 20 16 15 14 14 13 13 17 19 19 22 25 26 25 28 33 37 37 35 31 25 20 21 29 32 31 31 30 29 25 20 21 26 30 33 35 33 35 38 43 50 44 47 48 49 50 49 45 47 45 42 43 46 49 53 57 59 56 55 55 58 60 62 65 60 52 48 46 46 47 44 44 37 28 28 39 33 33 34 35 34 33 34 29 25 25 25 30 33 40 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 4 5 4 4 5 5 5 5 6 6 5 5 5 5 5 5 5 6 5 5 4 5 7 7 7 6 6 6 7 7 8 7 6 8 10 9 8 8 9 11 12 9 7 7 8 11 13 14 18 21 22 23 22 23 23 22 22 21 19 18 19 20 22 23 24 25 29 32 33 33 35 34 35 35 34 34 34 34 35 36 39 44 44 45 44 44 45 47 42 45 46 43 42 40 40 36 30 26 22 21 20 19 18 19 20 19 17 14 13 13 13 17 19 21 21 23 23 26 28 33 40 46 40 38 33 28 25 25 35 37 35 34 34 34 26 24 24 27 35 40 40 38 38 41 52 53 51 51 51 53 56 56 53 49 45 45 43 47 48 54 60 62 57 57 62 61 59 62 61 53 48 44 42 48 51 50 48 43 39 39 37 36 33 30 31 32 31 29 26 25 28 33 37 40 45 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 3 4 5 5 5 4 4 5 4 5 5 5 5 5 5 6 5 5 5 6 5 6 6 5 5 7 7 7 7 7 7 9 9 8 6 7 9 9 6 12 19 20 15 6 4 3 5 7 10 13 14 16 19 20 20 19 21 21 21 21 21 20 21 19 18 22 25 27 28 30 31 31 30 32 32 32 33 35 35 37 37 38 40 41 45 44 44 42 41 40 39 41 47 50 49 49 44 42 35 28 24 23 23 22 20 20 22 22 19 19 18 18 17 19 19 22 24 24 25 25 28 32 38 45 51 47 43 35 28 25 27 39 38 37 36 37 37 31 32 33 35 42 43 43 44 44 47 63 63 63 58 53 56 60 60 61 61 60 53 43 47 53 57 57 58 63 60 58 58 58 59 55 50 47 44 46 60 63 58 51 48 45 41 39 36 33 32 31 33 31 28 25 27 32 35 38 43 50 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 6 5 5 6 6 5 6 5 5 6 6 6 6 8 9 7 7 7 7 8 9 9 5 13 21 21 14 4 3 5 7 9 10 12 13 14 16 17 18 16 15 15 17 17 17 22 23 19 16 21 26 28 30 30 30 28 29 30 32 34 35 37 37 38 40 42 44 44 45 40 38 40 44 42 41 43 47 49 49 49 46 43 37 30 26 26 27 24 22 21 24 23 22 23 23 21 22 23 24 26 28 28 25 28 32 38 45 48 52 53 49 41 31 26 27 34 38 38 34 34 32 29 34 44 44 44 46 47 45 42 48 58 59 59 57 55 56 59 63 66 65 59 51 44 46 53 58 57 62 68 67 63 58 50 52 51 52 55 59 60 61 57 52 50 47 46 41 37 36 34 32 30 31 31 30 27 30 34 36 42 49 53 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 5 5 5 4 4 4 4 5 5 5 5 5 5 4 5 5 5 5 5 5 4 5 5 6 6 6 6 6 7 8 9 7 7 6 7 8 8 9 8 10 12 10 7 5 4 6 8 9 10 12 14 16 16 16 18 18 18 18 19 19 18 19 20 18 19 24 27 29 29 30 30 27 30 33 35 36 37 38 40 41 42 43 45 44 40 35 34 39 43 46 48 49 48 47 47 46 44 41 35 29 29 30 30 28 25 25 27 27 26 24 23 22 26 28 29 31 34 33 29 27 29 38 46 49 55 58 52 40 29 27 26 26 31 36 29 30 32 35 41 48 48 48 48 47 45 41 59 64 57 51 54 56 59 60 60 59 58 62 49 43 44 49 57 57 64 70 72 67 55 41 44 48 53 59 62 64 63 58 54 53 50 46 39 36 35 32 31 28 26 25 26 29 37 39 42 45 48 51 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 4 5 5 5 4 4 4 4 4 5 4 4 4 4 5 4 5 5 5 5 5 5 5 5 5 5 7 6 6 7 7 8 6 7 7 6 5 6 8 9 9 9 8 8 8 8 7 7 7 10 11 12 13 14 16 19 22 22 22 22 22 22 21 23 21 21 23 28 31 32 32 31 26 26 30 34 36 36 36 39 43 44 43 43 43 41 34 34 41 45 48 47 49 50 48 45 45 45 42 37 33 32 29 33 33 31 29 31 31 30 28 25 23 28 35 36 35 37 41 38 32 30 34 42 50 51 56 58 52 37 29 24 23 25 29 36 31 35 38 39 41 42 51 57 54 49 44 42 52 49 45 49 54 58 61 62 57 47 51 48 52 50 47 49 57 59 63 66 64 55 44 43 44 47 51 58 66 64 62 62 62 59 57 51 44 39 32 31 28 27 26 25 28 35 38 40 43 42 45 46 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 5 5 5 6 6 7 7 7 7 7 6 7 8 8 7 5 10 9 9 9 8 9 11 12 11 8 7 11 13 12 12 12 17 21 21 20 19 20 19 22 25 25 24 24 26 31 33 32 33 33 27 30 31 32 33 32 35 39 47 50 44 39 38 33 30 37 48 49 50 49 48 47 46 44 44 44 41 36 35 33 33 35 36 34 32 33 34 33 30 28 27 34 39 42 42 41 46 41 35 34 38 45 45 51 56 59 57 42 35 34 34 31 29 45 46 45 47 53 54 39 47 54 57 57 48 48 50 46 42 51 55 63 65 62 53 39 46 48 51 54 54 55 61 64 64 63 57 45 42 45 47 49 53 55 63 65 63 61 66 60 54 46 38 36 28 28 28 28 29 29 32 36 38 41 43 42 40 38 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 4 4 4 4 4 3 4 4 4 4 4 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 6 7 7 7 7 6 5 5 6 7 6 5 4 8 10 11 11 12 13 14 13 8 4 6 11 12 13 13 14 19 22 19 17 17 16 14 18 22 25 26 26 28 29 30 32 32 29 32 36 36 35 36 33 37 44 52 51 42 42 38 34 36 44 49 49 49 49 49 48 46 45 44 44 42 40 36 36 37 37 36 35 35 35 36 35 32 33 33 37 44 49 50 46 48 42 35 33 39 39 45 51 57 64 65 49 46 43 38 38 41 51 59 58 52 56 61 42 39 46 56 60 53 49 48 46 42 51 56 60 61 59 49 38 35 27 36 57 59 60 65 65 62 56 51 52 51 49 49 52 57 58 62 64 61 54 61 54 45 38 32 31 30 29 29 30 33 34 35 36 39 42 41 37 34 33 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 3 4 5 4 4 4 5 5 4 3 3 2 3 4 5 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 6 6 6 7 8 4 7 10 10 10 9 12 14 11 9 7 3 5 10 11 12 14 16 19 20 19 17 16 14 16 19 22 24 27 30 30 33 35 34 30 31 33 36 39 41 42 41 45 53 57 55 55 49 44 42 44 48 48 49 49 49 49 49 46 45 44 43 43 44 42 40 39 37 35 35 35 38 40 38 33 35 41 44 45 47 55 49 49 45 39 37 38 44 51 53 57 67 68 64 56 48 47 53 53 55 63 66 60 51 49 39 32 36 56 56 57 52 48 47 44 49 49 50 52 52 48 43 45 40 31 34 50 57 64 66 61 53 52 45 42 46 51 53 57 59 60 59 54 55 54 45 37 35 33 33 31 30 30 31 35 36 37 38 39 39 36 33 32 31 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 3 3 3 4 5 4 4 4 3 3 3 3 2 2 2 4 4 4 5 5 5 5 5 5 5 6 6 5 5 5 5 6 6 6 6 7 9 10 6 12 14 13 12 9 9 9 8 7 8 10 9 11 12 14 15 17 19 20 19 18 20 21 22 23 24 26 28 32 31 33 34 32 30 31 32 33 35 40 43 44 47 51 55 53 54 49 45 43 45 47 47 47 48 49 51 49 47 45 44 44 43 42 43 42 41 37 34 33 36 42 45 42 39 41 43 44 45 48 58 50 47 48 50 51 47 52 56 57 58 67 68 68 67 67 72 66 55 56 63 66 66 60 52 41 29 24 46 55 60 57 51 46 48 45 43 46 53 50 46 47 52 54 54 48 52 57 63 65 59 57 54 46 43 46 51 53 59 62 61 54 54 55 49 39 33 33 31 30 29 30 32 34 35 36 37 37 36 36 33 31 30 30 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 3 3 3 4 4 4 4 4 4 4 4 2 1 0 0 2 4 4 4 4 4 5 5 4 4 5 5 6 5 5 5 5 5 8 8 8 7 7 8 5 12 16 16 18 15 12 9 7 6 7 10 10 13 15 17 19 20 20 21 19 17 19 23 26 27 28 31 31 33 32 34 36 35 30 29 27 28 33 38 42 44 47 50 50 47 44 44 43 43 44 45 46 47 49 50 53 50 47 45 46 47 45 42 43 45 44 39 36 34 37 43 49 46 43 42 42 43 47 51 60 55 50 52 60 57 49 49 53 57 61 67 68 69 69 65 72 69 62 60 64 66 70 66 57 44 34 27 29 48 59 59 54 50 49 48 46 46 57 51 45 48 53 53 55 54 56 60 63 65 63 58 54 51 50 48 54 58 62 65 66 58 60 56 48 39 37 36 30 28 28 29 32 33 34 34 35 33 33 33 31 30 30 31 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 3 4 4 4 4 4 4 4 2 2 2 3 0 2 3 4 4 4 4 5 5 5 5 5 6 5 5 6 6 5 2 3 3 5 8 8 8 7 10 12 13 19 19 20 14 7 6 9 9 12 14 15 18 19 21 20 19 17 19 23 27 28 29 30 33 33 34 36 38 36 31 26 27 31 33 35 40 44 46 48 50 54 45 42 41 41 41 42 43 46 49 49 51 53 50 47 46 47 47 46 41 40 40 37 37 34 34 36 44 52 48 44 43 40 38 49 54 64 63 57 59 68 65 57 52 54 60 64 64 66 68 68 68 70 68 63 59 58 64 64 62 56 50 47 48 48 52 55 55 53 54 51 49 50 52 59 52 49 50 49 47 52 55 58 60 61 52 55 56 56 55 56 56 56 60 64 64 65 60 59 55 50 47 39 31 26 26 27 29 30 31 32 33 34 32 32 32 33 32 31 31 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 2 3 4 4 3 4 3 3 3 3 4 4 4 10 15 11 2 3 3 4 5 4 4 5 4 4 4 5 5 5 6 6 7 7 6 3 16 26 10 7 8 8 9 9 10 17 14 14 14 11 6 6 9 12 14 16 18 20 20 21 21 19 19 28 30 30 31 31 32 33 37 42 40 35 36 36 42 43 34 39 42 43 44 44 44 45 41 40 41 42 41 41 45 48 49 49 52 51 48 47 46 46 48 42 39 38 37 37 35 36 36 37 42 53 49 47 45 41 39 52 58 64 65 62 65 69 64 56 54 58 60 61 60 61 64 66 66 66 66 64 58 50 56 55 53 51 46 47 50 51 50 50 49 50 51 54 57 53 50 58 57 57 57 54 46 49 55 60 59 58 46 49 54 57 60 59 60 59 60 63 63 59 52 46 45 50 50 34 23 20 21 25 27 26 28 30 31 32 32 32 31 31 32 33 33 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 4 3 3 4 3 2 3 4 4 2 2 11 17 4 4 4 4 4 4 4 5 5 5 5 5 6 5 6 7 6 5 6 6 5 7 7 5 5 6 10 15 12 11 11 9 9 9 9 8 11 14 14 15 15 16 16 18 21 24 25 26 28 29 29 29 29 31 32 38 45 46 43 43 40 37 35 36 37 40 41 40 41 41 41 40 40 42 43 42 43 46 48 47 47 50 48 47 45 43 46 49 39 33 36 36 40 40 40 39 38 39 49 49 48 47 42 45 51 57 60 60 63 67 67 64 59 52 52 53 55 60 64 64 61 63 64 65 65 61 54 56 55 54 53 53 52 51 51 49 48 52 54 58 63 64 61 52 53 54 55 56 51 48 43 45 54 53 52 48 53 61 66 68 65 62 60 58 57 57 50 44 45 48 47 42 29 20 18 19 23 23 24 27 30 29 30 30 30 30 33 35 35 35 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 3 3 3 3 4 3 2 2 2 3 4 4 4 4 4 4 3 3 3 4 4 4 4 5 5 6 5 5 6 6 4 4 6 5 5 6 7 7 2 3 17 25 11 9 8 9 10 11 12 15 18 18 16 17 19 20 23 23 20 24 25 29 29 27 27 27 28 32 37 41 42 41 40 39 40 39 34 35 36 37 38 40 42 42 43 40 39 42 43 43 45 48 48 46 45 49 50 47 42 40 49 53 39 23 25 31 36 38 41 43 39 43 45 46 47 49 51 49 47 49 51 55 61 64 62 59 55 48 48 52 58 64 67 64 63 63 65 68 68 62 60 61 60 58 58 52 51 54 59 59 56 59 63 67 65 55 52 49 48 48 46 47 48 48 42 41 53 53 53 55 58 61 62 65 62 59 56 52 53 51 51 52 52 51 44 36 29 26 28 27 28 24 23 27 30 29 28 27 27 29 35 35 34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 3 3 3 3 4 3 3 3 3 2 1 2 2 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 6 4 4 5 4 5 7 7 7 5 16 23 14 6 5 8 11 12 9 10 14 19 22 21 16 22 22 23 22 20 22 21 26 27 25 29 29 32 36 41 43 37 37 33 33 35 35 32 33 34 35 36 39 40 41 40 39 39 41 42 42 43 45 48 49 42 40 40 39 38 43 54 59 56 46 20 28 28 30 35 43 44 47 47 46 45 49 55 44 39 39 41 48 56 61 63 62 58 58 53 54 61 70 69 66 65 63 63 67 64 60 61 62 61 60 59 54 53 58 65 70 68 68 65 59 55 50 47 46 46 47 44 45 47 53 59 58 58 53 53 56 58 58 59 59 56 51 49 47 53 53 52 53 53 49 39 30 24 21 19 17 18 21 24 26 27 30 31 32 34 32 31 30 31 31 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 3 4 4 4 3 4 3 3 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 4 4 4 5 8 8 8 7 16 30 27 13 6 7 10 11 10 11 15 20 22 20 16 15 16 19 22 26 24 23 22 23 27 31 33 34 36 37 34 28 28 28 27 27 26 30 31 32 34 36 40 40 41 40 39 38 38 41 43 43 42 44 46 43 42 41 37 36 43 54 57 56 62 26 30 27 23 29 43 48 52 51 46 46 52 50 41 36 34 38 45 52 58 62 61 61 55 52 55 61 69 67 69 74 68 55 60 57 56 57 56 51 27 49 56 58 63 67 71 73 72 66 56 50 41 42 44 45 48 49 52 57 61 61 60 58 50 49 52 55 56 56 55 51 48 50 49 56 59 58 59 57 44 35 28 18 16 16 17 20 23 25 25 25 25 25 25 27 28 28 29 30 30 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 3 3 3 4 4 4 3 3 3 3 2 2 2 3 2 2 3 3 3 3 3 3 3 3 3 3 3 4 3 4 3 4 4 4 4 4 4 4 5 6 9 9 10 7 7 15 18 10 7 9 11 13 13 14 14 16 20 20 20 16 13 12 18 21 22 21 20 20 22 27 29 30 31 31 30 25 25 26 26 25 22 23 25 31 36 38 41 41 41 40 38 36 40 43 47 47 41 43 43 37 33 35 34 38 41 45 46 46 61 43 33 23 20 30 39 46 53 54 49 53 56 52 49 45 34 36 43 49 55 59 62 59 58 57 58 62 66 66 68 77 81 61 52 44 46 47 37 27 22 43 56 60 65 65 67 69 67 62 50 42 40 43 46 47 49 52 57 60 60 56 57 59 59 57 55 56 60 57 53 51 53 56 57 63 68 69 70 58 39 29 24 16 16 17 19 21 24 25 23 22 22 21 21 24 26 29 29 27 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 4 4 5 5 4 4 3 3 3 2 2 2 2 2 2 2 2 2 2 2 3 3 2 2 2 3 3 3 3 3 4 4 4 4 4 4 5 7 8 8 8 8 9 8 5 4 5 6 8 10 11 12 10 11 11 13 16 15 15 13 8 5 11 15 19 20 20 19 21 24 25 26 27 27 27 25 24 24 25 24 20 20 26 34 40 42 45 44 44 44 43 37 42 47 50 49 43 44 43 30 16 25 32 37 39 40 39 37 51 53 46 36 32 32 33 43 53 56 54 51 50 49 50 51 41 35 40 46 49 50 61 61 63 65 63 63 64 65 66 72 77 64 43 37 38 36 24 18 20 42 63 62 64 56 60 64 63 58 49 44 43 45 47 49 52 55 58 60 60 58 65 69 68 65 63 63 63 59 56 54 55 59 62 64 62 52 39 32 27 22 19 14 14 17 20 21 22 22 21 21 21 24 28 28 29 29 27 20 19 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 3 3 3 4 5 5 5 4 4 4 3 3 2 2 2 1 1 1 1 2 2 2 2 3 3 3 3 2 2 3 3 3 3 4 4 5 4 4 4 6 7 5 4 6 7 9 10 10 8 8 7 7 9 12 10 12 11 12 17 17 13 12 9 7 10 6 13 16 18 19 18 19 22 22 23 23 23 23 22 21 22 25 24 24 25 29 34 41 41 43 44 46 45 40 38 45 52 51 44 42 44 43 27 8 41 27 29 35 40 37 34 39 50 54 44 39 37 37 44 52 56 55 52 51 52 54 57 47 43 40 37 38 47 50 57 62 66 63 62 64 65 65 66 66 67 51 41 39 33 30 34 40 49 56 52 50 50 54 58 59 54 48 46 47 49 49 51 54 57 57 57 54 60 64 65 63 63 61 62 61 58 57 55 55 59 62 60 37 23 22 24 22 15 14 12 13 16 18 18 19 19 19 20 22 23 24 24 24 24 22 14 12 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 3 3 4 2 24 15 6 4 3 3 3 3 2 2 2 1 1 1 1 1 2 2 2 2 2 3 3 3 2 2 3 3 3 4 4 6 7 4 4 5 7 8 7 8 8 8 8 8 9 4 3 5 6 8 11 14 12 10 9 9 12 16 19 22 24 32 26 29 23 16 19 19 20 23 26 28 30 30 25 20 20 28 34 34 28 28 33 37 35 37 41 44 45 46 40 41 49 56 53 48 42 43 41 30 13 41 27 20 30 47 43 32 36 46 52 52 56 44 40 43 51 56 58 59 59 60 60 64 61 53 44 40 37 39 33 28 34 48 44 55 65 66 63 62 60 59 54 51 49 36 41 44 46 49 51 50 45 48 53 51 53 45 41 42 46 50 55 55 57 57 57 56 57 56 55 54 52 52 52 56 61 61 61 54 55 54 51 45 20 12 9 10 12 10 10 12 13 14 14 16 15 16 17 19 19 18 18 17 16 16 14 11 10 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 3 3 4 3 3 4 4 3 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 3 3 3 2 2 2 3 3 4 4 5 7 6 3 5 6 7 8 7 7 7 6 3 1 2 1 1 3 6 11 15 16 17 18 18 11 10 14 23 35 41 30 24 21 19 19 19 20 22 30 36 37 37 37 32 27 25 30 30 32 28 27 32 37 32 34 38 39 41 45 43 47 53 58 54 53 43 37 34 27 27 26 26 27 37 64 65 40 33 40 42 54 59 54 46 44 53 57 58 57 55 55 64 72 71 65 60 55 36 49 40 26 27 17 12 44 68 70 63 53 56 58 60 60 56 48 45 43 43 40 39 39 44 53 55 37 32 26 30 41 50 54 60 58 55 53 48 42 46 45 43 45 45 45 48 54 60 71 63 56 53 46 34 25 16 13 12 13 13 11 10 11 12 12 12 13 13 14 16 17 14 13 13 12 12 12 11 10 9 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 3 3 4 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 1 1 1 1 3 3 2 2 2 3 3 3 4 4 4 5 6 4 5 7 7 6 5 3 3 4 3 0 0 2 4 6 9 14 17 18 19 21 22 19 17 13 15 26 31 24 24 23 23 28 23 22 27 31 33 36 35 34 31 27 25 27 30 30 26 23 28 36 32 31 32 35 39 41 42 44 50 54 57 52 39 25 18 32 53 57 52 44 47 75 89 58 40 59 61 58 57 55 50 46 63 67 71 62 43 49 60 70 73 73 75 67 47 46 39 31 39 40 29 34 49 77 61 59 61 62 62 63 57 53 46 39 34 33 39 43 50 56 55 37 34 34 36 43 60 61 61 60 56 45 32 34 38 37 31 34 38 43 49 55 63 52 52 52 46 35 25 22 18 13 13 17 15 10 9 10 11 10 12 12 12 12 13 13 11 10 10 10 10 10 9 9 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 3 3 3 4 4 3 3 2 1 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 3 5 3 4 4 5 4 4 6 7 4 3 4 5 6 3 4 6 6 4 1 1 2 4 9 13 16 18 18 18 18 20 16 18 19 19 22 20 24 28 30 31 35 31 31 31 33 37 38 35 31 28 26 26 30 31 26 20 17 23 31 31 28 29 36 39 40 39 41 48 49 57 51 34 17 13 37 17 37 63 61 54 71 84 79 74 88 86 61 48 47 49 51 61 69 75 65 28 33 54 64 66 66 73 61 50 45 43 43 46 45 47 33 21 82 66 66 66 61 56 58 55 52 46 42 47 55 53 52 54 52 47 49 49 48 52 57 64 66 64 61 59 45 33 37 40 30 15 17 30 43 53 58 53 50 46 42 39 28 23 20 16 12 9 9 6 7 10 10 10 9 8 8 9 9 10 10 9 8 8 8 8 8 8 7 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 3 3 3 3 3 3 2 1 3 10 3 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 2 3 4 5 5 5 4 5 4 3 11 8 4 2 1 5 8 4 8 15 15 8 7 6 3 2 8 12 14 14 16 18 17 13 14 14 15 17 18 18 21 27 30 32 35 36 37 37 37 37 38 34 30 28 27 27 32 32 29 24 20 21 24 27 30 29 35 38 38 38 38 39 50 55 51 42 36 32 36 19 23 45 61 59 61 63 66 72 79 86 65 47 43 42 47 53 66 76 70 26 45 51 53 57 64 69 62 59 54 44 44 44 42 47 41 11 76 82 69 51 43 47 50 52 53 53 52 53 57 57 56 55 53 51 60 63 60 59 52 54 55 54 52 53 42 35 30 22 17 19 26 35 44 47 44 43 43 41 37 34 25 19 15 13 11 4 10 16 18 13 11 9 7 6 6 7 6 7 8 7 7 7 7 7 7 7 7 6 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 3 3 3 3 3 2 3 3 3 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 2 3 3 3 3 6 5 5 5 4 15 12 10 8 3 6 7 5 6 10 16 15 10 6 3 3 7 9 11 12 13 16 17 16 13 10 9 14 13 15 20 24 27 30 35 36 36 35 33 37 37 35 33 32 27 29 34 36 33 25 18 19 23 29 34 36 32 35 39 41 43 42 54 56 53 55 62 62 44 29 20 18 53 59 58 56 57 63 71 75 64 51 47 45 38 46 64 78 73 34 36 41 48 60 67 68 50 41 50 47 34 34 42 50 44 6 25 22 29 49 35 34 40 47 50 51 55 57 55 52 52 57 57 58 62 61 53 53 45 46 47 46 48 44 34 30 28 22 22 23 29 38 43 43 38 38 39 37 28 26 19 15 13 11 3 4 22 33 34 24 11 8 4 2 3 5 5 6 6 6 5 6 7 6 6 7 7 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 3 3 3 3 2 1 1 1 1 2 1 1 1 1 1 0 1 1 1 1 2 2 1 1 1 1 2 2 3 3 2 2 3 5 5 5 7 3 13 14 13 12 6 8 7 5 5 5 5 8 6 5 5 5 7 9 11 14 15 15 12 13 15 15 14 13 14 16 19 23 28 35 37 38 38 36 36 40 38 36 35 34 34 33 36 39 36 21 19 17 20 28 39 47 37 36 40 42 49 46 54 55 50 53 55 60 58 39 11 15 45 53 55 56 58 60 68 73 70 65 61 64 54 54 65 79 70 51 47 53 62 67 66 64 45 27 30 36 34 39 45 48 42 26 10 22 54 52 44 41 41 42 44 44 57 51 46 50 49 56 58 60 59 54 51 44 37 35 35 38 44 41 35 29 19 18 24 25 31 39 37 43 43 47 50 43 24 21 14 9 8 6 2 3 1 6 18 19 6 3 2 2 3 4 4 5 5 5 6 6 6 6 6 6 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 1 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 1 2 2 2 3 3 3 3 3 3 3 2 2 1 1 1 1 2 1 1 1 1 1 0 1 1 1 1 1 2 2 2 2 1 0 1 2 3 3 2 1 3 4 4 4 7 7 7 6 7 11 12 9 7 5 4 4 3 11 12 9 6 8 9 10 13 17 19 17 12 12 12 11 11 11 16 18 19 26 29 31 35 39 39 36 36 38 39 38 34 32 36 35 41 51 49 32 26 19 16 23 38 52 45 38 40 46 48 48 51 51 43 44 48 54 63 56 7 26 41 47 50 52 57 64 69 70 70 75 74 76 73 68 70 77 73 72 71 68 71 67 61 55 47 41 46 46 40 35 33 38 33 33 16 18 52 51 47 46 47 45 41 37 48 52 53 50 42 43 50 54 55 57 51 44 41 41 39 40 45 44 43 42 42 38 35 33 35 39 35 38 40 39 34 30 19 14 10 8 7 2 2 1 0 0 2 1 1 1 1 2 3 4 4 4 5 5 5 5 5 5 5 5 4 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 3 4 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 3 3 3 3 3 3 2 2 2 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 2 1 1 2 3 2 1 1 3 4 4 3 7 9 9 8 7 6 6 7 8 9 9 9 8 6 5 6 5 6 8 10 9 7 9 10 10 13 18 20 18 14 14 17 16 14 15 19 21 22 26 27 32 37 39 36 31 35 38 38 37 37 35 39 39 41 52 53 54 40 24 17 19 37 56 63 57 42 45 52 50 48 50 48 44 46 51 61 64 8 30 32 34 48 51 58 66 70 67 58 49 56 65 67 67 70 73 72 77 81 76 71 61 54 50 49 55 30 22 20 17 12 19 23 28 19 10 46 51 46 46 48 43 40 40 52 60 60 61 62 58 57 60 62 52 42 37 40 45 41 40 42 42 43 43 44 43 42 43 42 33 31 29 28 28 26 27 15 11 11 11 7 3 2 1 0 0 1 1 1 1 1 2 3 4 4 4 5 4 5 5 4 5 5 4 4 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 2 3 3 3 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 1 1 1 1 2 3 1 3 2 2 3 5 3 15 22 20 11 6 6 5 6 7 8 8 6 6 5 5 6 3 4 5 4 3 8 8 9 9 11 16 15 16 15 17 19 15 18 20 25 28 27 27 29 33 37 35 30 28 32 34 32 32 38 37 38 37 39 54 45 49 44 32 23 28 33 31 34 48 47 49 57 56 53 56 59 50 49 54 62 63 40 42 29 20 44 49 57 67 69 59 56 16 38 54 58 60 68 62 66 74 76 75 58 49 48 55 63 60 40 29 24 20 14 14 21 29 32 28 37 44 46 46 42 37 40 48 56 59 60 60 64 62 62 67 65 42 32 33 38 40 39 37 37 40 45 49 46 46 47 48 42 24 22 23 22 17 17 13 13 15 14 8 3 1 1 0 1 1 1 1 1 1 1 3 4 4 4 3 4 4 4 5 4 4 4 4 4 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 1 1 1 1 2 3 2 3 3 2 2 5 6 11 20 26 20 8 8 7 5 6 7 7 8 7 7 9 8 6 6 6 6 6 7 10 11 12 14 20 22 22 22 22 23 21 24 27 30 34 33 33 35 38 41 40 36 32 32 32 31 30 38 34 33 34 32 32 36 45 49 42 28 34 35 26 20 35 44 48 56 60 59 66 67 52 47 57 66 67 69 62 41 21 44 42 50 66 80 77 36 31 39 49 54 57 60 57 60 66 66 63 60 52 50 56 60 48 39 35 31 22 18 19 25 33 38 37 32 26 34 44 39 43 43 49 60 69 58 60 63 62 57 56 49 39 31 26 30 35 36 37 39 41 41 44 40 38 38 38 29 17 13 12 10 6 7 12 16 19 15 5 2 1 0 0 1 1 1 1 1 1 2 3 2 2 3 3 4 4 4 4 5 5 5 4 4 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 1 1 2 3 2 6 6 6 5 2 4 6 6 8 12 14 14 11 7 4 4 8 8 8 9 10 10 8 5 8 10 7 8 10 13 15 15 16 22 27 28 28 25 27 24 28 32 35 37 37 36 34 36 42 40 33 31 32 34 31 33 42 33 26 36 36 31 32 42 54 52 40 41 39 28 14 14 37 44 47 49 52 63 66 57 53 62 71 71 78 74 54 27 45 44 49 56 58 63 48 36 30 36 56 58 57 58 60 58 57 58 59 59 58 61 60 51 38 28 27 26 17 23 32 38 39 39 45 51 47 41 45 50 51 51 52 53 51 56 58 54 43 36 33 31 29 31 35 37 38 40 42 41 26 25 22 18 20 20 21 15 8 7 6 7 14 17 19 16 8 3 0 0 0 0 1 1 1 1 1 1 1 1 1 2 3 3 4 4 5 5 5 5 5 5 4 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 1 1 6 7 7 5 1 4 4 5 5 5 5 4 3 3 3 2 6 6 6 7 9 11 10 10 8 6 7 9 11 14 16 17 17 23 25 27 28 27 29 30 33 35 37 39 38 35 33 34 43 43 43 38 34 34 30 35 44 38 25 27 42 34 29 36 52 57 53 52 41 23 26 33 39 37 36 43 48 53 60 68 74 72 72 72 77 76 60 35 42 49 55 57 58 66 60 27 4 8 32 52 60 62 64 65 64 67 69 66 64 66 59 44 34 40 39 29 28 29 30 26 27 24 22 24 36 52 56 56 51 42 39 29 39 48 49 47 35 28 27 29 33 42 50 50 50 48 40 31 17 12 11 12 5 4 9 9 7 7 5 12 16 19 23 8 3 1 0 1 1 1 1 1 1 1 1 1 1 1 2 3 3 4 5 5 5 6 6 6 6 5 5 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 3 6 6 5 4 4 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 6 8 9 10 10 10 10 10 11 9 11 13 15 17 18 20 23 25 25 28 27 29 32 33 35 38 36 33 30 31 37 37 41 42 37 35 28 32 43 50 44 13 42 39 30 33 45 49 53 57 51 33 30 18 14 14 19 46 48 48 53 63 73 71 75 73 71 70 57 47 47 53 59 66 70 71 39 16 12 9 9 47 68 67 72 73 71 70 69 67 69 69 54 30 13 12 25 36 34 28 27 21 20 18 20 26 37 64 68 67 65 62 51 39 41 46 45 42 31 30 29 27 31 44 59 64 62 55 36 24 20 17 10 9 9 5 3 5 7 7 15 21 22 23 22 6 1 1 2 3 2 1 1 2 2 2 1 1 1 2 3 4 4 5 5 5 6 7 7 7 6 5 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 4 15 17 12 6 2 1 2 2 2 4 4 4 3 3 4 5 7 8 8 7 7 8 9 9 8 8 9 12 13 12 12 13 15 17 17 19 22 25 28 26 25 26 29 30 32 34 33 31 30 30 30 33 40 44 38 29 25 29 35 40 50 28 41 39 31 35 37 36 44 53 55 50 34 29 30 24 15 41 47 49 52 58 65 64 69 72 69 67 55 50 50 53 60 67 76 74 68 55 28 38 46 66 75 72 81 77 76 74 72 73 74 70 52 35 33 31 25 31 34 32 32 33 33 41 52 57 62 72 76 76 73 58 36 29 31 33 27 28 27 29 31 35 38 46 50 50 46 34 28 18 12 11 10 10 7 4 4 5 6 13 19 23 26 21 11 4 1 0 1 2 2 3 3 2 3 2 1 1 1 2 3 4 5 5 5 6 7 8 8 6 5 4 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3 3 1 1 13 13 6 3 2 2 2 3 5 4 4 4 5 6 7 8 8 8 7 5 4 5 5 5 7 10 12 13 12 12 13 15 19 20 20 20 22 20 21 23 24 25 28 30 32 32 30 28 27 32 31 35 42 38 26 24 27 31 40 47 32 35 37 29 32 34 32 36 45 51 58 49 49 44 25 14 34 41 45 51 59 60 63 69 71 67 65 57 59 61 60 64 67 71 75 75 71 72 80 86 89 85 79 84 85 82 80 79 81 77 64 44 30 24 29 38 39 36 36 45 49 50 53 58 67 70 72 69 63 55 38 30 26 30 46 17 13 18 29 37 42 46 48 47 43 31 16 15 10 7 10 10 8 3 1 3 5 6 14 20 23 22 15 5 1 0 0 2 3 3 3 3 3 2 1 1 1 2 3 3 4 5 5 5 5 6 7 6 5 4 3 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 3 1 9 10 3 2 2 4 4 4 4 6 6 6 6 8 8 8 9 9 9 8 6 8 8 8 8 13 14 12 13 14 15 16 16 18 20 22 22 19 19 20 20 20 24 27 29 29 28 27 27 26 26 29 33 35 29 29 29 28 38 49 38 30 29 30 33 37 35 34 40 46 52 52 54 48 22 17 28 34 39 48 54 60 69 78 78 71 69 66 73 79 76 76 69 68 70 72 74 76 83 89 90 84 82 80 79 80 80 79 79 69 55 45 33 45 56 61 59 55 50 55 56 58 63 67 67 70 67 61 53 47 40 30 19 13 15 7 5 16 36 43 42 46 48 44 27 11 8 7 6 7 8 6 2 1 2 3 5 6 12 18 18 5 2 0 0 1 5 6 7 6 5 4 3 1 0 0 0 2 3 4 4 5 5 5 5 5 5 5 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 2 1 1 3 5 4 4 5 5 6 6 5 6 7 8 9 8 9 10 10 11 10 10 8 7 10 13 13 13 14 15 16 17 15 16 18 19 18 18 18 18 18 18 19 22 24 25 25 24 21 21 25 28 27 28 31 32 31 30 35 48 44 31 22 21 34 39 37 35 39 44 45 47 52 51 17 17 24 32 38 42 52 64 71 75 82 76 78 78 83 94 93 92 81 70 66 68 79 68 74 90 89 80 80 79 77 74 73 75 60 41 30 26 52 64 67 66 66 61 56 60 64 68 72 73 73 70 67 62 42 28 19 12 5 2 2 15 16 23 39 40 46 50 39 13 4 5 7 7 6 6 17 20 11 1 3 4 5 5 6 7 16 3 0 0 0 1 9 11 10 9 7 4 4 1 0 0 1 2 3 3 4 4 4 4 4 4 4 4 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 1 1 9 7 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 1 1 1 1 1 1 1 2 1 2 2 2 2 2 2 3 2 2 2 2 3 3 2 3 13 10 9 9 8 7 10 10 10 7 5 6 7 8 9 10 11 12 11 11 10 9 7 9 10 11 13 13 13 16 16 15 18 21 18 17 17 17 18 19 15 15 17 17 19 24 22 22 26 27 26 28 28 27 28 32 31 41 46 47 46 32 34 34 33 33 40 42 44 48 52 53 32 26 28 34 38 42 56 70 78 80 82 83 84 85 90 101 99 95 91 90 90 82 82 58 63 89 90 87 85 81 74 66 64 66 51 35 27 40 53 60 63 62 60 58 58 65 71 74 74 71 56 45 42 44 27 14 13 18 23 26 25 14 15 34 35 32 32 29 19 7 6 7 8 7 5 11 19 11 1 2 4 4 3 3 3 3 15 6 0 0 0 6 13 14 12 9 6 5 2 0 0 0 1 2 2 3 3 4 4 3 3 3 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 1 1 1 2 1 1 2 2 2 2 3 3 3 3 2 2 2 4 4 4 26 19 15 12 9 8 9 10 10 9 9 8 7 8 8 9 11 12 12 12 12 11 7 8 10 11 12 12 12 14 16 19 21 21 21 19 17 17 23 17 12 11 13 17 16 24 23 24 33 35 31 27 26 28 26 30 28 31 36 36 41 41 33 27 27 34 37 43 45 46 51 54 45 39 41 46 46 51 58 73 89 94 88 89 93 96 98 100 101 100 99 99 95 90 83 79 81 86 87 93 90 81 69 56 55 57 60 57 48 53 46 44 49 60 62 62 64 69 73 79 73 53 39 33 23 30 22 23 20 6 4 25 34 21 9 31 34 35 23 5 4 12 8 10 15 16 19 25 31 21 0 2 2 3 3 4 5 4 16 10 0 1 7 16 15 11 7 4 3 1 0 0 0 1 2 2 3 3 3 3 3 3 3 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 3 2 1 1 1 2 2 1 3 5 1 13 21 19 12 10 8 10 11 11 11 9 9 9 9 9 9 9 9 11 13 14 13 10 10 9 10 11 12 12 13 14 15 16 15 15 15 14 16 24 18 14 14 14 17 20 25 24 22 33 36 39 35 30 29 30 29 32 36 36 34 39 39 34 29 28 33 37 43 47 48 47 53 58 60 58 58 57 61 68 80 97 100 101 104 105 105 104 108 110 110 109 102 95 89 78 73 74 75 79 86 88 86 81 61 52 51 53 57 58 54 36 34 59 72 74 72 73 76 75 86 68 56 42 14 14 15 19 19 14 6 7 8 6 4 5 41 46 31 9 3 8 7 9 23 36 35 34 35 24 3 0 1 1 3 5 7 9 16 12 5 4 7 21 21 12 4 1 0 0 0 0 0 0 1 1 2 2 3 3 3 3 2 2 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 1 1 1 1 1 1 2 2 2 2 2 3 2 2 1 0 2 3 2 4 6 3 2 15 19 13 10 10 11 11 11 11 12 11 10 10 11 9 9 9 9 11 14 16 15 11 7 7 11 12 12 13 14 12 12 13 15 15 12 14 25 25 23 23 22 24 20 29 36 23 31 32 40 43 39 25 15 23 31 33 36 35 36 36 34 33 31 33 36 41 46 48 48 22 30 49 58 63 65 71 80 90 105 106 109 108 106 109 110 119 122 122 119 109 95 81 74 71 65 60 65 73 81 86 81 60 53 53 52 51 41 34 40 59 68 69 76 78 77 77 78 83 80 66 36 13 25 20 12 7 7 7 7 7 5 4 6 28 29 15 3 3 6 7 25 39 48 44 25 12 5 0 0 0 2 5 9 14 14 10 4 2 5 26 26 17 7 0 0 0 0 0 0 0 0 1 1 1 2 2 2 2 2 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 9 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 3 2 3 6 7 7 11 13 11 9 9 9 10 9 8 9 10 10 10 11 16 11 8 9 10 10 10 11 11 9 6 9 12 13 14 15 16 11 12 16 17 12 16 25 29 28 29 29 30 25 29 35 17 18 28 38 43 41 28 22 26 31 35 36 35 34 32 31 31 32 36 38 40 42 42 20 15 19 29 62 69 77 85 91 94 101 113 118 117 114 117 120 129 132 124 112 97 90 79 68 66 70 66 66 72 82 88 77 65 58 56 53 52 37 31 42 66 66 77 79 75 71 66 68 74 77 68 49 22 23 19 12 8 8 8 8 8 7 8 12 12 10 6 4 11 8 28 33 8 46 31 9 13 41 47 10 2 5 9 15 18 14 6 1 3 24 27 19 8 2 0 0 0 0 0 0 0 0 1 1 1 2 2 3 3 2 1 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 2 2 2 2 2 2 2 2 2 2 1 1 0 1 2 2 2 2 3 4 5 5 7 8 8 8 9 10 10 10 10 9 9 9 10 10 9 10 15 9 6 7 8 7 10 11 10 10 11 9 11 14 16 16 17 13 11 12 14 12 17 21 24 26 29 26 28 27 29 42 42 26 24 30 35 32 18 14 15 22 34 38 39 37 34 32 31 34 37 41 45 44 30 15 26 45 48 71 77 81 86 91 91 109 125 132 130 126 129 131 135 134 118 97 85 83 74 60 63 70 68 65 67 74 73 72 70 67 65 63 56 48 48 56 60 78 90 88 78 69 66 67 78 89 84 58 23 11 10 9 7 8 8 9 10 13 19 18 16 13 8 8 12 9 5 5 14 46 37 30 36 52 52 19 6 10 15 20 16 12 15 27 31 27 19 9 1 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 3 2 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 7 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 3 3 3 3 2 1 1 0 0 0 0 0 1 2 4 2 3 5 6 6 7 8 9 9 9 10 10 10 10 10 8 7 8 10 11 10 9 11 8 5 6 6 7 7 7 8 10 12 10 11 13 14 17 18 21 20 13 14 19 16 15 17 24 25 22 24 27 27 28 34 23 16 19 29 26 19 15 16 25 38 45 46 43 40 40 37 37 37 39 45 50 22 12 25 48 61 74 82 89 96 100 106 126 136 136 133 131 133 134 133 126 107 92 83 82 83 81 79 68 63 63 67 74 75 75 68 62 66 70 63 60 62 64 68 90 101 98 84 70 70 73 86 99 66 45 21 11 12 10 8 8 8 10 13 13 14 15 13 7 4 4 4 3 3 4 46 59 58 44 14 10 5 4 12 17 21 17 12 7 8 28 29 19 8 1 0 0 0 0 0 0 0 0 0 0 0 1 2 2 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 1 1 0 1 2 2 2 3 3 3 3 2 0 0 0 1 1 1 1 1 2 2 5 3 5 7 7 7 8 8 9 10 10 10 10 10 10 8 9 9 9 10 10 10 7 10 8 5 6 7 7 8 8 9 10 13 13 13 14 15 17 19 24 26 22 8 15 17 16 18 24 18 16 20 24 24 25 23 18 13 14 24 24 26 19 10 26 40 45 44 42 40 39 40 42 43 44 48 58 60 52 41 49 73 85 92 97 102 110 119 132 141 141 134 134 135 137 137 125 107 102 98 94 91 79 74 69 64 60 59 59 59 60 65 71 74 71 66 64 66 72 77 96 104 92 77 74 73 79 91 95 79 36 16 14 13 10 8 6 8 11 17 18 18 15 10 3 2 2 2 2 3 5 44 59 46 18 1 0 2 10 21 23 14 7 4 8 25 22 16 7 1 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 2 2 2 2 3 3 2 2 2 2 1 1 0 0 1 2 2 1 1 1 3 5 6 6 7 7 8 8 8 8 9 10 10 11 11 10 9 9 12 11 10 9 8 8 6 7 8 7 6 6 7 8 9 10 12 13 14 14 15 17 18 18 18 18 20 11 10 12 15 16 21 14 11 11 13 18 23 27 29 25 9 14 17 22 26 30 39 47 48 47 44 35 32 37 45 54 59 62 65 71 72 64 62 87 100 104 106 112 116 123 137 150 151 144 143 141 139 135 117 105 104 105 101 89 67 53 52 58 54 52 51 51 55 58 56 62 64 64 64 68 71 79 90 94 83 80 81 84 93 104 97 41 17 16 14 12 9 6 5 9 22 24 28 27 21 11 6 4 3 6 12 9 9 39 44 20 0 0 3 8 15 22 13 3 8 19 23 30 23 10 1 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 1 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 2 1 1 1 0 0 0 0 0 1 2 2 1 1 2 3 7 7 7 7 8 8 8 9 9 9 10 10 10 11 11 10 10 12 11 10 9 7 7 6 7 8 7 7 6 10 13 13 11 13 13 12 13 13 15 16 16 15 12 9 9 10 13 17 13 17 13 10 10 12 16 16 20 27 32 18 10 12 20 29 37 40 52 59 55 43 35 32 37 49 64 75 78 83 89 93 93 89 99 106 107 108 112 117 127 144 164 160 158 152 145 137 123 106 99 97 95 92 85 32 10 23 50 49 48 44 44 46 43 48 57 61 62 67 71 76 84 91 93 88 86 86 91 100 107 55 22 13 13 7 5 3 2 4 11 13 29 39 39 32 14 14 15 14 11 14 10 41 44 19 0 1 5 12 20 23 9 8 11 21 31 26 21 10 2 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 2 1 1 1 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 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 2 2 1 0 0 0 0 0 1 1 0 1 1 2 2 2 3 5 7 7 7 8 8 8 8 9 9 8 8 11 11 11 11 11 13 10 9 9 8 6 7 6 6 8 8 7 7 10 14 14 13 13 14 14 14 13 14 14 14 15 8 8 9 10 12 15 15 15 13 12 15 6 10 11 13 20 31 32 19 14 19 28 37 46 51 52 51 46 42 39 44 56 79 85 90 96 102 104 102 102 105 107 107 109 114 123 138 159 175 175 163 152 143 134 119 105 105 105 92 85 74 35 13 21 27 40 41 39 40 41 42 48 56 61 64 68 71 77 86 94 89 87 83 82 82 83 86 57 45 42 29 16 4 1 2 6 19 18 23 29 32 30 22 17 15 13 5 4 39 49 30 0 0 3 9 15 16 11 21 24 26 25 23 15 8 2 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 1 2 2 1 1 1 0 1 1 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 1 9 3 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0 0 0 0 0 0 1 1 0 1 2 2 2 3 5 7 7 9 9 8 9 10 9 9 8 6 6 10 11 15 22 11 11 11 11 10 8 7 7 6 6 7 9 10 11 14 16 15 13 14 15 15 14 11 16 14 8 10 11 15 15 13 11 14 15 15 13 11 11 4 7 9 10 11 7 14 17 19 24 32 42 50 53 51 50 45 44 48 56 68 95 106 110 111 112 110 108 105 108 114 118 122 131 144 160 175 181 175 162 149 139 128 123 119 116 109 97 88 77 48 25 21 28 38 38 38 41 44 47 53 60 65 65 67 71 76 80 81 77 75 76 74 66 51 57 54 54 54 41 27 13 9 14 16 18 17 16 16 20 23 20 17 15 8 32 42 40 32 21 0 0 2 3 3 1 0 2 11 17 14 10 5 1 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 2 2 2 2 1 1 1 0 0 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 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 3 4 5 7 7 8 8 9 8 10 11 10 9 8 5 6 9 10 11 11 9 9 11 13 13 10 8 7 7 6 6 8 8 9 11 14 15 14 13 12 11 10 8 11 9 6 6 6 9 11 11 11 12 15 15 13 9 8 6 8 8 7 7 12 15 18 23 33 43 47 48 45 37 40 44 55 66 74 82 99 113 112 104 108 103 105 107 114 127 130 136 144 156 167 168 180 176 165 152 140 130 129 127 118 101 90 81 72 62 50 32 46 44 41 43 46 54 59 61 64 67 62 62 67 73 75 75 67 69 70 62 48 42 44 48 48 33 29 25 20 16 18 18 9 4 1 1 1 3 3 12 26 16 24 10 1 4 7 10 14 18 18 16 11 11 12 12 10 6 2 1 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 3 2 2 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 5 6 7 7 8 8 9 10 8 11 12 11 11 10 7 7 9 10 9 8 8 10 13 14 15 13 11 9 9 9 11 10 9 9 11 11 16 17 16 13 8 8 6 6 8 7 2 2 3 5 10 13 15 15 13 9 4 7 9 8 7 8 9 19 25 28 30 34 44 46 43 39 42 42 56 78 95 98 92 103 106 102 102 110 113 115 120 128 138 138 143 152 161 164 179 182 179 171 161 150 146 142 132 118 102 91 77 65 57 55 56 53 52 54 56 61 66 68 69 72 72 67 70 76 78 79 72 62 56 54 48 44 46 43 39 36 30 22 21 21 21 23 11 12 13 4 8 6 9 12 19 28 28 27 25 26 26 26 25 26 25 20 15 14 11 10 10 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 3 2 2 2 1 1 1 1 1 0 0 1 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 7 7 7 8 8 9 11 10 9 11 12 13 12 11 8 9 11 11 7 7 10 13 14 11 15 17 17 15 13 10 12 10 8 7 8 10 10 13 16 17 9 7 15 24 27 29 10 11 11 9 14 15 16 15 10 7 13 10 10 10 11 14 16 22 29 34 36 34 37 39 39 39 35 36 58 85 99 108 98 99 105 111 109 115 117 124 133 141 143 145 150 154 157 163 179 183 181 175 168 161 155 144 130 118 100 86 72 61 56 59 61 60 61 65 67 76 78 77 75 78 76 70 66 65 63 71 68 50 38 42 40 41 40 37 34 26 22 22 24 25 26 27 22 21 20 23 26 27 27 28 28 23 25 25 25 25 24 24 23 22 19 14 12 10 9 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 3 2 3 3 2 2 2 1 1 0 0 1 1 1 3 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 4 5 6 8 8 8 8 8 9 9 10 8 10 11 12 12 10 8 9 11 13 12 11 11 11 11 11 15 18 19 17 12 12 12 11 11 12 13 13 11 12 15 18 11 11 18 29 45 55 41 34 29 21 15 16 17 15 10 10 22 26 28 29 26 18 20 26 32 39 38 37 35 35 38 38 34 39 56 73 82 103 100 98 106 124 124 125 128 133 138 145 143 148 153 155 159 163 173 177 176 169 162 160 155 143 125 112 91 74 64 61 61 64 64 66 70 65 62 61 66 71 71 75 70 61 54 53 55 63 56 44 36 36 34 29 27 28 21 12 15 18 18 18 20 23 22 20 20 23 23 24 24 24 23 19 21 23 24 24 22 20 19 16 12 10 8 6 5 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 2 2 2 2 3 2 3 2 1 1 1 1 0 0 0 2 3 3 4 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 4 5 7 8 8 8 8 8 8 9 9 10 9 8 9 9 11 10 8 9 11 12 13 12 10 9 10 12 12 13 13 11 9 10 10 9 7 6 5 11 12 11 11 16 14 16 21 29 38 38 34 33 27 15 15 17 17 15 12 9 13 13 16 25 30 22 26 31 35 38 35 33 31 31 33 32 43 58 67 75 96 107 111 113 116 130 131 134 137 138 139 138 139 142 145 148 155 158 163 167 167 158 157 155 151 143 124 108 96 80 68 69 68 65 63 67 75 65 64 65 64 60 64 64 60 56 54 55 55 52 46 40 36 27 22 16 12 10 9 10 13 14 13 16 15 17 18 18 23 23 22 21 20 19 18 17 19 21 21 18 20 20 17 13 9 7 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 1 1 1 2 2 3 2 2 2 1 1 1 0 0 0 1 2 3 4 4 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 3 5 7 8 8 8 7 7 8 8 8 9 10 10 9 8 7 8 9 9 9 10 9 10 11 13 13 11 12 11 12 13 12 9 8 8 7 4 4 6 10 13 14 11 10 13 16 16 16 14 12 12 14 18 16 14 15 16 15 13 12 13 14 14 13 32 30 32 37 40 35 33 31 30 32 33 35 61 77 83 94 107 115 122 127 129 141 139 132 131 135 136 137 137 137 138 143 149 153 156 160 163 158 153 149 145 139 125 114 99 88 83 75 75 70 68 74 69 64 56 53 54 47 62 57 53 51 54 54 53 50 44 36 34 20 16 17 16 11 8 10 14 15 11 16 15 15 16 17 16 15 15 17 19 18 19 19 19 19 17 20 30 28 17 13 10 6 4 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 1 2 2 2 2 1 1 1 1 1 0 1 0 0 2 4 5 5 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 3 3 4 5 7 8 8 8 7 7 8 8 8 9 10 9 9 8 9 9 9 9 9 9 8 6 7 8 7 9 10 9 10 13 14 11 14 17 17 14 8 7 9 11 11 10 8 10 13 13 11 12 13 14 16 16 17 14 14 16 16 13 13 18 21 18 19 21 25 31 39 44 39 36 35 33 30 38 52 58 65 83 99 112 121 127 132 133 140 141 140 140 139 139 139 138 138 143 142 140 141 147 155 155 158 155 150 147 140 124 107 96 89 61 59 68 71 64 40 31 48 54 50 52 51 50 48 48 55 51 54 55 51 39 26 26 24 28 31 26 24 20 19 21 21 18 17 15 14 15 15 17 18 19 20 21 20 20 20 21 24 24 32 30 21 16 14 10 6 4 2 2 2 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 2 2 2 1 1 1 0 0 1 0 1 1 1 2 5 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 4 5 5 5 5 6 7 7 7 7 7 7 8 8 8 10 10 10 8 9 9 9 10 10 8 6 7 8 7 5 5 6 7 9 10 13 12 15 18 17 13 14 12 9 9 10 10 9 9 10 9 8 11 14 15 15 13 16 14 14 16 17 15 15 17 17 18 18 22 28 35 39 39 36 34 33 35 37 42 44 50 64 79 100 120 131 134 136 138 148 153 152 148 147 145 144 142 144 158 154 144 140 148 161 163 165 165 163 158 140 125 117 117 111 66 67 68 69 70 53 49 56 61 60 39 40 38 40 50 63 55 56 54 43 30 32 32 35 36 34 31 44 51 47 32 24 24 21 18 19 20 18 18 21 24 24 24 23 24 26 29 29 37 41 35 25 19 14 9 6 5 4 3 3 2 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 2 5 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 3 1 1 1 1 1 2 1 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 4 5 5 5 4 5 5 6 7 7 7 7 8 8 8 9 10 11 11 9 9 9 9 9 10 6 6 7 10 11 10 10 9 8 9 8 11 13 14 14 14 12 13 11 10 15 14 12 7 5 6 6 8 11 12 13 14 12 14 14 15 19 23 23 20 17 15 16 15 22 28 29 29 29 33 29 23 34 31 29 32 41 57 82 111 133 143 143 146 148 163 175 174 161 158 156 151 146 146 165 164 160 162 170 170 174 175 178 178 164 139 128 127 125 114 66 57 56 55 59 64 63 56 43 37 30 35 38 45 56 57 45 40 41 43 44 44 45 45 43 37 36 40 39 36 33 29 29 25 23 23 23 24 24 26 30 29 28 29 31 33 30 31 39 42 39 34 19 12 9 7 5 4 4 4 3 2 1 1 2 2 2 2 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 2 4 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 2 4 4 5 2 1 0 0 0 0 0 0 0 0 1 1 2 2 2 2 3 4 5 5 5 5 3 3 4 6 7 7 8 9 9 9 9 9 10 12 12 9 10 10 9 7 7 5 6 9 10 11 11 9 9 9 10 8 8 9 10 11 11 11 12 9 7 16 15 10 6 4 7 9 11 13 13 14 12 11 16 19 19 20 22 26 27 20 10 15 17 19 20 19 21 24 35 40 34 23 20 21 27 39 59 87 120 139 144 152 160 165 169 170 170 170 170 166 160 154 153 165 172 175 174 175 175 175 184 191 180 151 136 125 113 105 91 63 48 44 46 49 57 60 50 32 25 23 23 27 35 40 36 34 38 40 40 51 49 49 53 51 39 36 34 32 30 27 34 29 24 25 26 27 29 30 31 34 35 35 36 37 34 31 32 35 38 36 23 17 13 10 8 6 6 5 4 3 2 2 2 3 3 2 2 2 2 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 2 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 2 1 2 7 3 2 3 0 0 0 0 0 1 1 1 1 1 1 2 2 4 5 5 4 5 5 5 6 7 7 7 8 8 8 9 9 10 11 12 13 11 11 10 8 5 4 4 6 8 9 9 8 9 9 10 12 8 6 5 5 8 9 10 11 10 7 8 7 8 8 7 9 10 11 11 12 12 13 13 21 29 28 24 15 15 17 16 13 13 15 17 16 14 14 25 32 32 31 24 24 26 28 34 58 89 113 127 142 152 160 165 167 167 167 166 167 168 167 161 160 168 175 176 176 179 182 188 194 191 159 140 127 108 82 67 64 60 55 52 54 54 52 43 28 15 16 18 22 25 27 29 34 38 37 39 54 55 49 46 50 42 37 36 35 33 31 30 27 25 27 29 33 33 35 41 43 42 42 41 41 41 36 32 31 31 30 27 24 21 18 14 13 14 10 7 5 3 3 2 2 3 3 3 3 2 1 0 1 2 2 2 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 4 5 5 5 4 4 6 7 7 7 7 6 6 7 9 10 9 10 11 12 12 12 12 10 7 10 8 6 7 9 9 11 10 9 10 13 15 12 7 5 11 20 10 8 10 12 12 12 12 12 11 9 9 8 8 11 17 17 14 17 24 29 28 28 18 11 12 15 16 16 16 16 18 18 17 21 24 30 32 29 27 25 24 31 52 77 93 108 138 146 154 160 164 168 176 170 165 165 167 163 166 176 184 185 191 192 193 195 194 181 148 133 114 85 54 41 50 59 64 65 67 66 63 53 39 30 31 36 37 33 32 37 44 43 32 29 26 36 39 36 40 33 32 35 35 20 26 30 28 25 26 29 33 35 38 42 44 42 42 43 44 44 37 32 31 32 30 29 28 28 26 22 22 25 22 14 7 5 4 3 3 4 4 4 3 2 2 2 2 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 2 2 1 2 2 2 2 1 1 2 3 3 2 2 4 5 6 6 6 6 7 8 7 7 6 5 5 7 9 10 10 11 13 14 12 12 14 13 12 12 8 6 6 7 11 13 11 10 10 14 15 17 13 8 14 26 16 9 7 6 8 10 10 10 7 6 6 8 9 11 14 15 14 16 18 17 16 16 15 13 8 12 14 23 26 18 20 20 22 22 25 34 34 29 24 20 18 29 45 61 80 99 119 128 138 149 159 176 173 169 168 169 168 164 168 183 202 208 206 207 198 182 168 161 144 120 92 66 52 53 58 66 76 75 75 77 74 64 55 55 65 66 54 41 52 45 37 40 54 45 45 34 23 24 36 35 37 40 35 27 26 24 23 22 22 25 30 36 40 41 41 44 47 47 45 43 38 35 34 33 32 32 33 34 35 34 33 32 29 23 16 10 7 7 5 8 6 4 4 3 3 3 3 3 3 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 2 2 2 2 3 4 2 4 6 7 6 7 8 8 9 8 8 7 6 6 6 7 9 10 10 11 12 14 12 14 14 14 15 12 8 7 7 6 10 13 13 11 9 11 10 14 15 12 9 8 5 4 4 9 11 11 11 10 7 6 6 9 11 11 15 15 11 10 13 12 10 8 7 7 9 28 34 41 46 39 27 28 28 26 27 30 27 23 22 27 32 46 52 62 79 82 91 99 115 138 159 159 165 173 180 186 182 179 181 193 213 216 199 185 176 168 163 158 139 111 82 65 80 90 92 91 89 85 83 82 78 63 61 63 72 77 66 51 66 62 50 40 53 42 35 34 37 39 39 31 30 40 30 27 25 24 24 22 25 30 36 41 42 42 43 46 49 49 48 42 38 37 35 34 35 35 36 37 37 37 36 36 35 34 30 24 22 23 17 22 15 7 5 4 5 4 4 4 3 3 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 3 3 2 2 3 3 4 3 4 7 7 7 7 8 9 10 9 8 8 8 8 7 6 6 8 9 10 11 12 12 10 9 8 8 9 9 8 7 6 3 7 12 13 10 9 8 8 8 7 9 8 7 7 7 7 11 10 8 8 9 11 9 9 11 11 12 16 19 18 14 15 18 15 12 10 9 9 14 20 21 16 45 48 42 34 26 13 25 29 29 30 39 51 55 60 69 76 74 77 87 106 132 135 149 162 171 180 192 199 201 201 202 198 190 183 181 178 174 171 158 140 117 92 86 91 93 93 92 94 92 87 81 76 71 50 52 67 79 78 65 63 63 59 53 49 40 35 34 35 33 28 18 18 38 29 26 26 26 27 27 33 38 41 44 45 47 46 46 48 47 46 43 40 37 38 35 36 37 37 37 37 37 37 39 40 43 45 48 50 51 43 36 22 9 6 6 6 6 5 6 5 4 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 3 3 3 3 2 3 3 3 4 4 3 7 8 8 8 8 9 9 9 7 6 7 7 8 8 7 4 6 8 9 9 9 9 6 4 2 4 5 5 4 3 3 7 9 14 17 16 18 13 10 11 17 6 3 4 5 6 10 9 7 7 7 7 8 10 11 10 8 9 11 15 18 18 18 18 15 12 12 14 13 13 15 15 17 14 21 29 33 27 6 15 31 41 37 48 49 58 68 72 68 67 73 86 100 105 125 144 153 161 178 191 198 198 198 202 187 190 194 191 185 181 167 154 141 127 115 112 113 112 105 104 98 92 90 89 89 83 66 60 66 77 71 64 59 53 45 40 32 30 32 36 35 32 23 18 24 29 26 25 26 27 29 30 35 39 39 40 42 44 46 47 46 44 42 40 37 35 34 35 37 39 39 40 39 38 38 41 43 51 57 61 64 66 58 41 22 10 8 8 7 7 7 7 5 5 5 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 1 1 1 2 2 3 3 3 3 3 3 3 3 4 5 7 10 11 10 9 8 9 9 9 8 6 6 6 7 9 8 5 3 5 7 7 11 10 8 6 3 4 4 4 3 2 3 9 13 17 19 19 24 22 14 10 19 9 3 1 3 6 9 11 10 8 7 7 10 12 13 9 3 7 9 10 10 10 11 12 10 7 9 10 9 10 13 17 15 21 24 24 25 21 15 13 17 23 21 45 51 58 67 67 67 67 71 78 82 92 107 121 137 157 175 180 182 182 183 187 183 194 198 185 181 164 153 146 137 121 123 124 119 111 106 97 90 88 88 90 92 82 70 64 62 61 66 66 59 51 54 50 38 36 52 49 37 31 27 27 29 25 23 27 32 27 29 32 35 35 34 37 41 43 43 44 42 38 36 34 36 33 33 35 38 44 45 45 44 43 42 42 41 45 48 48 58 61 55 40 20 12 12 11 9 9 8 7 6 6 6 4 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 3 3 3 3 3 3 2 2 3 3 7 16 12 12 12 10 9 10 8 9 9 8 7 7 6 7 10 9 8 4 2 3 4 10 11 12 12 9 9 10 9 6 4 7 12 13 13 13 11 16 21 19 12 14 12 11 10 9 11 12 10 8 6 5 6 11 14 13 10 6 9 10 10 9 6 7 7 7 5 5 11 14 12 9 14 14 15 15 16 22 25 26 21 20 30 38 41 48 57 62 68 68 67 66 67 67 72 82 98 124 152 158 164 171 178 185 189 192 178 155 155 152 151 147 140 128 101 97 96 96 93 93 84 85 84 77 73 75 72 69 68 64 67 69 64 57 67 64 48 42 53 53 35 29 28 27 29 25 24 27 32 35 28 28 31 33 33 33 36 38 39 40 41 37 35 33 32 35 32 33 36 42 51 52 51 50 49 46 45 44 44 43 40 44 46 42 33 20 20 17 14 12 10 9 8 8 8 7 5 3 2 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 3 3 3 2 2 2 2 1 2 4 6 6 12 10 10 10 10 9 8 8 8 9 8 7 6 5 7 10 9 10 10 10 8 5 7 10 12 12 11 11 11 11 11 9 11 13 13 13 12 9 10 14 18 20 15 12 12 11 10 9 10 8 6 4 3 4 9 12 13 10 11 12 10 6 6 6 8 9 9 8 8 10 9 16 37 38 28 26 25 20 18 22 25 26 26 30 31 41 52 58 61 67 68 67 65 62 64 61 69 91 119 131 135 152 171 180 183 182 171 158 159 162 157 147 134 117 100 81 74 68 60 54 76 79 75 70 63 63 68 74 76 67 70 78 79 73 67 69 53 44 46 48 52 53 50 41 30 27 24 28 33 36 46 33 29 30 32 35 35 31 32 42 41 39 36 35 33 31 35 35 38 44 49 48 50 51 52 52 51 48 47 46 43 40 38 36 33 28 28 24 20 18 15 12 11 10 10 10 8 6 4 3 3 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 3 6 8 8 9 10 9 9 10 11 9 7 8 9 10 8 5 4 5 8 9 10 10 9 9 7 4 4 6 6 7 5 6 8 11 11 10 9 7 8 11 9 8 8 9 12 10 10 10 10 10 11 11 10 8 7 3 3 5 8 11 13 10 11 11 10 9 8 9 9 9 11 13 14 13 10 6 32 28 31 42 40 21 23 27 28 28 33 34 41 54 66 71 70 70 71 72 66 66 65 70 84 104 101 117 141 161 167 163 159 154 152 154 144 133 118 101 87 78 76 75 74 72 70 63 56 53 53 55 59 64 70 73 69 70 79 82 79 82 70 53 45 48 55 39 42 40 31 27 26 25 29 35 38 43 35 32 34 34 37 39 40 41 41 40 38 37 36 35 33 33 36 41 44 44 44 45 49 52 53 53 53 50 45 42 41 39 36 33 32 30 27 25 22 18 16 15 14 13 13 11 9 7 6 5 5 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 2 2 2 2 2 2 2 3 3 5 5 7 10 10 8 16 17 11 12 11 8 7 7 6 10 8 5 3 4 6 7 8 11 16 16 10 5 3 5 8 11 10 9 10 10 10 9 9 9 11 10 9 9 8 6 6 10 11 12 11 11 12 13 14 15 20 10 5 4 4 4 4 2 4 8 9 5 6 8 10 9 20 16 13 15 18 13 8 7 14 29 39 33 30 28 32 32 32 37 47 61 78 81 80 79 77 72 66 61 56 58 76 75 82 101 124 138 146 147 147 148 147 118 107 98 88 79 77 77 83 90 91 85 74 67 65 63 59 61 70 77 75 75 75 87 91 87 86 90 81 71 62 39 49 40 33 30 29 30 31 31 35 43 40 37 36 36 38 37 38 41 44 43 47 44 44 42 41 41 40 39 40 42 42 43 41 42 46 49 51 51 51 50 44 43 43 41 39 38 36 33 31 29 26 23 22 21 19 16 17 16 13 11 9 8 6 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 6 7 7 8 9 9 8 9 8 7 7 8 7 7 6 3 7 6 3 2 4 4 5 7 9 13 16 16 11 8 10 16 16 14 12 10 9 8 8 7 6 6 9 10 10 9 8 8 10 12 13 14 10 8 7 8 12 20 16 13 16 27 30 14 5 5 8 7 3 6 8 7 17 23 15 10 13 19 22 24 22 23 30 28 36 39 42 46 47 29 36 60 72 81 85 86 84 79 68 62 49 33 23 21 52 71 90 110 114 123 124 122 119 117 81 67 68 73 71 73 78 86 96 108 98 85 80 76 68 65 74 85 91 96 98 92 94 95 92 102 89 75 64 46 37 34 37 38 35 34 34 36 41 48 43 48 47 45 44 42 42 42 43 46 48 48 48 46 45 46 49 49 47 44 45 43 42 42 44 44 46 46 48 48 45 44 44 44 43 42 41 39 36 35 34 31 30 29 27 24 21 22 20 17 15 14 12 9 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 1 2 2 2 2 2 3 3 5 7 7 8 8 9 8 8 8 7 7 8 8 7 6 5 6 4 2 1 2 4 6 8 9 9 12 14 14 14 16 15 12 11 10 9 8 8 8 8 7 5 6 7 7 7 7 5 6 10 14 14 10 8 7 6 8 17 21 21 23 33 29 21 12 3 1 9 11 11 10 8 22 17 12 10 10 14 15 18 24 30 30 29 29 32 36 26 21 28 47 64 74 81 83 84 82 76 63 56 41 25 24 18 41 63 78 88 91 92 92 87 75 73 56 52 56 62 64 73 83 95 109 117 99 93 91 84 82 80 82 80 79 79 90 95 94 91 98 93 66 50 45 39 37 37 40 43 40 40 40 44 48 46 48 51 53 54 52 44 45 43 41 44 45 44 46 48 49 51 54 54 51 50 48 46 42 41 43 44 45 45 47 49 46 45 45 45 44 43 42 41 39 37 39 38 38 36 33 30 28 26 24 22 21 19 15 11 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 1 1 2 1 1 1 1 1 1 2 2 2 2 3 3 5 7 8 7 7 8 8 8 9 7 5 5 6 7 7 8 8 6 4 4 4 6 8 10 10 7 7 7 7 7 9 10 10 11 11 8 8 7 7 7 6 7 8 8 9 9 8 5 5 7 10 11 10 7 5 6 9 9 14 16 15 22 20 19 15 9 10 6 9 12 10 14 13 13 11 10 8 9 11 14 18 24 23 26 27 26 26 28 31 37 47 65 70 71 75 78 78 73 66 53 40 36 29 22 36 55 63 68 70 72 74 75 63 55 57 64 67 70 77 85 91 97 104 107 106 109 111 108 100 91 82 78 78 55 66 75 74 73 88 62 44 38 35 36 37 39 43 47 45 45 46 48 48 44 49 52 52 51 49 43 43 45 44 51 52 52 52 53 54 55 57 58 57 55 52 50 46 43 43 45 46 46 45 45 46 46 46 46 45 44 44 43 42 42 43 44 44 42 39 36 33 30 29 29 25 21 17 13 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 2 3 3 3 4 4 5 6 7 8 8 8 8 9 5 5 3 4 8 9 8 8 7 7 8 6 7 8 9 10 11 9 8 8 7 9 9 11 13 11 10 9 7 7 7 6 7 9 9 9 9 10 8 4 2 2 2 1 3 6 5 2 4 5 4 4 12 18 19 15 18 21 19 19 20 8 6 9 10 10 9 8 5 6 11 14 21 22 23 24 25 22 28 34 41 52 63 64 68 72 75 77 73 68 61 57 54 50 28 30 50 55 56 60 67 72 75 69 64 66 69 74 80 84 84 88 100 103 87 76 75 77 87 83 76 72 70 71 65 72 76 70 76 65 52 44 36 34 37 38 40 42 46 46 48 50 49 52 52 52 53 54 51 50 45 45 50 52 57 58 56 56 57 58 59 61 61 61 58 55 52 49 45 47 50 52 51 50 49 48 48 48 49 47 46 46 46 46 45 48 48 47 46 43 39 36 35 37 33 28 23 18 14 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 3 3 3 3 3 4 4 4 5 8 8 8 8 8 9 9 8 6 5 9 10 7 6 7 7 7 8 8 8 9 10 11 11 11 11 12 13 12 12 13 12 11 10 8 6 3 6 6 7 6 5 8 11 9 4 4 5 5 3 2 4 5 4 10 17 18 6 5 11 17 18 4 20 25 33 43 24 11 6 7 12 16 14 12 11 12 10 17 16 15 18 21 19 24 30 39 56 55 64 68 70 72 73 71 71 70 59 58 55 44 38 42 49 48 58 66 64 60 65 67 61 54 80 80 77 75 76 83 81 82 81 74 70 78 75 69 66 74 86 78 76 83 68 59 50 50 51 36 38 40 40 41 43 52 49 50 51 48 53 55 55 55 54 56 56 55 56 58 59 58 57 57 56 58 59 61 62 61 61 60 57 56 55 54 55 58 60 58 56 54 53 53 53 51 49 49 50 51 48 48 50 50 48 48 45 42 40 40 39 35 30 25 20 16 13 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 1 2 2 2 3 3 3 3 3 4 4 4 4 5 7 8 8 8 7 7 9 8 6 5 13 10 7 6 6 7 7 8 8 9 10 9 9 9 8 8 10 12 13 13 12 11 10 9 8 6 6 7 9 10 9 7 9 11 9 2 2 15 30 33 21 9 10 12 21 31 31 24 11 5 10 19 17 19 16 14 18 26 16 11 12 15 18 14 13 15 21 20 17 16 17 20 24 19 24 35 43 45 55 63 67 68 69 70 71 74 77 65 62 60 55 46 40 41 50 63 71 68 61 62 62 60 55 77 79 80 83 87 88 89 83 74 75 76 81 82 76 73 80 85 77 72 80 62 53 51 53 53 46 46 45 43 41 41 43 46 49 52 52 56 58 59 60 59 59 61 63 65 65 60 58 59 59 58 61 62 62 63 63 63 62 61 61 63 63 63 64 66 64 61 58 57 56 53 52 51 51 52 53 53 53 52 51 52 50 48 46 45 43 39 35 31 27 22 20 12 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 1 1 2 2 2 3 4 4 3 4 4 4 4 4 5 6 8 10 10 7 7 8 6 6 12 23 13 8 8 9 8 8 8 9 9 9 10 9 9 10 9 12 13 13 13 10 9 8 8 7 5 6 6 7 9 10 9 12 14 13 9 2 9 17 15 4 14 19 16 15 20 19 21 12 5 5 12 12 13 16 19 17 13 12 14 15 18 16 13 12 14 20 24 25 27 30 32 35 31 33 38 40 47 54 61 67 70 73 75 77 79 80 66 57 56 52 43 43 46 54 61 64 61 62 63 66 75 85 88 91 92 87 83 80 77 77 84 83 81 90 90 78 72 74 78 77 73 65 63 62 60 56 53 56 52 46 44 44 45 44 46 50 57 58 60 60 60 60 64 67 67 67 67 66 64 68 71 62 69 67 66 67 66 64 65 67 67 67 68 68 68 68 68 67 64 63 62 57 53 53 52 49 49 48 51 52 52 55 55 52 50 49 47 44 40 36 32 28 25 23 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 4 4 4 4 3 3 4 4 4 4 6 7 8 8 7 6 7 6 7 13 6 7 9 9 9 8 9 9 9 9 9 9 10 10 11 11 11 12 12 12 9 9 8 7 6 2 2 4 7 11 11 11 15 18 19 19 10 15 20 17 14 15 18 20 22 24 20 15 11 8 4 5 5 7 12 18 17 14 14 15 17 21 17 12 11 18 24 24 26 30 35 30 33 36 38 40 45 49 55 63 69 75 77 79 82 82 72 56 47 43 40 40 44 51 53 51 59 55 65 73 74 76 92 88 80 79 77 74 76 79 83 83 82 77 76 77 76 68 74 82 84 74 69 68 64 60 58 61 61 56 50 50 45 43 46 52 55 58 59 59 60 62 64 66 69 70 69 69 70 70 73 82 78 76 75 73 70 67 67 70 73 74 74 73 72 71 70 70 68 67 66 61 57 52 53 52 45 44 47 51 54 55 53 53 53 52 50 47 43 40 36 31 29 28 25 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 3 3 3 3 4 3 3 3 3 4 5 5 7 6 5 5 5 7 8 7 7 16 15 15 12 8 7 7 9 11 11 11 10 11 12 12 10 9 9 9 9 10 8 9 9 9 9 9 7 6 8 14 14 14 16 18 19 23 20 19 17 15 12 8 6 9 14 20 19 18 16 13 13 10 8 8 12 19 17 16 15 15 18 24 25 20 13 9 9 16 23 27 30 18 20 23 24 27 37 44 53 63 70 72 74 77 81 80 63 52 47 44 44 43 48 53 52 41 42 39 39 49 81 80 92 77 58 58 62 67 71 75 80 82 82 80 79 81 77 72 73 75 76 71 71 67 63 64 67 66 63 60 59 55 47 43 45 51 57 59 60 62 65 68 67 70 73 72 71 73 78 84 89 77 78 79 77 72 69 70 71 71 71 70 71 71 69 69 70 69 68 67 66 65 60 54 53 54 48 49 47 47 52 53 53 54 53 51 48 46 43 39 35 33 32 30 27 23 18 5 0 3 4 4 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 3 3 3 3 3 3 4 4 3 3 3 4 6 5 5 5 4 3 3 5 7 9 9 15 17 15 11 7 6 6 8 9 9 9 10 11 12 11 10 9 9 8 8 8 8 9 9 10 10 8 7 7 9 14 15 14 14 15 13 17 17 14 8 5 4 4 4 4 5 10 12 15 18 17 18 12 8 9 14 18 17 16 14 13 14 21 25 25 19 20 12 13 18 21 22 18 17 22 33 21 34 44 50 57 64 65 70 76 81 73 59 51 46 44 44 45 50 55 54 40 37 38 35 37 67 65 63 59 57 56 61 69 75 79 80 67 67 68 70 73 70 69 70 72 73 73 76 73 68 69 71 70 70 69 69 63 52 45 45 51 59 60 60 62 67 69 71 74 75 75 75 84 88 87 86 79 78 78 78 73 71 71 72 71 68 68 68 68 67 68 71 69 68 68 67 68 66 60 55 56 52 48 44 44 52 54 53 52 50 48 47 44 42 39 35 35 33 31 25 8 4 1 8 18 16 12 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 3 4 4 4 3 3 3 3 3 4 4 4 4 5 5 8 7 9 12 11 10 10 11 10 7 7 7 7 8 8 7 8 8 8 9 6 7 8 7 7 8 8 10 11 10 10 10 9 7 7 9 12 14 14 12 11 10 9 9 8 8 10 10 9 7 7 5 6 11 15 17 17 20 19 16 13 16 17 17 17 16 13 12 17 21 22 21 26 24 18 16 29 33 28 25 30 33 31 34 38 45 54 54 61 68 76 82 70 58 49 43 43 40 42 47 51 50 40 41 34 24 33 39 37 32 39 62 63 66 69 71 72 69 69 69 69 70 67 68 70 72 70 65 72 74 73 74 72 72 75 80 78 76 72 61 52 50 55 60 61 61 63 69 74 74 73 74 72 76 84 88 88 79 77 73 71 75 72 69 69 70 70 69 70 72 73 72 73 73 71 70 68 67 68 68 65 61 61 53 48 45 43 49 50 50 50 48 47 45 43 40 38 38 36 34 32 28 4 13 22 22 17 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 2 3 3 2 3 3 1 1 3 4 3 3 3 2 3 3 4 5 8 8 9 9 6 6 8 8 6 5 7 8 9 8 8 7 7 6 5 5 5 5 6 7 7 8 9 11 12 12 12 11 10 8 7 9 9 10 10 8 8 7 5 5 5 5 5 8 9 11 13 13 13 15 16 16 17 16 16 15 13 15 12 13 15 17 14 13 14 16 17 14 17 22 24 22 30 38 34 32 38 39 37 35 36 42 49 52 58 64 69 62 53 45 38 37 43 47 48 48 47 45 44 48 41 23 21 32 40 43 49 60 59 58 57 57 58 59 59 60 63 68 81 81 75 75 75 74 74 77 83 82 79 77 81 86 84 84 82 73 63 60 59 64 67 65 64 65 69 71 72 78 74 75 77 81 81 78 80 79 73 73 71 69 68 69 69 75 78 77 76 75 75 76 75 71 69 68 67 66 67 66 61 51 44 44 46 48 48 49 50 51 45 43 42 39 39 38 37 36 34 31 21 23 25 22 16 11 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 1 2 2 3 2 2 3 3 2 3 4 4 2 2 3 3 3 1 1 1 3 6 7 9 10 10 10 10 9 8 7 5 6 8 8 7 8 7 6 6 6 5 4 4 4 6 8 9 9 10 12 12 11 10 8 8 9 9 10 10 9 8 4 5 5 6 5 2 6 8 8 8 9 12 15 16 15 15 15 13 11 11 11 10 10 12 13 14 14 14 13 13 13 14 13 12 13 15 18 23 25 27 30 34 37 36 30 24 31 33 46 56 60 56 43 37 33 33 38 42 45 45 43 45 49 52 56 56 45 49 69 66 53 56 55 53 54 57 59 63 65 65 67 73 68 84 80 70 70 71 72 70 70 81 86 86 87 90 92 89 87 84 79 77 78 72 75 81 76 77 74 72 73 73 76 74 73 74 76 75 75 77 77 72 68 71 71 70 72 76 78 79 80 79 77 77 78 78 76 71 69 67 66 66 63 57 50 46 46 48 48 49 50 52 58 51 45 43 43 40 39 39 38 35 30 28 26 24 21 15 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 1 3 3 3 3 3 3 4 2 3 3 3 4 4 2 2 3 3 2 3 5 7 7 7 9 10 9 8 8 6 6 5 5 5 5 4 4 6 6 6 7 8 7 6 7 8 10 12 11 10 11 11 11 10 9 12 10 6 11 12 12 14 13 6 3 4 6 6 5 9 9 8 7 5 10 11 12 13 16 17 15 13 13 14 14 13 13 14 15 14 14 14 14 15 15 8 6 10 16 13 20 23 22 21 18 28 36 41 45 44 47 54 61 58 47 43 41 41 39 36 35 35 37 42 52 56 57 59 61 51 54 54 52 53 60 57 61 66 69 70 72 73 74 75 81 80 72 66 65 65 67 69 71 74 77 84 87 91 98 100 90 85 83 82 83 86 84 86 94 93 91 91 87 76 71 72 73 73 72 73 72 72 74 74 71 71 72 72 73 75 76 76 77 79 79 80 80 80 79 78 72 68 67 67 65 60 54 50 50 49 50 51 51 50 55 63 59 50 49 44 43 43 41 37 33 31 29 26 23 18 12 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 1 1 2 3 3 3 3 3 4 4 4 3 2 2 1 1 1 1 2 2 5 7 9 9 9 7 5 5 4 3 5 5 4 1 3 3 2 1 5 6 7 8 8 7 7 8 9 10 13 11 10 11 11 11 9 11 11 10 10 7 7 10 16 20 17 14 14 14 14 12 11 9 8 8 10 10 11 12 14 16 17 16 14 13 13 12 12 13 15 15 13 12 12 12 16 15 12 14 20 27 22 21 22 22 23 26 31 33 34 33 35 41 51 57 46 43 43 43 42 44 39 40 43 47 54 53 56 55 51 49 52 53 52 52 53 52 62 70 73 72 71 69 71 76 81 73 65 60 59 59 62 66 71 77 71 76 76 80 87 97 99 90 83 82 82 87 90 92 95 100 99 98 96 88 66 67 70 73 74 73 73 72 70 67 67 67 69 71 71 73 74 76 76 76 77 77 78 80 81 78 78 74 71 70 67 63 59 55 51 52 52 53 54 54 52 56 61 61 56 48 46 45 44 41 36 34 32 29 25 21 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 1 2 2 3 3 3 4 4 4 4 4 2 1 2 2 1 2 2 2 3 6 8 9 10 10 10 9 8 7 6 5 4 2 0 2 3 3 3 7 7 8 8 7 7 7 9 10 10 13 11 11 12 11 8 7 8 9 9 5 5 6 10 16 18 20 18 16 15 13 11 9 7 7 9 11 11 12 13 14 15 15 14 12 9 9 10 11 13 16 17 14 12 12 13 18 18 19 17 13 25 25 24 26 32 36 30 29 32 32 30 36 46 50 42 38 37 36 36 37 40 47 49 48 48 46 44 42 41 41 45 49 49 51 54 57 61 68 70 65 62 58 59 63 68 72 66 57 52 52 55 62 65 63 57 59 58 61 67 75 88 89 80 70 69 72 77 83 88 91 89 86 85 86 85 69 66 68 71 72 73 74 73 69 65 68 68 69 72 75 73 75 76 76 78 78 78 79 80 80 78 77 75 72 67 66 63 60 57 54 54 53 54 56 56 54 55 56 54 53 48 46 44 42 38 36 35 31 26 23 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 3 3 3 4 3 2 2 2 1 2 2 2 1 4 6 7 8 8 7 6 6 6 4 1 0 0 0 0 0 2 4 5 8 7 7 7 7 9 10 11 13 14 11 11 11 11 11 11 10 7 7 13 13 12 8 7 11 11 12 11 11 12 11 10 8 7 7 11 11 10 11 12 13 15 14 13 11 11 12 12 12 13 16 19 17 15 14 17 19 20 24 30 31 32 27 24 27 38 31 28 29 31 33 35 40 48 50 38 36 34 34 36 41 45 49 49 47 47 43 38 33 32 38 47 50 50 47 42 51 62 65 63 54 59 59 58 58 62 67 60 54 52 52 55 57 57 57 56 51 49 50 55 61 72 72 69 66 67 68 73 76 75 76 73 74 76 78 83 73 69 69 69 68 69 71 71 71 70 68 69 73 78 79 76 77 79 80 80 79 80 80 79 79 77 75 73 70 69 68 65 62 60 59 58 58 60 60 57 54 53 53 49 48 46 44 42 40 37 36 34 29 25 23 9 1 3 0 3 2 3 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 3 1 1 2 3 3 3 6 5 4 3 4 2 1 4 6 5 5 5 4 4 5 4 1 0 0 0 0 0 1 2 4 5 6 6 6 7 9 12 10 10 12 14 11 10 9 10 10 11 12 9 7 7 9 11 9 6 7 10 11 10 10 9 11 10 9 8 8 9 9 9 10 13 14 14 13 12 12 12 13 14 14 12 16 18 19 18 14 16 18 20 22 23 23 29 31 29 26 28 23 22 24 30 33 33 39 43 40 36 36 36 37 40 45 48 50 50 47 47 45 40 37 36 42 46 45 40 39 68 73 64 55 53 48 51 52 52 56 63 63 57 50 49 51 56 57 54 57 57 51 49 50 55 58 62 63 63 64 64 66 69 71 69 69 68 70 73 73 73 70 68 67 67 69 70 71 70 69 73 75 74 76 82 79 78 79 80 80 80 79 78 78 76 75 74 71 67 66 66 66 64 62 61 60 59 59 61 59 55 53 52 51 49 46 43 41 39 38 38 37 33 29 27 24 21 20 19 6 9 6 1 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 3 6 4 3 2 1 0 0 2 3 3 4 2 6 7 7 7 4 2 3 4 4 3 3 4 4 4 0 0 0 0 0 0 0 1 2 3 4 5 6 7 10 10 12 10 9 11 11 11 9 8 8 7 9 10 10 10 10 5 6 9 12 13 13 14 13 11 10 10 11 12 10 8 7 7 6 7 13 14 13 12 10 9 10 12 13 12 12 16 19 20 19 14 12 13 15 17 19 20 26 31 31 25 24 24 25 27 32 32 35 38 37 32 32 34 38 41 42 44 45 45 45 46 49 50 51 52 51 54 53 51 50 47 46 41 42 48 49 47 41 36 37 45 49 51 51 47 51 54 57 56 53 53 50 52 52 49 54 57 59 60 63 65 69 73 74 73 69 68 68 69 67 71 70 69 68 68 66 68 70 70 70 71 72 72 74 81 84 80 78 79 78 77 78 78 76 77 73 71 70 68 63 57 58 60 59 58 59 58 58 58 56 54 53 52 51 50 48 45 43 42 39 39 38 36 32 29 27 24 22 22 19 15 12 10 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 2 4 5 5 4 3 2 1 0 3 5 5 5 7 7 7 6 6 5 4 3 3 5 4 3 1 1 0 0 0 0 1 1 0 0 0 2 4 4 5 7 9 9 11 12 11 11 10 10 10 8 7 7 6 8 9 10 9 6 6 7 9 13 15 12 10 10 9 9 10 11 12 10 4 4 4 5 7 11 13 13 12 9 10 9 10 11 10 11 13 17 21 22 17 12 12 15 15 18 22 27 31 27 25 26 25 26 33 35 38 36 31 26 25 33 38 42 45 44 39 37 36 36 38 42 47 55 63 61 61 60 55 44 40 40 40 41 41 40 41 46 53 46 38 36 45 53 49 52 51 49 46 44 48 52 56 55 46 52 54 55 57 61 63 65 67 66 64 63 61 61 63 65 70 71 72 73 71 67 65 65 67 70 71 73 74 76 83 82 79 78 79 78 77 77 76 74 73 70 68 67 68 60 54 52 53 54 54 57 59 59 55 53 52 51 51 50 47 46 44 43 41 41 39 37 34 31 29 27 25 24 20 18 15 14 12 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 3 5 6 6 5 5 5 4 4 5 5 6 6 6 6 5 4 3 3 3 2 3 2 2 1 0 0 0 0 0 0 0 0 1 1 1 2 5 5 8 11 11 10 10 9 9 10 10 8 8 8 7 7 9 9 10 12 11 11 11 12 11 10 11 8 7 7 6 6 9 10 9 9 5 6 6 6 10 12 13 14 14 11 9 9 10 10 9 9 13 16 19 23 22 20 19 20 17 26 29 30 30 28 28 27 27 29 29 33 37 40 42 43 36 38 41 41 44 43 42 43 43 37 37 38 42 48 51 49 49 48 40 47 47 39 34 37 41 38 36 36 38 37 35 35 35 37 41 41 41 42 41 44 49 57 61 57 47 47 48 50 53 58 59 58 56 53 53 53 53 55 59 69 78 82 83 84 80 72 66 63 66 67 71 74 76 80 81 78 75 75 78 74 73 73 73 70 69 67 63 59 61 57 52 50 51 51 53 56 59 60 55 51 50 50 49 49 47 46 45 43 43 41 38 35 32 30 29 27 26 23 19 15 14 14 12 9 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 3 5 6 8 8 8 7 5 4 2 1 0 1 6 2 0 1 1 0 1 1 1 2 0 0 0 1 1 0 0 0 0 0 1 4 5 4 3 4 5 8 9 8 9 9 9 9 9 10 7 5 5 6 5 9 11 11 12 14 11 11 11 9 8 8 8 7 7 5 6 8 9 9 8 8 8 9 9 10 11 13 15 14 9 8 8 8 7 8 10 13 16 17 21 22 22 21 20 22 27 31 33 32 32 31 30 30 31 35 32 33 38 37 40 38 40 42 43 39 38 39 40 40 40 43 43 41 42 41 38 36 34 36 36 38 39 40 42 43 44 38 28 29 29 27 28 31 33 36 35 35 35 37 42 48 54 61 68 54 48 45 46 47 55 59 56 50 49 49 51 55 59 63 72 76 80 88 86 82 73 65 65 66 69 76 79 72 69 72 71 68 69 74 75 75 74 72 68 66 62 56 54 54 54 53 50 50 52 53 55 57 54 52 50 49 49 48 49 49 48 46 46 45 41 37 34 32 31 30 29 26 22 18 15 14 14 13 12 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 2 2 3 5 5 7 7 10 15 12 6 4 3 3 3 3 1 0 0 0 1 1 1 1 0 0 1 2 2 2 0 0 0 0 3 7 11 10 6 4 5 6 8 10 10 8 7 7 7 7 7 4 2 1 5 3 4 5 7 7 3 7 10 11 9 10 9 6 4 6 5 4 4 5 10 10 5 2 3 7 8 10 12 14 16 8 7 8 8 8 9 10 11 15 18 20 21 22 24 24 24 28 34 37 36 37 33 29 27 35 45 51 56 51 34 39 41 42 44 43 40 42 45 42 44 43 44 45 45 46 45 44 43 42 41 33 30 33 35 32 31 34 33 25 26 26 27 29 29 29 30 31 33 33 37 43 48 55 64 63 60 52 44 41 41 43 44 44 44 45 49 54 60 65 68 71 72 73 80 75 72 68 65 65 72 84 92 87 70 66 66 65 64 67 70 72 72 70 71 64 60 59 57 54 50 49 50 48 49 49 48 49 53 50 49 49 49 48 50 51 50 49 49 47 44 40 37 34 33 33 32 29 25 21 19 17 16 15 14 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 7 5 4 4 5 6 6 6 7 9 10 7 5 3 3 3 1 2 2 0 0 0 1 0 0 0 1 2 2 0 0 0 1 1 3 14 19 16 8 3 3 5 6 9 13 14 9 10 13 12 13 10 4 0 0 2 1 1 1 1 0 0 0 3 7 8 10 9 6 3 6 4 3 3 3 7 6 4 2 1 3 6 9 12 13 14 8 8 10 10 6 8 9 11 14 16 16 18 21 23 23 24 30 35 34 34 37 36 30 23 32 42 46 42 34 37 45 49 48 45 46 47 44 40 40 43 43 44 47 48 49 54 55 48 43 33 40 45 40 30 24 25 27 28 26 27 29 30 30 32 33 33 34 36 39 43 48 56 66 68 61 53 48 44 36 35 36 38 38 44 49 54 59 63 69 71 69 65 63 62 60 57 58 62 64 71 83 92 89 71 64 63 62 59 63 67 68 66 65 65 62 60 61 62 57 51 47 47 48 45 43 43 45 51 51 51 50 50 50 51 52 51 51 51 47 44 41 38 35 34 33 32 28 25 23 22 20 19 18 16 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 2 4 6 5 4 3 4 4 4 4 5 5 6 6 5 4 4 4 4 2 0 0 0 0 1 1 0 1 1 1 1 0 0 1 2 4 8 16 20 14 6 6 4 5 7 9 14 14 11 10 10 8 14 14 8 1 0 0 0 1 1 0 0 0 0 0 1 4 8 9 7 5 4 3 3 3 2 2 2 1 1 1 2 5 9 11 13 12 8 5 6 9 9 7 8 11 13 12 13 17 22 22 24 27 29 30 31 32 37 39 36 28 29 28 28 31 34 42 46 47 48 44 49 49 42 32 41 45 45 44 43 47 50 57 62 59 56 56 52 43 34 30 27 26 26 27 24 23 25 29 30 33 36 37 38 40 46 51 54 57 66 65 60 57 53 44 34 31 31 32 37 48 55 58 61 63 65 67 65 59 53 53 53 55 58 58 61 63 70 89 79 66 61 60 57 60 64 66 65 64 64 63 62 64 67 64 60 58 57 52 46 43 43 43 46 48 48 49 49 53 52 52 52 52 52 50 47 43 42 38 36 35 34 31 30 28 26 25 23 23 20 14 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 1 1 1 1 1 1 3 4 5 4 4 4 2 2 2 3 4 4 4 2 1 0 0 2 2 2 1 1 1 1 4 7 0 2 1 2 2 1 1 2 3 6 10 9 10 10 9 8 6 5 6 10 12 12 12 12 11 8 5 7 6 1 0 0 0 1 3 2 2 2 2 3 4 4 5 5 5 5 4 3 4 4 2 1 0 2 4 4 6 7 9 11 12 11 10 7 2 2 3 6 9 11 12 13 16 19 22 20 20 21 24 24 29 33 36 38 37 36 37 32 27 33 40 46 45 41 43 43 48 50 50 54 63 56 48 46 44 51 57 60 59 59 56 55 52 43 27 31 36 35 27 28 24 22 23 27 28 34 36 37 38 41 45 48 50 51 57 58 67 70 54 38 32 32 32 32 38 53 61 61 61 62 65 68 70 74 58 53 54 57 57 60 61 59 59 68 60 58 58 54 53 61 65 67 68 69 65 63 65 69 71 66 63 61 55 49 45 44 46 46 47 48 50 51 50 53 52 52 53 52 52 50 47 43 42 39 38 37 34 31 30 30 30 29 30 27 24 19 12 11 4 0 2 4 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 2 3 1 3 3 3 2 2 2 2 2 3 4 3 3 2 0 2 3 3 2 1 2 2 5 9 10 1 1 3 5 7 7 7 4 3 7 4 5 6 6 6 5 4 5 7 8 8 8 9 10 8 8 8 5 3 1 1 1 2 3 5 6 4 6 8 6 4 4 3 2 3 3 4 4 3 4 4 3 3 3 3 5 8 9 10 14 14 15 13 9 9 8 8 10 11 12 12 14 16 20 26 24 21 20 24 25 29 33 36 36 33 36 37 36 37 51 48 50 52 50 49 53 56 55 51 43 49 55 59 57 49 54 59 60 59 63 64 61 55 47 42 45 50 51 44 51 36 21 19 22 31 31 30 32 34 35 38 40 43 46 46 57 69 71 50 36 33 33 34 38 45 57 66 65 63 63 66 69 74 74 62 53 50 50 54 57 57 56 50 58 59 62 65 53 57 61 63 64 64 64 63 62 63 67 70 68 67 66 57 49 46 46 51 51 52 53 54 54 53 54 53 53 53 53 51 49 46 42 40 40 40 39 36 33 33 33 34 34 32 30 28 25 20 17 15 16 16 17 18 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 4 4 3 3 3 3 4 4 4 3 1 2 2 5 7 4 1 2 4 6 8 4 6 6 4 2 5 4 3 2 1 3 8 14 16 13 21 21 15 7 5 7 8 7 6 5 4 3 3 4 6 7 8 9 10 9 6 8 8 4 4 4 5 4 1 3 6 6 5 5 4 8 10 10 10 13 14 12 10 9 10 10 10 11 11 12 13 13 14 15 21 26 28 28 28 30 32 35 37 38 33 33 31 28 30 43 49 55 59 58 59 61 62 62 61 60 58 56 54 51 49 50 54 57 61 62 57 52 51 41 40 39 40 43 51 65 47 24 21 23 19 18 22 29 30 28 27 32 39 39 47 59 69 69 48 35 30 30 36 42 53 61 63 62 63 64 66 71 79 75 63 53 51 52 52 51 52 52 47 47 54 67 80 68 62 63 68 69 68 65 63 62 64 65 68 68 64 60 55 51 50 50 55 56 57 57 56 56 55 54 54 54 53 51 48 45 43 42 42 41 40 40 38 37 36 35 38 36 33 30 28 26 24 24 23 17 18 19 20 17 13 21 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 1 1 1 1 0 0 0 0 1 2 3 2 2 4 3 4 4 4 3 3 4 4 3 1 0 1 3 5 5 5 4 3 4 5 5 3 2 2 6 13 16 21 24 22 22 23 25 20 5 6 7 9 9 9 9 6 5 5 6 7 7 8 10 11 11 10 9 8 8 7 7 6 3 1 0 2 3 3 5 7 10 10 9 9 11 11 9 8 9 10 9 9 10 10 11 13 15 16 14 16 20 22 23 26 26 27 28 30 34 32 30 29 27 29 38 49 58 60 58 59 60 58 50 47 47 47 48 52 51 50 51 56 60 61 67 67 63 66 39 30 28 28 35 40 46 37 26 37 18 13 15 19 26 26 23 22 25 26 37 42 46 51 56 43 34 32 38 43 52 58 60 59 60 62 64 67 71 71 65 55 47 47 50 49 48 47 49 50 54 57 61 74 72 68 69 76 79 76 71 66 64 71 71 70 67 61 59 57 56 55 54 58 58 57 56 55 54 54 54 54 53 50 47 45 43 42 42 42 41 41 41 40 39 38 38 39 38 36 33 30 28 28 30 32 26 24 21 21 22 23 31 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 1 0 0 0 1 2 2 1 0 0 0 0 0 0 1 1 2 3 5 1 3 3 2 4 4 4 3 1 0 0 4 6 6 4 5 7 7 6 5 4 4 2 3 8 23 23 20 19 17 16 20 22 18 9 7 8 9 10 9 8 6 5 5 7 7 9 11 11 9 9 9 9 9 9 8 7 5 3 1 0 0 0 1 3 6 9 12 13 10 10 10 8 6 7 8 8 8 9 9 10 13 18 22 20 16 14 15 17 19 20 22 23 25 27 31 33 33 34 31 41 54 62 64 58 58 59 55 46 51 54 58 67 78 69 58 53 51 50 52 56 60 64 50 32 28 31 35 47 41 35 29 25 16 13 14 16 15 21 21 21 22 23 30 41 44 43 44 45 36 30 30 36 45 55 60 58 59 60 62 65 65 63 66 61 55 55 50 48 49 49 47 50 57 60 60 64 64 65 68 71 77 75 71 68 67 66 70 70 68 66 63 62 61 60 59 59 58 56 55 53 54 55 56 55 53 50 47 45 43 43 43 42 43 44 43 43 42 42 42 40 41 40 38 37 32 32 32 34 37 35 28 23 23 25 27 32 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 3 4 4 2 2 2 3 6 6 6 4 3 7 9 12 12 8 2 5 7 8 9 9 9 8 6 5 1 20 19 13 12 7 6 8 7 2 4 6 6 7 8 8 6 6 6 6 6 7 8 9 9 6 5 5 6 6 6 7 7 5 1 1 2 2 2 3 6 8 9 12 15 14 12 10 6 7 6 7 8 9 9 10 10 12 15 19 23 24 22 20 20 20 21 23 25 25 27 31 36 41 42 43 55 64 66 71 64 60 56 49 48 49 48 48 53 58 57 55 51 42 42 46 48 49 49 40 32 29 33 46 47 35 24 22 33 30 23 21 22 15 18 19 20 22 23 32 41 47 46 43 41 35 27 26 40 56 61 59 60 60 62 63 63 60 56 53 49 50 57 49 48 49 51 54 56 58 60 64 62 66 67 67 68 69 71 72 70 67 67 67 66 66 66 64 62 62 62 62 58 56 54 53 53 53 53 53 54 53 47 44 43 43 43 44 45 45 45 44 44 43 43 44 42 43 43 40 37 35 35 35 35 41 35 28 24 26 28 31 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 4 6 7 7 6 6 7 17 13 10 8 10 12 13 9 5 3 3 3 3 5 6 6 9 10 9 8 2 10 10 7 8 8 9 8 8 9 8 7 6 5 6 5 6 7 6 6 6 6 7 7 6 4 4 5 5 6 6 6 6 5 5 4 4 3 2 4 5 7 9 10 12 14 15 13 7 4 4 6 9 10 10 9 7 8 12 16 17 19 21 21 17 15 18 23 25 26 29 32 34 39 42 46 46 48 62 62 55 49 48 45 52 51 43 39 52 41 41 44 44 39 38 38 38 34 29 29 29 32 37 53 40 25 20 25 28 22 30 41 32 24 22 20 21 22 28 39 50 54 49 45 43 35 25 39 52 63 67 62 62 61 61 59 56 51 48 45 44 42 50 49 49 52 54 56 56 58 62 61 63 64 63 63 64 64 67 70 72 74 74 71 69 68 65 62 61 59 59 58 56 54 53 52 53 54 54 53 52 50 46 43 42 42 44 45 46 45 45 44 44 43 43 43 44 46 46 44 40 39 38 39 37 37 36 32 28 29 32 36 39 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 2 4 4 11 12 12 11 9 10 10 9 10 16 15 9 4 2 1 2 3 2 0 0 3 6 7 7 7 5 5 6 6 6 6 8 9 8 6 5 5 5 5 6 6 6 6 6 6 8 9 9 8 6 4 4 6 6 7 8 7 5 3 6 6 5 3 4 2 2 4 7 6 7 10 12 15 16 14 12 11 11 16 13 10 9 11 12 13 16 19 22 20 16 16 19 22 23 27 30 32 35 34 33 32 36 43 50 48 43 40 46 47 54 51 45 50 51 42 40 43 38 29 27 25 23 26 27 27 31 35 31 38 31 24 25 27 23 22 29 40 32 39 37 30 21 25 32 42 52 56 52 52 49 41 29 50 57 59 59 58 60 61 56 48 47 45 44 43 44 46 53 53 51 53 53 54 55 56 58 65 65 64 63 63 64 66 67 69 72 72 71 71 70 68 64 62 61 60 57 56 55 53 52 52 52 52 52 51 53 49 45 42 42 40 38 38 43 43 45 45 45 43 42 42 44 46 45 46 47 44 41 43 39 38 34 30 31 34 36 39 42 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 4 4 3 6 16 15 15 11 6 5 7 6 5 5 10 9 5 2 1 4 5 4 4 4 3 4 5 6 6 6 5 5 4 4 2 4 6 7 7 5 5 4 4 5 6 6 6 5 4 6 9 11 11 6 5 4 6 7 7 8 9 9 7 4 5 4 3 2 0 1 2 2 3 3 4 4 6 8 9 8 7 6 6 15 16 13 12 18 15 14 17 23 26 20 14 16 20 19 22 25 27 30 34 34 35 37 37 37 39 43 46 45 49 49 44 39 43 36 45 45 41 38 30 27 26 25 25 29 30 32 37 42 25 25 26 28 29 34 31 28 28 32 35 37 38 36 27 31 36 44 52 56 57 58 57 46 38 51 53 48 47 46 49 50 48 42 44 44 45 47 50 55 63 61 53 52 52 54 58 60 57 61 67 70 69 71 76 74 69 70 70 71 71 71 69 67 63 61 61 59 57 54 53 52 52 53 53 53 54 52 51 47 43 41 41 38 36 38 44 43 46 48 48 44 42 42 42 44 45 45 47 47 43 42 40 39 37 34 34 37 40 42 44 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 1 0 0 0 2 5 19 13 2 4 18 19 10 2 4 6 9 8 6 4 4 5 5 4 3 3 3 5 8 8 8 6 6 6 5 4 3 2 1 1 3 4 5 5 5 4 3 3 4 5 4 4 3 3 4 7 11 14 15 8 10 10 8 6 10 11 9 8 6 5 4 2 0 1 0 0 0 0 1 4 4 3 3 4 2 1 1 1 5 12 17 16 15 19 16 14 18 25 22 29 26 22 22 21 21 21 22 25 27 27 27 29 40 68 45 41 47 46 45 48 48 47 43 39 32 29 28 26 26 26 26 27 29 30 33 33 32 38 26 23 26 30 39 44 41 32 22 17 19 21 24 28 31 36 40 44 50 50 53 58 59 43 41 47 50 49 49 47 42 41 44 44 46 45 45 49 53 59 60 56 53 54 56 60 64 64 61 66 68 67 65 71 79 79 69 71 71 73 73 69 68 65 62 60 58 56 53 51 50 52 53 53 53 54 52 50 47 44 41 40 37 34 34 36 51 47 45 46 45 42 40 40 40 41 41 42 45 47 44 41 40 40 40 39 40 41 42 43 43 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 2 1 1 0 2 8 13 11 15 19 11 2 4 6 3 2 3 2 3 6 6 5 6 5 6 7 7 3 2 4 5 4 5 5 5 6 5 3 3 3 2 2 1 4 6 6 6 6 5 2 2 3 3 3 3 3 3 6 8 12 16 18 14 14 11 8 8 10 8 6 5 4 4 3 1 0 0 0 1 1 1 2 3 4 3 2 11 12 6 0 1 2 7 12 15 15 16 16 18 23 29 23 26 28 26 22 22 21 20 19 23 24 23 22 30 67 33 31 38 40 39 42 45 47 47 36 32 31 33 33 30 29 28 27 21 21 25 28 28 28 28 27 29 29 27 40 42 33 21 22 17 16 19 24 28 33 37 41 43 43 45 48 52 54 40 42 48 53 49 49 49 48 49 48 50 48 46 46 48 53 64 64 51 51 55 59 62 64 69 69 67 64 63 64 65 74 83 77 74 85 89 79 68 66 65 63 59 55 53 51 50 50 51 52 52 53 51 49 47 45 42 42 42 37 32 33 51 45 43 43 44 43 43 42 40 39 39 40 41 42 45 44 42 41 41 39 41 42 41 41 41 41 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 12 13 3 0 0 0 0 0 10 26 36 27 24 22 15 5 5 5 13 25 30 11 7 6 5 5 7 7 8 8 4 2 3 3 3 4 6 7 7 7 6 5 4 3 1 1 2 5 8 9 9 8 5 3 3 2 4 4 4 4 6 5 5 6 8 11 11 12 13 11 6 3 2 2 2 3 2 2 1 1 3 2 2 2 3 2 4 6 7 5 7 13 15 12 1 1 3 5 7 6 10 14 19 25 30 31 32 30 25 21 21 22 22 23 26 21 20 22 22 28 29 32 36 41 46 47 46 44 41 37 36 42 48 44 34 28 28 31 21 21 25 29 29 30 27 29 30 28 25 33 35 29 15 17 21 25 26 26 30 34 38 42 41 42 42 43 46 51 48 51 54 55 56 54 53 56 61 60 59 56 53 53 52 55 54 49 46 49 52 56 59 61 68 70 67 61 60 62 64 68 73 70 79 84 79 69 65 63 62 60 58 55 53 52 52 50 50 51 51 48 43 42 41 40 40 39 40 38 36 44 57 60 52 41 42 42 41 40 39 38 39 39 40 43 47 46 45 45 44 42 41 40 39 38 38 22 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 1 5 7 8 7 1 0 0 0 1 6 8 20 32 33 26 17 17 17 13 13 8 9 11 8 11 8 7 7 9 12 9 8 7 4 4 5 4 3 4 5 7 7 7 5 4 3 1 0 1 4 7 10 10 10 8 8 7 5 3 3 4 5 5 5 4 2 1 1 0 1 5 8 8 4 3 3 3 2 4 5 3 1 3 6 7 7 7 7 6 6 9 12 11 12 10 7 5 1 3 3 3 2 2 5 8 13 19 22 22 27 33 31 29 31 27 19 20 19 26 27 18 22 24 26 28 31 44 46 44 42 40 36 37 45 52 53 45 31 25 26 28 25 25 29 33 32 32 30 28 26 24 21 24 28 30 25 26 30 31 28 25 29 34 38 39 37 38 38 39 46 50 53 53 53 61 57 58 62 68 67 68 66 62 59 55 51 47 46 45 45 46 48 52 55 59 60 62 62 56 56 59 63 64 64 67 83 87 64 63 61 60 60 59 58 57 55 53 52 51 51 52 49 41 36 35 36 34 32 35 37 36 36 39 39 45 50 42 40 38 37 38 38 39 40 41 43 46 47 47 46 46 44 42 38 32 22 18 14 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 1 4 7 9 9 7 1 0 1 2 3 2 13 15 21 25 19 13 7 5 4 3 4 7 10 8 6 9 11 12 13 17 10 7 6 7 7 7 7 5 3 6 4 4 5 4 4 2 1 1 0 1 4 6 8 11 12 11 8 6 5 4 3 3 3 3 3 4 4 3 3 3 2 2 3 4 7 8 7 6 3 4 6 7 5 7 7 8 10 11 11 8 8 9 8 8 10 11 10 8 3 3 7 12 6 4 3 4 9 16 18 21 27 33 29 29 34 34 26 20 17 24 33 36 21 23 25 27 34 39 39 39 40 38 38 37 36 38 43 37 31 28 28 24 25 25 26 26 28 28 26 24 23 19 16 18 24 34 34 35 35 33 26 27 29 30 31 34 34 35 37 40 50 51 49 48 50 59 53 50 56 67 68 70 68 62 59 52 44 40 39 36 39 42 46 49 51 52 53 54 50 53 58 60 59 60 60 69 78 76 61 60 60 61 61 61 59 56 54 52 51 49 50 51 46 45 29 17 15 14 15 28 34 28 34 35 36 42 51 46 39 37 38 39 39 41 42 43 44 47 47 47 46 44 42 39 33 19 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 1 2 8 13 11 2 2 4 10 14 7 3 1 1 1 3 2 4 5 3 3 5 5 6 7 13 7 5 6 8 9 8 6 2 0 0 5 7 6 6 4 4 3 1 0 1 3 3 4 8 10 9 7 7 7 6 4 2 1 1 2 4 4 4 7 6 5 6 6 8 11 12 13 10 7 6 5 3 5 13 12 10 12 13 13 11 9 7 10 7 7 9 10 4 6 7 14 26 10 6 5 5 10 17 20 22 26 34 29 28 30 36 35 20 15 16 19 20 19 22 25 28 36 35 36 37 37 36 36 36 36 38 40 37 33 30 29 28 29 25 19 18 21 21 20 20 21 15 15 19 25 27 34 37 36 34 28 32 34 35 36 31 30 34 40 48 49 50 50 49 52 50 48 51 55 55 62 66 67 64 57 48 44 41 33 29 34 39 42 44 44 46 48 49 54 56 60 61 59 64 65 75 83 78 62 61 61 61 62 65 62 57 51 47 47 46 47 48 42 43 39 33 20 17 20 25 28 22 28 32 39 48 62 55 45 39 40 42 42 43 43 45 46 48 48 47 44 40 39 36 26 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 1 18 19 10 0 0 0 0 2 4 2 0 0 1 5 7 5 3 2 4 4 4 4 4 3 8 5 4 5 6 5 3 2 1 1 3 6 7 7 8 7 6 4 2 1 1 2 2 3 3 6 8 9 9 8 6 4 1 0 0 2 3 4 2 2 4 7 9 10 12 11 13 16 15 13 13 14 14 14 12 9 9 12 14 15 13 11 8 6 5 7 11 16 11 15 16 15 18 9 7 7 7 14 15 18 21 26 33 38 32 28 31 29 16 13 18 24 31 28 26 27 32 36 36 36 34 31 31 36 36 31 39 42 41 36 30 29 31 29 24 24 24 24 23 22 23 17 13 15 21 22 30 36 36 33 32 33 35 36 37 37 29 28 33 38 39 41 45 46 46 48 43 41 42 42 47 54 63 70 66 52 45 41 35 30 33 36 37 36 37 39 42 45 44 49 56 62 63 60 64 66 70 75 77 70 67 64 63 67 72 72 63 50 50 46 47 50 52 42 26 14 18 23 23 24 26 29 29 30 33 40 53 63 58 49 43 42 44 45 45 45 48 49 50 49 46 41 36 32 29 27 13 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 1 3 14 9 3 0 0 0 0 0 0 1 1 1 1 2 3 2 4 5 7 15 15 11 6 3 4 5 3 3 4 3 5 5 4 4 4 4 2 2 6 8 8 6 4 2 2 1 0 1 3 3 5 7 7 7 5 3 2 2 1 0 0 1 1 1 1 2 3 5 6 9 9 9 14 15 14 14 14 12 12 6 3 6 11 14 17 17 14 11 7 8 9 10 16 17 18 15 10 12 9 6 6 9 10 12 16 20 24 28 36 36 32 30 24 17 19 30 33 34 34 32 32 40 38 37 35 33 32 30 31 31 27 34 38 36 32 27 24 25 25 22 18 20 21 22 21 24 22 16 12 18 18 21 24 29 31 36 36 36 37 34 28 26 30 34 29 27 31 35 36 37 41 38 33 32 35 39 49 60 66 62 50 44 42 33 34 34 34 35 37 37 39 42 47 50 55 65 71 71 66 64 65 70 77 73 72 65 57 61 66 73 74 68 64 55 55 58 59 57 52 31 7 16 25 26 28 31 33 31 31 35 40 50 51 51 49 46 43 45 46 47 47 49 49 49 47 43 41 36 32 32 33 33 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 11 19 10 5 3 2 0 1 2 2 2 2 4 4 3 3 0 0 0 2 5 7 9 5 3 6 8 5 3 3 2 3 3 4 4 2 0 0 1 3 7 8 7 6 4 1 0 0 0 0 3 4 3 3 2 2 1 0 0 1 1 0 0 0 0 0 0 0 1 1 3 4 5 7 10 10 9 7 4 3 2 2 3 6 9 14 17 19 20 13 10 9 9 9 11 11 13 15 15 10 8 7 7 9 11 13 17 21 24 27 32 34 34 31 23 20 23 29 28 27 29 33 41 42 39 35 34 33 30 27 25 24 26 28 31 32 28 19 16 17 21 22 22 22 24 25 21 25 19 13 14 15 15 19 28 36 32 36 37 36 34 30 26 24 27 34 23 18 19 24 28 34 38 37 33 34 35 40 47 50 49 49 47 47 48 49 45 40 38 38 38 39 43 49 53 55 59 63 65 69 72 72 74 77 84 86 73 59 52 56 61 66 68 66 60 59 58 58 59 56 55 40 6 17 20 24 29 29 32 31 32 36 40 43 49 52 51 44 44 44 45 48 49 49 50 49 44 41 39 37 35 35 35 29 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 11 5 11 11 3 1 5 9 9 6 5 5 4 2 1 0 0 0 0 0 4 4 4 4 6 7 4 3 3 3 4 3 3 4 4 1 0 1 4 5 7 6 5 4 2 2 1 0 0 5 5 4 3 3 4 2 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 7 9 7 5 3 3 2 2 2 3 5 9 14 17 19 21 14 8 4 6 11 11 8 7 7 8 6 6 6 6 6 11 16 19 20 26 30 31 30 32 29 24 24 28 31 31 37 40 39 51 43 37 34 33 29 24 20 19 23 29 28 27 25 19 16 16 18 21 22 22 22 23 24 18 17 11 9 12 13 14 19 26 35 35 36 35 34 29 29 28 24 18 19 22 20 20 26 33 38 40 39 33 35 35 41 48 43 42 43 45 46 52 58 55 50 48 46 38 38 43 49 50 51 51 54 66 72 73 71 70 67 66 60 57 61 62 57 56 57 57 56 51 50 52 54 51 49 40 18 9 12 15 20 25 26 31 34 37 40 41 42 43 45 48 46 45 45 44 47 47 48 49 47 44 40 38 36 36 33 29 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 9 9 4 0 0 1 6 10 10 6 6 4 4 6 11 6 2 0 0 0 2 2 3 3 3 5 4 3 3 3 4 4 5 7 6 6 4 4 7 6 6 6 6 6 2 1 0 0 2 5 5 4 4 3 5 3 1 1 0 0 0 0 0 1 0 1 3 4 4 4 5 6 8 9 7 5 4 3 2 1 1 3 6 8 10 14 20 22 17 11 9 10 11 10 12 15 17 13 11 10 10 5 8 11 16 21 25 29 30 30 29 30 27 29 32 29 29 33 40 45 43 51 44 35 31 30 26 21 18 16 18 21 19 17 17 16 18 19 21 23 19 17 22 27 25 14 10 10 10 12 14 16 18 24 30 33 34 34 29 27 28 31 33 29 29 24 21 23 32 38 40 41 40 32 37 36 36 42 38 38 43 47 43 50 52 54 55 54 47 41 40 45 51 53 54 54 53 66 71 68 65 62 61 56 49 47 64 64 56 49 49 49 50 49 48 47 44 41 39 31 8 9 26 37 34 34 32 34 36 38 42 45 46 47 47 46 47 47 46 45 45 45 46 47 45 43 40 37 37 34 29 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 3 4 8 10 10 16 5 0 0 0 2 2 2 3 4 3 4 5 4 3 3 4 4 5 7 7 7 7 6 5 4 4 5 6 6 1 0 0 1 3 2 1 1 1 1 1 2 2 1 0 0 0 0 0 0 1 2 2 2 2 3 5 7 7 7 6 5 5 2 1 0 1 3 4 5 9 14 20 22 20 15 11 14 10 19 29 32 36 34 24 15 14 10 12 14 17 20 27 29 31 32 30 27 25 28 31 29 30 36 45 51 54 50 41 34 31 22 18 16 16 16 17 17 17 17 17 18 20 21 23 23 19 18 20 22 18 11 8 7 8 13 15 16 19 21 27 28 29 29 24 23 28 35 40 41 32 30 30 29 34 39 41 41 38 32 31 32 34 33 35 42 48 44 44 52 57 60 59 54 48 42 42 52 56 58 60 63 61 68 66 59 54 51 46 43 46 52 60 58 54 51 44 43 45 47 47 41 36 33 33 31 27 31 34 33 33 34 34 35 36 39 44 47 48 48 47 46 47 47 47 48 46 43 41 41 40 40 39 36 35 31 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 12 17 17 14 7 4 4 3 4 2 2 3 5 5 5 4 2 3 3 4 5 4 4 4 5 6 6 3 3 4 4 3 2 1 0 0 0 0 0 0 0 2 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 3 6 7 7 7 6 5 5 7 4 2 0 0 0 0 3 8 13 18 21 21 20 19 19 18 15 12 12 19 23 20 15 15 12 13 16 19 25 26 26 28 31 31 28 27 26 26 27 31 38 44 49 50 39 35 36 33 23 14 9 10 13 13 14 15 16 18 20 22 22 23 21 20 20 19 18 10 6 6 7 9 11 16 22 21 22 22 23 23 22 21 21 26 34 34 38 37 36 34 34 34 36 36 36 32 30 31 34 36 37 41 46 48 42 52 63 69 66 60 57 51 45 44 56 59 62 65 65 65 65 55 39 32 32 36 41 43 42 49 53 54 53 44 42 43 45 45 34 32 31 29 28 29 30 31 32 32 36 37 37 38 41 46 47 46 45 46 45 46 47 48 47 45 42 39 37 37 37 36 34 31 26 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 7 12 15 15 16 10 8 5 2 4 2 1 1 1 3 2 3 3 1 2 3 5 8 7 5 3 4 6 5 4 3 3 3 3 2 1 0 0 0 0 0 0 0 1 1 1 1 1 1 3 2 2 2 2 2 1 0 0 0 3 6 7 7 7 7 6 5 9 4 1 0 0 0 1 3 7 13 16 19 20 20 21 20 20 20 20 19 17 17 17 17 16 17 18 19 22 22 24 23 22 21 25 26 25 23 26 27 31 36 41 48 41 38 39 39 33 24 12 3 4 4 4 7 11 16 18 20 20 20 20 19 17 18 23 27 17 10 6 7 9 10 12 16 17 17 18 20 21 21 19 21 25 27 31 39 44 39 28 32 31 30 31 31 29 29 35 46 48 48 45 42 44 42 51 57 55 48 49 47 45 47 47 52 60 68 71 72 71 62 49 33 25 32 37 34 27 38 44 45 45 44 39 37 37 35 35 32 30 28 25 23 24 25 26 30 32 35 38 42 45 47 48 47 45 47 46 45 47 47 48 44 39 36 33 33 32 32 32 29 26 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 12 11 14 14 12 4 2 2 3 4 3 1 1 2 4 3 1 1 1 1 1 4 6 5 4 6 3 2 4 5 4 3 3 3 1 1 0 0 0 0 0 0 0 0 2 2 2 2 3 3 3 2 2 3 2 2 2 2 0 0 3 6 8 8 8 8 8 8 8 5 4 5 5 1 1 3 6 9 12 13 13 16 19 18 18 17 16 16 15 16 17 17 19 21 23 22 23 24 23 22 22 19 20 21 21 21 24 25 30 37 39 43 45 43 38 32 32 20 7 2 2 1 1 4 9 14 18 20 21 20 20 18 17 18 23 25 26 19 8 6 6 7 9 11 11 19 26 30 28 24 24 26 29 33 38 42 39 32 26 30 32 33 34 33 34 38 47 62 61 56 46 38 34 35 37 39 41 28 35 38 40 46 46 53 63 70 73 71 64 59 54 34 29 33 32 28 38 39 38 38 39 37 35 34 33 31 31 29 26 23 21 22 24 26 27 34 38 40 41 44 45 47 48 48 49 47 45 44 45 45 45 40 34 31 29 27 27 26 27 23 22 17 1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 4 7 5 4 9 15 10 8 7 3 0 0 0 1 2 1 1 0 1 6 3 2 1 0 0 1 2 5 8 9 6 4 4 5 1 0 2 4 3 1 0 0 0 0 0 0 0 0 0 2 2 2 2 3 4 3 2 2 2 1 1 1 2 1 2 3 6 9 9 9 9 9 11 10 8 7 7 3 2 2 3 4 7 8 8 9 10 13 14 14 13 14 14 13 14 17 18 20 22 25 24 22 21 22 21 16 13 13 13 13 19 23 29 35 38 39 39 41 42 38 33 31 21 11 11 6 4 4 6 10 15 18 19 18 17 18 18 18 19 19 20 20 19 15 9 6 7 8 8 14 23 32 36 30 27 31 36 35 36 37 36 35 33 32 37 39 34 22 28 34 39 48 54 56 47 38 40 32 33 35 36 32 25 35 43 45 42 46 56 65 67 67 63 59 55 52 34 36 40 39 39 39 39 39 38 36 34 31 29 29 28 29 26 23 23 25 28 30 31 33 40 43 43 41 41 40 41 43 44 40 42 43 41 41 40 37 31 26 25 24 24 24 25 26 24 22 21 17 15 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 6 19 17 21 15 5 3 6 5 4 1 0 0 0 1 4 2 1 0 0 0 1 2 2 2 1 2 3 4 5 5 5 2 1 1 0 0 1 3 4 2 0 0 0 0 0 0 1 2 1 2 3 3 4 4 4 4 3 2 1 2 3 2 2 2 2 2 4 6 7 8 8 9 9 12 13 15 18 18 9 4 4 5 5 7 8 8 8 9 11 11 9 8 9 10 12 17 20 22 22 23 23 23 28 27 22 18 12 6 5 6 9 13 19 28 36 38 38 38 37 35 36 37 32 28 31 26 16 9 8 11 13 16 17 19 18 18 19 21 23 21 32 31 26 21 17 11 9 9 10 15 24 32 37 41 36 33 36 41 39 39 40 42 45 45 46 43 35 26 17 27 38 46 47 63 59 46 35 40 33 31 33 38 46 43 40 38 41 45 53 58 59 54 50 47 45 43 40 42 45 46 44 42 42 42 40 40 33 30 28 26 26 24 22 23 31 33 35 37 38 39 40 45 46 43 40 40 39 39 45 41 35 34 36 37 36 35 31 26 28 27 27 28 28 32 29 26 21 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 4 16 15 14 12 8 4 8 7 3 0 0 0 1 5 9 6 2 1 1 0 2 3 3 3 5 4 4 3 3 5 11 6 0 0 0 0 2 4 3 0 0 0 0 0 0 1 3 4 2 2 4 5 5 5 4 4 3 3 2 3 3 3 2 3 3 3 2 3 4 5 8 9 9 12 15 17 16 12 6 4 4 6 7 8 9 9 9 10 11 13 14 10 10 12 16 20 24 26 24 21 21 21 26 27 24 21 14 10 9 10 12 15 21 28 37 37 38 39 36 27 29 34 36 36 42 31 18 9 9 12 15 16 19 23 22 22 24 28 34 35 39 39 32 23 16 13 13 14 14 18 24 32 40 41 41 41 40 33 30 31 32 36 43 43 47 45 32 18 21 33 43 45 58 69 62 45 33 36 34 34 37 48 55 54 50 46 46 53 59 59 46 38 35 34 34 36 42 47 47 46 46 46 46 45 43 42 31 26 29 29 23 25 30 32 41 44 45 46 47 50 52 50 48 48 47 46 44 40 36 36 32 28 29 33 34 34 32 28 29 31 32 35 36 38 34 29 28 28 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 9 11 15 13 9 8 5 4 3 2 9 6 5 5 4 0 2 3 3 3 10 10 8 5 1 2 8 8 4 2 2 2 3 4 2 0 0 0 0 0 1 3 5 6 4 4 5 5 5 6 4 3 2 2 2 2 2 1 1 2 2 2 3 3 5 7 10 12 10 12 14 14 11 11 8 5 4 6 6 7 8 9 9 10 12 13 12 12 10 11 15 21 26 28 25 19 17 18 16 12 12 18 16 15 14 16 14 17 23 30 37 35 36 38 38 29 27 32 37 37 34 25 17 13 12 15 16 17 20 25 25 24 27 32 33 35 38 35 27 21 20 21 20 17 17 19 24 32 40 43 43 41 38 32 23 21 25 27 26 34 42 44 30 21 24 28 31 37 52 61 58 45 38 37 38 41 46 56 52 48 48 47 50 55 58 54 36 30 29 30 31 39 47 48 47 47 48 46 46 47 48 46 39 37 39 27 33 41 43 42 50 53 55 58 60 60 60 57 53 54 54 51 45 37 36 33 30 31 33 37 39 39 36 31 36 40 39 41 41 39 35 31 31 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 8 7 6 8 8 4 0 0 0 4 6 5 4 0 1 3 4 3 6 6 4 3 3 3 6 6 3 3 1 0 1 2 0 0 0 0 0 1 2 3 5 7 7 7 7 7 6 6 5 4 4 4 2 3 4 4 2 1 2 4 4 4 6 9 11 13 11 10 9 8 8 6 3 3 6 6 4 4 6 6 6 8 10 12 11 9 9 10 14 20 24 26 25 24 20 15 9 6 13 16 16 15 15 15 17 19 23 28 29 34 33 31 30 26 25 26 28 26 21 23 23 20 19 20 20 21 23 26 24 25 27 28 34 32 29 26 28 33 37 36 30 29 21 19 24 32 36 38 41 43 39 29 17 12 13 12 18 27 37 40 31 27 28 29 32 42 56 56 47 46 46 47 48 49 47 51 48 44 45 47 52 54 53 47 34 30 32 36 38 43 45 46 48 53 54 53 53 50 50 48 49 53 54 50 52 53 52 51 56 60 63 62 59 56 55 55 55 53 50 48 43 36 34 32 34 41 41 42 44 45 43 43 45 45 44 46 45 41 36 36 34 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 4 3 1 1 3 4 4 6 7 4 1 1 2 4 4 4 3 4 4 6 5 4 2 2 0 0 0 0 0 1 1 1 1 1 2 3 4 5 5 5 5 5 6 6 6 5 5 8 6 4 3 4 4 3 3 3 3 3 4 5 7 9 11 11 9 6 5 9 7 5 5 6 6 10 14 14 7 6 7 9 10 13 12 12 14 17 17 19 20 22 21 17 15 15 18 20 21 20 18 17 18 20 21 21 22 28 33 35 33 26 23 23 23 21 18 17 19 22 30 31 31 29 27 31 26 21 21 26 26 31 32 29 24 35 41 42 39 29 24 20 20 24 29 28 33 41 48 41 28 19 16 17 17 11 17 32 35 32 31 32 37 41 45 45 44 48 47 45 45 48 48 46 47 47 47 47 49 50 50 48 42 42 45 47 49 45 45 48 51 53 56 57 56 56 53 52 52 54 60 60 60 59 60 61 60 61 64 67 59 55 54 56 56 55 49 45 46 45 41 40 42 42 37 38 41 44 48 47 47 46 45 46 47 46 43 40 15 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 2 3 2 0 0 1 1 0 0 0 0 7 15 19 15 5 2 2 3 3 2 1 1 2 4 2 0 0 0 0 0 0 0 1 2 2 1 2 3 4 4 5 6 8 6 5 5 6 7 6 5 4 6 4 3 3 2 4 4 4 4 4 5 5 5 4 4 5 5 5 5 7 7 7 8 10 11 9 15 24 28 18 11 9 10 12 13 16 18 20 19 17 15 14 16 15 13 13 14 18 18 20 21 20 21 25 26 27 27 26 29 28 26 26 26 25 25 25 23 18 16 19 28 37 38 35 32 29 29 22 18 17 18 23 31 32 27 25 32 34 34 31 28 24 19 16 19 19 20 24 31 37 36 25 18 20 21 20 14 13 22 32 34 34 36 38 43 40 35 35 43 38 35 36 40 45 47 47 46 45 44 42 43 44 45 46 48 48 46 47 50 52 54 56 58 59 59 58 57 59 59 59 59 57 56 55 55 59 63 65 67 69 67 62 57 53 50 50 48 46 45 45 44 41 40 40 39 33 33 38 41 42 42 43 44 45 44 38 27 21 16 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 2 6 6 2 0 1 0 0 0 0 0 1 6 13 19 8 2 1 3 4 4 5 5 0 0 0 0 0 0 0 0 1 1 2 2 2 1 1 4 5 5 6 6 8 5 4 4 5 6 5 5 4 5 5 4 4 3 3 3 3 3 4 7 6 4 3 3 2 2 3 6 7 8 9 11 12 15 12 12 19 30 22 19 15 9 12 15 17 19 21 19 18 15 11 11 16 16 14 14 14 17 20 21 20 24 25 26 26 26 27 27 25 23 23 22 21 22 23 23 21 23 27 33 33 36 35 30 26 23 19 18 18 18 21 25 30 35 37 38 35 29 21 17 15 14 14 12 15 17 20 24 29 31 28 25 21 23 23 19 12 12 28 30 29 33 38 38 33 30 32 34 38 37 33 36 40 41 41 41 39 36 34 35 37 43 45 45 45 50 53 57 59 60 60 60 60 61 62 61 64 65 64 60 52 49 51 56 60 60 63 67 68 65 60 55 50 50 47 45 44 43 42 38 36 34 30 30 30 32 36 37 37 37 38 39 42 37 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 9 8 1 1 0 0 0 0 0 3 6 4 7 3 0 1 4 5 7 8 5 1 1 0 0 0 0 0 1 3 3 4 4 3 2 3 5 5 4 4 5 7 8 6 4 4 5 5 5 3 5 6 5 4 2 2 1 1 1 3 4 4 3 3 2 2 3 5 9 8 9 10 11 13 15 14 13 12 25 24 22 17 12 14 15 15 16 18 18 18 16 15 16 18 18 18 18 15 13 13 17 19 23 25 27 30 31 27 25 24 22 22 22 22 22 23 23 24 26 27 28 26 26 24 22 24 21 21 21 18 17 21 28 35 41 45 40 30 20 14 11 12 12 12 14 18 22 24 26 33 35 37 42 29 18 14 14 14 21 20 19 24 31 32 31 32 36 39 45 41 32 32 34 38 41 41 41 35 32 30 31 35 38 42 46 48 51 56 58 59 60 59 58 58 61 64 63 61 59 57 53 48 49 55 54 54 54 56 59 61 60 58 56 56 55 51 47 44 36 33 31 29 28 29 29 30 33 34 33 34 34 35 35 36 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 2 6 8 9 5 2 1 1 0 0 0 2 4 5 2 2 2 1 1 2 3 3 3 1 0 0 0 0 0 1 2 5 5 6 5 5 7 6 6 5 5 5 7 8 9 9 9 6 6 5 3 3 5 6 4 2 2 3 2 1 2 3 2 2 3 3 2 2 3 5 9 9 9 10 12 12 14 16 14 9 14 16 18 17 13 15 15 15 15 15 16 17 18 18 18 18 18 16 17 15 12 11 15 18 22 25 27 28 27 26 26 23 16 22 24 24 24 25 24 25 25 25 19 22 22 19 17 18 18 19 20 31 25 26 32 36 35 36 34 26 14 10 9 9 12 12 21 28 31 31 36 40 44 51 58 38 29 21 13 10 10 10 15 23 27 30 35 42 40 48 47 36 24 32 35 37 39 42 36 34 33 32 33 35 39 44 48 52 53 54 55 55 53 52 52 54 52 47 45 43 42 43 44 47 51 54 53 50 47 48 52 56 56 56 56 56 54 50 45 42 32 29 28 27 29 30 31 32 34 30 30 31 31 33 33 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 3 2 2 1 0 0 0 0 0 1 2 2 2 2 2 1 0 0 0 0 1 0 0 0 0 2 2 3 5 6 7 8 9 8 6 4 4 3 4 5 6 7 9 10 12 10 10 9 5 4 6 7 7 6 7 5 3 4 4 4 3 2 2 2 2 3 6 8 11 11 12 13 12 11 13 15 14 12 9 9 12 15 13 13 14 15 17 16 16 16 17 17 17 17 16 13 19 22 24 23 19 20 23 24 24 23 22 22 22 25 25 21 20 21 21 21 20 18 18 18 14 14 16 17 18 17 17 15 14 23 20 22 31 34 34 37 36 25 11 5 4 6 6 15 21 27 31 34 41 44 46 51 58 39 17 4 11 10 11 15 19 22 22 24 27 26 24 23 23 24 28 34 36 38 39 38 35 34 35 36 37 38 42 49 52 52 51 51 52 53 51 50 49 46 37 32 31 31 33 39 43 47 52 48 46 46 49 53 56 57 56 53 52 49 46 43 39 35 31 28 26 25 27 30 32 31 30 20 14 11 7 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 1 2 1 1 2 2 0 3 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 3 4 3 4 5 5 7 8 8 7 4 4 4 4 3 4 4 4 4 4 8 10 13 14 10 9 8 7 6 5 6 6 5 5 5 5 5 5 5 5 5 7 9 11 11 10 10 11 10 12 14 15 14 11 7 12 23 25 13 10 12 13 17 16 13 11 11 14 15 13 11 9 14 20 24 26 27 26 24 23 25 23 24 25 24 24 23 22 22 21 21 18 17 16 15 14 12 12 14 17 18 19 19 17 13 18 23 27 32 32 33 37 39 27 14 9 10 11 6 15 22 24 26 30 35 39 45 51 50 37 26 24 24 17 16 19 22 21 21 22 22 18 15 16 18 24 33 36 38 40 43 41 38 37 37 40 41 42 44 48 51 55 52 47 47 52 52 48 44 39 35 31 29 29 34 39 43 45 45 49 50 51 54 55 56 57 55 49 45 41 36 34 33 30 29 27 24 24 27 29 29 29 21 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 3 4 4 1 3 2 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 1 3 3 5 5 6 6 6 8 7 6 6 6 5 4 3 2 3 3 3 3 2 3 4 3 2 2 1 6 12 12 12 10 8 6 3 4 3 2 2 4 6 7 7 8 8 8 8 9 12 13 13 13 12 11 10 12 13 13 12 6 7 20 38 33 16 9 12 12 17 17 14 11 10 10 9 9 11 15 19 25 29 30 30 27 25 24 25 27 30 31 32 31 27 26 28 25 28 27 25 22 15 12 13 16 19 21 21 22 22 23 21 26 31 32 32 35 40 47 50 26 20 21 22 23 17 19 23 26 27 27 28 34 41 45 44 42 38 27 26 23 19 18 21 24 26 26 24 21 20 22 26 31 35 34 33 35 38 44 43 40 39 39 41 42 43 45 47 48 46 43 44 46 44 40 35 31 30 31 34 33 34 37 41 42 49 54 54 52 51 50 50 50 50 43 38 34 31 29 27 26 25 25 26 29 17 9 28 29 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 3 6 7 8 9 9 8 7 5 4 3 2 3 3 4 3 2 1 0 1 2 3 2 4 3 7 11 9 11 8 6 5 6 5 2 1 3 4 7 8 8 5 6 8 10 12 15 16 15 15 14 13 11 11 11 10 10 4 7 22 37 19 10 9 10 14 13 15 19 19 16 15 14 13 14 18 22 25 29 29 28 26 24 25 25 28 29 29 30 32 32 32 32 29 29 31 31 25 17 16 19 24 26 26 26 25 24 23 24 26 27 26 27 30 38 48 51 20 13 19 32 23 25 30 32 31 24 23 27 32 35 39 41 41 37 37 28 20 15 15 22 25 26 25 20 23 26 29 33 34 34 32 31 35 39 39 38 38 37 38 39 40 43 43 44 44 43 39 36 34 32 31 29 28 27 27 34 34 37 42 47 49 54 55 52 47 43 41 41 42 42 40 34 29 26 24 23 23 23 24 12 7 2 0 0 15 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 3 5 7 7 8 7 6 5 5 3 3 4 5 5 2 1 0 0 0 0 0 1 1 4 7 9 11 13 12 11 9 8 9 7 5 4 6 6 6 7 7 2 5 8 11 12 13 14 14 15 16 14 11 9 8 5 4 2 4 14 19 7 0 2 7 10 4 5 12 11 8 6 9 17 17 20 22 23 26 25 23 21 22 24 26 26 26 27 30 31 32 31 30 28 28 31 33 24 20 20 21 23 23 25 25 24 20 20 22 21 17 16 21 27 35 46 41 24 14 13 29 21 25 31 29 26 22 23 27 29 34 39 41 41 41 35 28 19 10 14 19 21 22 28 25 25 26 27 28 28 29 30 28 31 31 32 33 32 34 35 36 38 41 40 39 39 39 33 29 26 26 26 25 26 28 30 36 42 46 48 48 51 55 54 48 42 38 36 37 38 35 34 30 25 22 19 16 14 12 11 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 7 10 9 9 7 5 4 4 4 4 4 4 3 1 0 0 0 0 0 0 0 0 5 8 9 10 13 13 13 15 14 9 5 4 4 5 5 6 6 6 5 6 8 9 10 11 12 13 14 11 10 9 8 5 1 0 0 1 3 3 1 0 0 0 0 0 0 0 0 7 13 16 20 21 23 24 25 24 22 19 18 22 22 22 21 22 25 28 29 29 26 27 29 31 32 32 26 20 17 15 13 17 19 19 17 15 16 16 16 17 20 26 29 31 38 30 28 23 12 17 21 25 26 25 25 23 23 25 26 30 35 39 38 30 32 28 18 8 12 13 16 24 28 30 30 26 22 22 24 24 22 23 24 26 28 28 30 33 34 34 36 35 33 33 34 33 31 26 22 23 23 23 26 33 36 43 45 44 43 44 48 53 53 36 33 32 33 33 33 31 29 20 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 1 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 7 8 8 8 7 5 5 6 5 5 4 2 1 2 4 3 2 1 0 0 1 0 3 5 7 8 9 9 10 11 10 7 6 6 7 6 6 7 8 8 9 9 10 11 12 13 12 11 10 5 6 9 9 1 0 0 0 0 0 0 0 0 1 0 0 0 1 8 10 14 17 17 19 22 23 22 21 18 18 18 17 18 18 18 18 20 24 26 28 29 28 29 29 28 30 28 23 18 13 14 17 17 14 12 8 10 11 11 11 9 15 20 24 27 25 26 28 26 16 19 22 25 27 27 27 24 21 21 25 28 30 30 29 25 22 16 13 10 10 10 13 20 29 30 27 23 23 24 24 22 18 22 22 21 22 27 29 30 31 32 33 33 33 33 29 29 26 23 22 24 26 31 37 41 44 41 39 40 41 42 43 43 38 26 23 22 22 18 15 12 8 4 0 0 0 0 0 0 10 20 24 28 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 4 3 3 3 4 4 5 6 7 6 5 5 4 3 4 5 6 6 6 5 2 0 1 3 4 4 4 5 6 9 10 9 7 5 3 3 2 3 6 8 9 9 9 9 10 13 14 13 10 7 6 5 9 16 10 4 2 4 5 8 9 7 5 7 2 2 5 8 19 20 19 17 16 15 18 20 19 16 15 16 16 15 14 14 16 18 19 21 22 25 28 28 28 22 17 20 19 19 18 19 19 17 13 9 7 5 5 5 4 3 13 17 19 21 24 25 29 32 28 23 28 28 23 23 24 25 25 22 22 24 26 25 23 23 22 16 8 15 9 6 7 10 23 24 25 24 19 17 20 23 20 18 17 16 17 21 24 27 29 29 29 30 31 31 28 24 23 21 21 25 26 32 37 39 41 42 36 26 23 32 33 30 27 29 25 11 0 0 0 0 0 0 0 0 0 1 4 1 0 5 15 33 37 39 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 3 3 3 3 4 3 3 4 5 6 6 5 5 6 7 7 7 8 7 7 8 8 1 2 3 4 3 3 4 5 6 8 9 8 6 4 2 2 4 6 8 8 8 8 10 11 12 13 13 11 10 4 1 6 15 19 13 7 6 7 13 15 15 14 9 4 9 17 18 13 10 12 20 19 16 15 14 13 15 13 11 10 8 6 10 16 18 27 35 30 22 22 22 20 14 10 15 16 17 17 17 19 13 9 8 5 5 5 4 4 5 15 19 20 19 19 20 23 28 25 23 28 33 31 18 21 25 25 23 21 21 23 26 22 24 25 17 0 2 2 2 2 2 18 23 16 0 0 0 7 15 23 23 29 33 31 29 25 26 29 29 28 25 23 23 22 20 19 19 20 26 29 31 32 33 33 33 21 0 0 11 12 9 5 3 1 0 0 0 0 0 0 0 0 0 0 3 12 3 0 6 20 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 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 2 1 1 1 0 1 3 4 5 5 5 5 5 4 6 8 9 7 6 6 5 6 2 3 5 5 7 4 3 3 2 4 5 5 4 3 1 1 3 6 7 7 6 7 11 12 12 11 10 11 10 4 0 1 6 14 16 15 14 14 7 2 2 8 2 7 12 11 11 3 0 2 6 4 2 1 4 18 5 0 0 0 0 0 2 4 3 11 17 21 24 25 24 17 9 9 9 12 14 16 22 19 14 10 7 10 12 12 10 6 11 13 16 22 22 19 15 15 21 23 24 25 25 21 19 21 24 25 25 25 24 22 24 22 22 13 0 4 7 5 0 1 10 7 10 16 2 1 3 9 18 34 35 40 44 41 29 21 20 25 25 24 15 6 3 1 13 19 17 19 23 19 11 9 25 29 28 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 1 3 4 4 4 5 4 4 2 3 5 7 6 5 4 5 4 4 6 8 9 10 6 3 1 0 1 2 2 2 1 1 1 2 5 6 6 6 7 10 10 9 8 7 1 0 0 0 0 0 4 8 11 11 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 7 0 0 8 11 10 10 17 19 13 7 9 7 7 10 17 19 19 17 12 9 14 13 13 17 14 14 13 15 23 24 20 17 17 23 26 26 25 22 24 25 24 25 28 28 31 30 24 24 25 23 14 4 13 15 8 0 0 11 12 10 12 22 8 9 24 34 42 45 44 40 30 8 0 4 14 12 10 5 0 0 11 15 13 12 15 12 5 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 3 3 3 2 0 0 0 0 1 3 3 3 3 4 2 2 3 3 3 3 5 5 5 6 5 5 6 7 8 9 6 2 0 1 0 0 0 1 12 6 2 3 5 5 6 7 8 8 8 9 7 0 0 0 0 0 0 0 0 1 3 2 1 0 0 0 0 0 0 0 0 4 8 7 0 0 0 0 0 0 0 0 0 0 0 0 7 14 13 3 10 17 15 7 13 12 9 10 12 12 12 14 13 17 18 18 16 13 14 12 11 11 12 14 15 16 19 24 23 21 21 25 27 25 21 19 25 26 24 23 26 28 30 27 21 23 28 27 21 21 16 13 17 24 24 22 20 21 24 17 9 11 25 33 38 40 39 27 7 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 1 1 0 0 0 0 2 1 2 3 3 3 3 4 5 5 6 4 2 1 2 4 5 5 6 9 7 4 2 2 1 0 1 4 15 10 8 6 4 5 5 6 7 8 6 6 7 7 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 16 18 14 11 5 0 0 0 0 0 0 0 0 0 2 5 4 9 16 18 12 2 6 8 7 13 14 17 20 16 10 14 16 15 16 11 9 11 14 6 12 20 27 28 27 19 18 22 18 19 18 18 18 20 25 26 24 22 22 27 24 9 6 16 20 18 18 20 19 25 38 45 39 34 30 23 19 17 18 21 24 28 21 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 1 2 1 2 3 4 5 5 3 1 0 3 5 6 7 9 9 6 3 2 3 2 5 7 8 10 7 5 5 5 5 6 7 7 7 5 4 4 3 1 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 10 17 16 18 11 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 6 15 24 26 19 19 18 15 11 10 3 0 3 13 8 13 18 20 33 34 26 20 21 17 18 17 14 13 18 23 25 25 25 26 28 23 0 0 2 2 2 10 9 13 20 21 31 30 21 6 2 0 12 23 22 23 23 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 3 1 2 2 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 1 4 5 7 10 11 8 5 4 4 4 6 6 6 5 4 6 7 6 7 9 11 13 13 10 9 8 7 0 0 3 7 11 12 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 11 13 12 13 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 9 11 18 19 9 23 11 6 12 12 8 3 0 1 4 8 12 15 24 28 29 26 18 18 19 19 17 14 12 14 16 17 20 20 21 24 25 3 0 0 0 0 0 0 5 10 1 7 13 17 15 3 0 8 19 17 14 12 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 4 5 1 3 6 5 3 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 1 2 4 4 6 9 12 12 8 6 8 8 11 15 16 15 12 11 11 11 10 9 9 9 10 18 16 9 2 1 0 0 5 13 19 21 12 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 13 21 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 13 12 10 8 5 0 26 25 19 19 14 8 3 0 0 0 2 3 4 18 21 23 17 1 9 9 11 14 4 2 6 11 14 14 17 20 23 24 6 0 0 0 0 0 0 0 0 0 0 2 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 3 3 2 4 2 1 4 8 6 6 4 2 2 2 1 0 0 0 0 0 0 0 0 0 1 2 2 5 6 8 11 14 13 9 7 10 11 13 15 15 13 12 12 7 0 0 0 0 0 1 7 6 3 0 0 0 0 3 8 12 11 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 4 18 14 6 0 0 0 0 0 0 1 12 17 20 19 8 2 0 2 5 1 0 4 11 10 14 19 24 25 12 3 0 0 0 0 0 0 0 0 0 0 0 0 0 9 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 1 3 2 1 1 4 4 3 1 3 5 3 4 10 9 9 9 7 3 3 2 1 0 0 0 0 0 0 0 1 1 1 2 2 4 7 11 16 16 13 10 12 13 12 11 12 12 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 9 7 0 0 0 0 0 0 0 12 17 18 20 16 5 0 0 0 0 0 0 0 0 7 12 15 12 11 13 15 16 17 6 2 4 7 9 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 3 4 3 3 3 2 8 4 0 0 2 8 9 9 11 2 0 0 1 5 3 2 1 0 0 0 0 0 0 0 1 2 1 1 2 3 5 8 13 16 16 15 15 15 13 12 9 2 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 10 0 0 0 0 3 15 16 18 18 18 14 7 5 5 0 0 0 0 0 0 0 0 0 0 0 5 11 15 3 1 9 15 13 15 14 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 3 3 1 2 3 3 3 4 3 6 4 1 4 4 7 8 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 2 1 1 1 4 8 10 12 13 15 17 16 12 1 0 0 0 0 0 0 2 3 0 0 0 0 0 0 0 0 0 0 2 3 3 0 0 2 4 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 8 0 0 0 0 3 17 18 18 18 18 15 14 14 10 1 0 0 0 0 0 0 0 0 0 0 0 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 22 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 1 1 0 1 1 1 0 0 2 3 4 5 5 5 4 3 4 5 5 6 6 6 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 3 4 5 6 10 14 9 4 2 0 0 0 0 0 0 0 0 0 0 0 2 4 0 0 5 5 1 0 7 11 12 12 14 15 16 17 16 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 0 2 12 11 10 9 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 17 23 13 0 0 2 5 5 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 6 5 4 2 3 4 5 6 6 4 2 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 2 3 4 4 4 4 3 2 2 4 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 8 10 10 8 1 0 5 12 22 27 18 11 16 17 17 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 0 0 0 0 0 0 0 0 0 0 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 2 25 17 4 5 27 27 26 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 2 0 2 4 4 4 4 2 2 2 1 2 2 2 2 1 1 1 0 0 0 0 0 0 1 3 3 4 5 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 8 6 0 0 0 0 0 1 8 12 6 1 4 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 11 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 0 1 3 5 5 5 2 0 0 0 1 2 2 2 0 0 0 1 1 1 1 1 1 3 4 3 4 6 6 5 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 1 1 1 1 1 1 2 2 1 0 0 2 3 5 6 5 3 2 1 3 2 1 0 0 0 1 2 3 5 6 5 2 0 0 0 0 0 0 0 0 1 2 2 2 1 1 2 4 4 3 3 6 7 7 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 3 3 2 3 3 3 4 6 4 3 3 4 8 7 4 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 3 5 3 2 1 1 4 5 4 0 0 0 0 0 0 0 0 0 0 2 3 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 4 4 4 3 4 4 4 5 3 3 3 4 8 8 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 3 3 6 6 4 3 2 4 2 0 0 0 0 0 0 0 0 0 0 0 0 7 10 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 CIN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8 -13 -14 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -13 -8 -3 -1 -2 -6 -7 -8 -11 -12 -11 -11 -11 -11 -10 -10 -10 -10 -10 -9 -8 -9 -12 -13 -13 -13 -12 -12 -12 -11 -11 -11 -10 -12 -11 -11 -13 -10 -13 -13 -10 -9 -9 -8 -10 -8 -9 -10 -11 -11 -11 -11 -9 -11 -12 -12 -12 -11 -11 -11 -7 -3 -3 -4 -4 -3 -9 -8 -5 -6 -3 -3 -3 -2 -5 -8 -8 -5 -6 -5 -5 -6 -6 -4 -3 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -2 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 0 0 -1 -2 -2 -3 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -4 -3 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -2 -3 -3 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -7 -3 -9 -15 -15 -15 -9 -12 -14 -15 -13 -8 -7 -6 -11 -7 -3 -4 -2 -4 -6 -7 -10 -12 -12 -11 -10 -10 -5 -1 -4 -10 -11 -13 -10 -9 -12 -13 -13 -13 -13 -12 -12 -12 -11 -11 -11 -11 -13 -12 -11 -14 -10 -10 -10 -11 -12 -11 -8 -12 -11 -12 -12 -12 -12 -11 -11 -12 -12 -12 -12 -12 -12 -11 -11 -8 -4 -4 -4 -4 -3 -7 -7 -5 -5 -10 -4 -3 -3 -4 -5 -6 -5 -5 -4 -3 -3 -5 -6 -3 -3 -2 -3 -3 -4 -4 -1 -2 -3 -3 -2 -2 -2 -2 -1 -1 -2 -3 -3 -2 -2 -2 -3 -3 -3 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 0 -1 -2 -2 -3 -3 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 0 0 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 0 -1 -1 -1 -3 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -13 -6 -2 -2 -1 -1 -12 -4 -7 -11 -7 -1 -8 -2 -8 -6 -1 -1 -3 -7 -9 -10 -11 -12 -11 -5 -12 -6 -1 -4 -10 -11 -11 -14 -12 -12 -13 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -10 -11 -11 -10 -11 -14 -14 -12 -11 -12 -11 -9 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -9 -8 -8 -7 -5 -6 -4 -3 -4 -6 -7 -7 -4 -2 -6 -7 -6 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -3 -4 -2 -3 -3 -3 -3 -2 -2 -2 -2 -1 -2 -3 -3 -2 -2 -2 -3 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -3 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -2 -3 -2 -1 -1 -1 0 0 0 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 0 -1 0 -1 -1 -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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -4 -4 0 0 -12 -15 -7 0 0 -2 -14 -4 0 0 0 0 -1 -6 -8 -12 -13 -13 -12 -1 0 -7 -9 -8 -7 -6 -1 -4 -2 -4 -9 -10 -10 -14 -15 -14 -13 -13 -13 -13 -13 -12 -12 -13 -16 -15 -11 -10 -11 -11 -10 -10 -10 -10 -10 -11 -12 -10 -8 -8 -10 -10 -10 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -10 -7 -8 -11 -11 -5 -4 -3 -3 -5 -5 -4 -4 -3 -3 -4 -9 -5 -4 -4 -7 -8 -4 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -2 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -2 -2 -1 -2 -2 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -2 -1 -1 -1 -1 0 0 -1 0 -1 -2 -2 -1 -1 -1 0 0 -1 -1 -2 -1 -1 -1 -1 0 0 0 -1 -1 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 -10 -8 0 0 -5 -5 -3 0 0 0 0 0 0 0 0 0 0 -7 -13 -14 -14 -12 -1 0 0 0 0 0 0 0 0 0 0 -4 -10 -10 -10 -13 -14 -14 -14 -13 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -12 -14 -13 -14 -14 -14 -12 -9 -10 -13 -10 -9 -8 -7 -8 -9 -12 -12 -12 -12 -13 -13 -13 -13 -13 -13 -11 -11 -10 -10 -7 -5 -4 -4 -4 -4 -9 -10 -10 -10 -7 -2 -4 -4 -4 -5 -6 -7 -9 -4 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -3 -2 -2 -2 -2 -2 -3 -2 -2 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -2 -3 -3 -2 -3 -2 -1 -1 -1 0 0 0 0 -1 -1 -2 -2 -1 -1 0 0 0 0 -2 -1 -1 -1 -1 0 0 0 -1 -1 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7 -13 -15 -14 -12 -2 -1 0 0 0 0 0 0 0 0 0 -4 -9 -11 -16 -16 -15 -14 -14 -14 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -12 -14 -15 -12 -12 -11 -11 -10 -9 -10 -13 -11 -8 -7 -7 -7 -11 -12 -12 -12 -12 -13 -13 -13 -13 -12 -12 -12 -11 -11 -10 -8 -7 -5 -3 -3 -3 -5 -7 -9 -10 -7 -3 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 0 0 0 -1 -2 -2 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7 -9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 -6 -5 -4 -3 -1 0 0 0 0 0 0 0 0 0 -4 -9 -11 -16 -16 -15 -15 -15 -13 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -12 -14 -13 -11 -10 -10 -10 -10 -10 -9 -13 -11 -10 -10 -10 -10 -11 -12 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -9 -8 -8 -6 -4 -4 -4 -4 -4 -6 -9 -3 -4 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -1 -1 -2 -3 -3 -3 -3 -3 -2 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 -1 0 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -9 -10 -10 -15 -15 -15 -15 -14 -13 -13 -13 -13 -12 -11 -11 -11 -12 -12 -11 -11 -10 -10 -10 -13 -11 -10 -12 -15 -14 -9 -11 -13 -14 -13 -12 -11 -12 -12 -12 -12 -13 -13 -13 -13 -11 -10 -12 -12 -12 -6 -9 -11 -9 -4 -4 -4 -4 -4 -4 -4 -4 -9 -8 -8 -6 -4 -4 -4 -6 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -2 -1 -1 -2 -1 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -2 -2 -1 -1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -11 -14 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -11 -12 -12 -12 -12 -12 -11 -11 -11 -13 -15 -12 -11 -14 -14 -10 -9 -9 -11 -11 -8 -8 -10 -11 -12 -10 -9 -12 -11 -11 -12 -12 -11 -13 -12 -9 -6 -4 -6 -7 -4 -4 -4 -4 -6 -7 -7 -10 -9 -8 -7 -6 -4 -5 -9 -6 -4 -4 -4 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -1 -2 -2 -2 -3 -2 -2 -2 -2 -2 -1 -2 -2 -1 -2 -2 -2 -2 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 0 -1 -2 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -6 -8 -11 -16 -16 -15 -15 -15 -14 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -12 -12 -11 -12 -14 -9 -9 -10 -10 -10 -10 -8 -10 -12 -12 -10 -9 -12 -8 -5 -7 -11 -13 -13 -13 -13 -12 -8 -5 -5 -5 -5 -4 -4 -6 -8 -7 -4 -6 -4 -3 -4 -4 -4 -4 -5 -4 -4 -4 -3 -2 -2 -2 -1 -2 -2 -2 -2 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -2 -1 -2 -2 -2 -2 -2 -2 -1 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -2 -1 -1 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -10 -10 -11 -12 -11 -10 -12 -15 -14 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -11 -15 -15 -15 -14 -14 -14 -15 -12 -11 -10 -12 -13 -13 -12 -9 -7 -9 -12 -14 -14 -14 -11 -7 -5 -6 -8 -7 -5 -4 -6 -7 -6 -7 -4 -3 -3 -4 -5 -4 -4 -4 -4 -4 -2 -2 -4 -1 -2 -2 -1 -2 -4 -3 -2 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -2 -3 -3 -2 -1 -1 -1 -1 -2 -3 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -4 -8 -11 -11 -11 -11 -10 -10 -12 -15 -14 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -11 -13 -11 -11 -14 -15 -15 -14 -14 -12 -13 -13 -11 -11 -14 -13 -9 -9 -11 -11 -11 -13 -8 -7 -6 -7 -7 -5 -5 -5 -4 -4 -5 -5 -4 -4 -4 -4 -4 -4 -6 -4 -4 -4 -4 -4 -4 -2 -2 -2 -3 -3 -3 -4 -4 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 0 0 0 0 0 0 -1 -2 -2 -1 -1 0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -3 -3 -3 -4 -3 -1 0 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -12 -14 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -11 -12 -10 -11 -15 -15 -15 -15 -15 -13 -15 -16 -15 -14 -14 -9 -13 -13 -10 -6 -5 -8 -5 -4 -4 -5 -4 -5 -6 -5 -4 -5 -6 -5 -10 -10 -6 -7 -8 -6 -7 -5 -4 -4 -4 -4 -5 -4 -6 -6 -5 -4 -4 -4 -3 -4 -3 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -1 -2 -2 -1 -1 -2 -2 -2 -2 -2 -1 0 -1 -2 -2 -1 -2 -2 -2 -1 -1 -1 -2 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -2 -2 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 0 -1 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -9 -10 -12 -13 -11 -10 -10 -10 -10 -13 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -11 -11 -11 -11 -11 -12 -15 -14 -14 -13 -12 -12 -11 -10 -14 -14 -13 -11 -9 -4 -4 -9 -8 -5 -4 -5 -5 -3 -5 -5 -6 -8 -10 -12 -11 -6 -6 -8 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -2 -2 -3 -3 -2 -1 -1 -3 -3 -2 -2 -2 -2 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 0 -1 -1 -1 0 0 0 -1 0 0 -3 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 -11 -12 -12 -12 -11 -11 -13 -13 -10 -10 -10 -10 -10 -10 -11 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -14 -11 -10 -12 -14 -14 -14 -10 -13 -14 -11 -9 -10 -5 -4 -7 -7 -5 -5 -6 -8 -8 -8 -7 -6 -11 -12 -12 -11 -10 -9 -8 -6 -5 -6 -5 -4 -5 -5 -4 -3 -3 -3 -3 -3 -3 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -1 -2 -1 -1 -1 -1 -3 -3 -3 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 -1 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -12 -13 -12 -12 -12 -12 -12 -13 -11 -10 -10 -11 -11 -10 -12 -15 -14 -13 -13 -14 -13 -14 -14 -14 -14 -14 -14 -13 -12 -13 -13 -13 -12 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -12 -14 -12 -15 -14 -14 -12 -11 -13 -12 -6 -5 -5 -5 -6 -10 -9 -8 -8 -8 -8 -7 -12 -10 -8 -7 -8 -8 -3 -5 -7 -8 -7 -4 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -1 -1 -1 -1 -1 -1 -1 -1 -4 -2 0 0 0 0 0 0 0 0 -1 -3 -1 -3 -3 -3 -2 -2 -2 -1 -2 -2 -2 -2 -3 -2 -1 -1 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -3 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -9 -13 -14 -14 -13 -12 -11 -10 -12 -14 -11 -11 -11 -11 -11 -12 -14 -15 -10 -10 -13 -14 -13 -14 -14 -14 -14 -14 -14 -13 -13 -13 -14 -13 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -10 -10 -10 -11 -12 -14 -15 -15 -15 -15 -14 -9 -8 -6 -6 -6 -6 -6 -8 -8 -8 -8 -8 -8 -8 -10 -7 -6 -7 -7 -5 -3 -3 -6 -9 -9 -6 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -4 -5 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -2 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -4 -5 -6 -8 -10 -8 -4 -3 -2 -1 0 0 0 -3 -8 -7 -6 -10 -12 -11 -12 -15 -15 -11 -14 -15 -14 -12 -14 -15 -15 -15 -15 -14 -13 -14 -14 -14 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -11 -10 -10 -12 -14 -15 -16 -16 -16 -15 -15 -13 -10 -6 -5 -6 -6 -6 -9 -9 -8 -8 -8 -8 -7 -6 -7 -7 -6 -7 -6 -6 -6 -5 -5 -6 -6 -5 -4 -3 -3 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 -3 -2 0 0 0 0 -1 -1 -1 -2 -1 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -2 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -6 -12 -11 -11 -8 -6 -3 0 0 0 0 0 0 0 0 0 0 -7 -7 -8 -11 -11 -11 -15 -16 -16 -15 -14 -12 -15 -15 -15 -15 -15 -14 -14 -14 -14 -13 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -11 -10 -10 -12 -16 -16 -16 -13 -14 -14 -9 -5 -10 -7 -5 -5 -5 -6 -9 -9 -9 -9 -9 -8 -6 -5 -6 -8 -10 -10 -9 -9 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -4 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 -2 -2 -2 -1 -1 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -1 -1 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -2 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -5 -4 -1 0 0 0 0 0 0 0 0 0 0 0 0 -6 -4 -4 -11 -11 -11 -15 -16 -16 -15 -16 -16 -16 -16 -16 -15 -14 -14 -15 -15 -14 -13 -13 -13 -13 -12 -11 -11 -11 -11 -11 -11 -11 -12 -12 -14 -14 -13 -15 -13 -9 -6 -6 -6 -9 -8 -7 -5 -5 -5 -9 -9 -9 -9 -9 -10 -7 -7 -7 -8 -8 -10 -9 -4 -4 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -2 -3 -2 -1 -1 -1 -2 -2 -1 -1 -4 -1 -1 -1 -2 -2 -1 0 0 -1 0 0 0 -1 -2 -2 -2 -1 -1 -1 -2 -2 -1 -2 -4 -3 -2 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 -6 -2 -3 -2 -4 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -2 -9 -15 -16 -15 -13 -16 -16 -16 -16 -16 -15 -15 -15 -15 -14 -14 -13 -12 -12 -12 -11 -11 -11 -11 -11 -11 -10 -14 -15 -13 -16 -15 -12 -14 -14 -9 -6 -6 -8 -9 -9 -8 -5 -5 -5 -6 -6 -5 -5 -5 -11 -6 -6 -7 -8 -10 -10 -4 -4 -6 -7 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -3 -2 -2 -2 -2 -3 -3 -1 -2 -4 -4 -3 -2 -3 -3 0 0 0 0 0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -13 -3 -7 -6 -2 -3 -1 -3 -4 -4 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -12 -17 -17 -16 -16 -16 -16 -16 -16 -16 -15 -15 -15 -14 -14 -14 -13 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -13 -16 -14 -16 -12 -13 -13 -8 -7 -6 -7 -12 -12 -12 -11 -5 -5 -5 -5 -5 -5 -5 -5 -8 -6 -4 -5 -7 -6 -9 -5 -4 -6 -6 -5 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -2 -3 -3 -3 -1 -1 -1 -3 -2 -2 -3 -2 -1 0 0 0 -1 -1 -2 -2 -2 -1 -1 -2 -5 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 0 0 -1 -1 -2 -2 -3 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -9 -10 -15 -17 -17 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -11 -10 -10 -10 -12 -16 -16 -12 -8 -10 -11 -6 -6 -6 -7 -7 -11 -16 -15 -6 -5 -5 -4 -5 -5 -5 -5 -8 -7 -5 -7 -8 -7 -5 -3 -4 -5 -4 -4 -6 -6 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -5 -6 -3 -2 -2 -2 -3 -3 -2 -3 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -3 -3 -2 -2 -1 -1 -1 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -1 -2 -2 -1 -1 -1 0 0 0 -1 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -3 -2 0 0 0 0 0 0 0 0 0 -3 -6 -5 0 0 -10 -12 -14 -17 -17 -17 -17 -17 -17 -16 -14 -16 -16 -15 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -12 -11 -10 -10 -10 -10 -13 -15 -9 -6 -7 -7 -6 -6 -7 -7 -6 -8 -12 -11 -6 -5 -5 -5 -5 -5 -5 -5 -7 -8 -8 -9 -9 -7 -5 -6 -7 -4 -4 -4 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -3 -3 -2 -3 -4 -3 -1 -4 -2 -3 -3 -2 -3 -3 -3 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -3 -3 -3 -3 -2 -1 -1 -2 -2 -2 -2 -1 0 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 -4 -8 -11 -8 -8 -11 -14 -17 -17 -17 -17 -17 -17 -17 -17 -15 -16 -16 -16 -15 -14 -13 -13 -13 -13 -13 -12 -11 -11 -12 -10 -9 -10 -10 -7 -8 -11 -10 -11 -14 -14 -14 -15 -16 -11 -7 -9 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -7 -9 -9 -9 -8 -8 -7 -5 -8 -6 -6 -5 -5 -6 -6 -5 -5 -5 -6 -5 -4 -3 -3 -4 -5 -5 -4 -3 -5 -3 -3 -4 -4 -3 -2 -2 -3 -4 -3 -3 -3 -3 -2 -1 -1 -2 -3 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -2 -2 -2 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -2 -3 -1 -1 -1 0 -1 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -4 -5 -8 -12 -12 -11 -15 -17 -17 -18 -17 -17 -17 -17 -16 -17 -12 -11 -14 -13 -12 -14 -10 -13 -13 -13 -13 -13 -11 -11 -11 -10 -10 -10 -11 -11 -9 -7 -9 -13 -15 -9 -8 -14 -15 -11 -8 -13 -9 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -7 -8 -6 -5 -5 -6 -7 -11 -11 -8 -5 -5 -6 -7 -6 -6 -6 -6 -5 -4 -4 -4 -6 -7 -5 -2 -6 -6 -4 -3 -2 -2 -2 -2 -2 -4 -5 -3 -3 -3 -3 -2 -1 -1 -2 -2 -3 -3 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -2 -2 -2 -2 -2 -2 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 -11 -13 -12 -12 -12 -12 -15 -18 -18 -18 -17 -14 -15 -14 -12 -14 -10 -10 -10 -10 -9 -10 -15 -15 -14 -13 -13 -14 -14 -12 -11 -11 -10 -11 -11 -12 -9 -8 -9 -9 -9 -7 -6 -7 -6 -7 -7 -7 -11 -10 -8 -6 -6 -6 -6 -5 -6 -6 -6 -6 -6 -5 -4 -4 -7 -6 -5 -9 -7 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -5 -7 -7 -6 -1 -6 -6 -5 -3 -1 -1 -1 -2 -3 -5 -5 -3 -2 -2 -2 -1 -1 -1 -1 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -1 0 0 0 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -4 -8 -13 -13 -13 -12 -12 -14 -18 -18 -18 -14 -12 -12 -11 -10 -10 -10 -10 -9 -9 -10 -14 -15 -15 -15 -15 -14 -14 -9 -8 -11 -12 -12 -13 -11 -12 -11 -10 -8 -6 -6 -6 -6 -6 -7 -7 -7 -7 -9 -9 -8 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -7 -7 -6 -7 -7 -5 -8 -7 -5 -5 -5 -5 -6 -6 -5 -3 -3 -3 -4 -5 -6 -6 -6 -1 -6 -6 -5 -4 -2 -3 -2 -2 -3 -3 -2 -2 -2 -3 -3 -1 -1 -1 -1 -1 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -1 -1 -1 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -13 -13 -13 -17 -14 -12 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -13 -15 -15 -14 -14 -14 -12 -14 -15 -14 -14 -13 -12 -12 -14 -12 -7 -7 -10 -8 -6 -6 -8 -10 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -10 -6 -7 -9 -8 -6 -5 -6 -6 -7 -6 -5 -5 -5 -5 -5 -6 -6 -4 -5 -4 -4 -4 -5 -7 -2 -1 -4 -5 -4 -5 -3 -3 -3 -3 -2 -3 -2 -2 -3 -3 -3 -2 -1 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -2 -2 -1 -1 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -13 -13 -13 -13 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -12 -14 -14 -14 -15 -15 -15 -15 -14 -13 -13 -12 -12 -13 -14 -10 -10 -8 -8 -7 -8 -10 -7 -7 -7 -7 -7 -7 -9 -10 -7 -5 -6 -6 -6 -10 -5 -6 -9 -8 -7 -6 -6 -9 -9 -7 -6 -7 -5 -5 -6 -6 -6 -4 -3 -3 -4 -5 -4 -10 -6 -5 -5 -4 -2 -5 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 0 -1 -1 0 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -14 -16 -15 -15 -15 -14 -14 -13 -13 -13 -13 -12 -12 -11 -11 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -11 -13 -14 -12 -12 -11 -10 -11 -14 -14 -13 -13 -11 -10 -11 -12 -14 -9 -7 -7 -6 -6 -8 -7 -6 -7 -7 -7 -7 -6 -6 -5 -6 -9 -4 -7 -5 -5 -8 -8 -7 -6 -6 -8 -9 -7 -5 -4 -5 -5 -6 -7 -7 -4 -3 -3 -4 -5 -3 -8 -7 -5 -3 -4 -5 -3 -3 -2 -2 -2 -1 -2 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -1 -1 0 -1 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -2 -2 -2 -2 -2 -1 0 0 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -14 -16 -16 -15 -15 -14 -14 -13 -13 -13 -13 -12 -11 -11 -12 -12 -13 -13 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -12 -10 -10 -10 -9 -10 -14 -14 -13 -10 -9 -9 -9 -12 -11 -8 -7 -8 -6 -13 -13 -9 -7 -8 -6 -6 -9 -10 -8 -5 -6 -10 -5 -6 -6 -5 -6 -5 -5 -6 -6 -6 -6 -2 -1 0 -3 -4 -3 -7 -5 -4 -4 -4 -5 -5 -2 -2 -2 -1 -1 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -2 -2 -2 -3 -3 -3 -2 -2 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -3 -2 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -15 -16 -17 -16 -16 -15 -14 -14 -14 -13 -13 -13 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -11 -11 -11 -10 -10 -10 -10 -11 -11 -10 -11 -15 -14 -13 -13 -11 -9 -9 -8 -10 -11 -10 -10 -10 -10 -11 -8 -6 -7 -9 -8 -6 -6 -6 -6 -5 -4 -5 -5 -6 -6 -5 -5 -6 -6 -7 -9 -10 -5 -6 -4 -3 -5 -6 -6 -7 -6 -6 -6 -5 -7 -3 -1 0 0 0 -1 -3 -2 -2 -2 -2 -3 -3 -2 -2 -2 -1 -1 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -1 -2 -2 -1 -1 0 -1 -1 -1 -3 -4 -3 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -2 -2 -2 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -14 -17 -17 -17 -16 -15 -15 -14 -14 -14 -13 -13 -13 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -14 -15 -14 -14 -14 -13 -13 -13 -10 -10 -10 -11 -16 -12 -12 -11 -8 -6 -7 -9 -7 -7 -8 -8 -8 -4 -4 -6 -6 -6 -6 -8 -7 -9 -9 -8 -7 -6 -6 -6 -6 -6 -7 -8 -2 -2 -1 -4 -7 -7 -6 -5 -5 -6 -4 -1 -4 -3 -2 -1 -2 -2 -3 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -3 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -3 -8 -13 -17 -17 -17 -17 -16 -15 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -10 -11 -15 -15 -14 -14 -14 -14 -11 -11 -9 -10 -9 -8 -12 -11 -12 -11 -9 -6 -8 -10 -8 -9 -9 -9 -8 -8 -6 -5 -5 -5 -6 -9 -9 -9 -9 -9 -7 -6 -6 -6 -6 -7 -6 -7 -2 -1 0 -1 -4 -7 -3 -6 -7 -6 -4 -2 -4 -2 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -2 -1 -2 -2 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -11 -12 -16 -12 -10 -13 -16 -15 -15 -15 -15 -15 -14 -13 -13 -14 -14 -13 -11 -8 -9 -12 -14 -14 -14 -13 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -10 -10 -11 -15 -15 -14 -14 -14 -14 -10 -9 -9 -9 -8 -8 -8 -10 -8 -8 -8 -6 -10 -10 -10 -10 -8 -6 -8 -7 -6 -5 -5 -5 -5 -9 -7 -7 -8 -9 -9 -7 -6 -7 -7 -6 -6 -2 -1 0 -1 -2 -7 -7 -4 -5 -7 -6 -4 -1 -1 0 -1 -2 -4 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -10 -9 -9 -15 -16 -16 -14 -10 -14 -15 -16 -14 -13 -14 -14 -14 -14 -14 -13 -12 -8 -8 -8 -11 -13 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -11 -10 -10 -10 -11 -14 -16 -16 -14 -14 -12 -12 -10 -9 -7 -7 -7 -12 -12 -9 -6 -7 -10 -10 -10 -10 -9 -9 -7 -6 -6 -5 -5 -5 -5 -8 -7 -6 -7 -7 -10 -8 -6 -6 -6 -4 -3 -2 -1 -1 -1 -2 -7 -6 -6 -7 -7 -5 -3 -2 -1 -1 -1 -3 -5 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -2 -2 -1 -1 -1 -2 -2 -1 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -1 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -4 -7 -9 -9 -9 -11 -10 -10 -9 -9 -9 -13 -15 -14 -12 -11 -14 -14 -14 -13 -13 -12 -8 -9 -9 -8 -9 -11 -14 -14 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -10 -10 -10 -11 -11 -11 -14 -13 -12 -11 -9 -8 -11 -8 -8 -8 -9 -11 -9 -9 -10 -10 -10 -9 -7 -8 -7 -6 -5 -3 -4 -4 -7 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -3 -2 -1 -1 -2 -1 -6 -7 -6 -6 -7 -6 -4 -2 -1 -1 -2 -2 -3 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -12 -13 -12 -12 -14 -15 -15 -14 -12 -8 -13 -13 -12 -9 -8 -11 -11 -13 -14 -13 -13 -13 -14 -14 -13 -12 -12 -11 -11 -10 -10 -10 -9 -6 -8 -5 -9 -11 -9 -8 -9 -8 -10 -9 -8 -10 -9 -9 -9 -10 -10 -10 -9 -8 -7 -6 -5 -5 -5 -6 -8 -9 -10 -9 -7 -7 -8 -9 -9 -9 -10 -7 -7 -5 -3 -2 -4 -2 -5 -8 -8 -7 -7 -5 -4 -3 -2 -1 -2 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -12 -15 -15 -15 -13 -9 -8 -7 -12 -12 -12 -11 -10 -10 -11 -13 -14 -14 -14 -9 -13 -14 -14 -13 -12 -11 -11 -11 -11 -11 -10 -10 -10 -6 -7 -10 -11 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -10 -9 -8 -8 -7 -6 -5 -5 -4 -6 -6 -6 -6 -8 -7 -7 -7 -10 -13 -12 -13 -8 -10 -10 -8 -6 -7 -7 -7 -9 -11 -7 -6 -3 -3 -3 -3 -2 -1 -3 -3 -3 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -3 -3 -5 -4 -3 -3 -2 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 0 -1 -1 -2 -2 -2 -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 -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 0 0 0 0 0 0 0 0 0 0 0 -7 -9 -9 -9 -9 -9 -10 -10 -10 -9 -9 -10 -10 -9 -12 -15 -16 -12 -12 -14 -15 -13 -8 -8 -8 -9 -10 -10 -11 -13 -8 -12 -13 -12 -9 -9 -8 -13 -15 -14 -13 -12 -12 -11 -11 -9 -6 -7 -10 -14 -9 -5 -6 -8 -12 -12 -11 -9 -6 -4 -6 -6 -8 -7 -6 -8 -6 -6 -7 -8 -7 -5 -5 -3 -6 -8 -7 -4 -7 -7 -7 -6 -5 -8 -9 -8 -8 -10 -10 -11 -7 -9 -8 -7 -7 -9 -5 -5 -4 -4 -4 -4 -3 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -1 -2 -3 -3 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 0 -1 -3 -3 -4 -4 -5 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -13 -16 -13 -13 -15 -15 -15 -14 -9 -12 -13 -14 -13 -10 -13 -9 -11 -13 -13 -12 -9 -8 -12 -13 -12 -12 -12 -12 -9 -7 -7 -10 -10 -9 -8 -8 -8 -7 -6 -9 -9 -8 -7 -6 -6 -6 -6 -6 -5 -6 -9 -9 -7 -6 -6 -5 -5 -6 -5 -6 -7 -7 -4 -6 -7 -7 -6 -4 -5 -8 -5 -7 -10 -8 -4 -1 -3 -3 -3 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -3 -3 -3 -3 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -3 -4 -4 -4 -5 -5 -5 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -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 -2 -6 -9 -9 -9 -10 -10 -10 -10 -10 -16 -11 -9 -13 -16 -16 -16 -16 -16 -14 -12 -15 -14 -10 -9 -9 -11 -13 -7 -9 -8 -10 -13 -13 -13 -9 -9 -9 -9 -8 -9 -10 -10 -9 -9 -8 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -7 -7 -7 -8 -8 -6 -8 -8 -7 -6 -6 -5 -5 -7 -6 -6 -5 -5 -5 -7 -7 -8 -9 -8 -5 -6 -6 -7 -7 -3 -1 -1 -4 -6 -5 -4 -5 -7 -8 -7 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -2 -3 -2 -2 -3 -3 -3 -2 -2 -2 -2 -3 -2 -2 -2 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -1 -2 -3 -4 -4 -3 -3 -4 -3 -3 -3 -3 -3 -3 -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 -6 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -12 -14 -14 -16 -16 -16 -15 -14 -15 -15 -14 -14 -13 -13 -12 -7 -9 -11 -12 -13 -12 -9 -8 -12 -13 -11 -9 -10 -11 -10 -10 -10 -9 -8 -7 -7 -8 -8 -5 -8 -8 -7 -7 -7 -7 -7 -7 -7 -10 -12 -11 -9 -7 -8 -8 -6 -6 -6 -5 -7 -8 -9 -7 -5 -5 -6 -7 -8 -8 -6 -9 -8 -7 -7 -6 -4 -4 -8 -9 -7 -6 -5 -8 -8 -7 -4 -2 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -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 -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 -1 -2 -6 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -10 -12 -13 -10 -10 -13 -13 -14 -16 -11 -15 -11 -8 -8 -8 -8 -8 -7 -11 -14 -14 -13 -13 -13 -10 -8 -9 -10 -13 -13 -12 -11 -11 -10 -9 -6 -5 -5 -6 -8 -6 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -11 -10 -9 -7 -7 -7 -7 -9 -6 -5 -5 -7 -8 -7 -5 -9 -9 -6 -6 -10 -7 -8 -7 -7 -7 -6 -6 -3 -2 -2 -3 -7 -7 -7 -7 -6 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -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 -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 -8 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -10 -10 -10 -10 -9 -8 -8 -9 -7 -9 -11 -10 -10 -9 -9 -8 -9 -10 -13 -13 -12 -12 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -5 -7 -7 -7 -6 -4 -7 -8 -7 -7 -7 -6 -6 -7 -6 -5 -5 -5 -6 -8 -7 -10 -12 -11 -10 -10 -10 -7 -6 -6 -6 -6 -6 -5 -6 -6 -6 -9 -8 -6 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -1 0 -1 -2 -2 -2 -3 -3 -3 -2 -2 -3 -3 -4 -4 -4 -3 -2 -2 -2 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -1 -2 -2 -2 -3 -4 -3 -2 -2 -2 -2 -3 -3 -3 -2 -3 -3 -3 -3 -4 -4 -3 -4 -4 -4 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -7 -11 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -10 -10 -10 -10 -10 -10 -10 -10 -8 -8 -8 -8 -7 -8 -9 -12 -12 -8 -11 -11 -9 -13 -13 -12 -11 -9 -9 -7 -10 -10 -11 -11 -8 -5 -5 -5 -7 -9 -9 -7 -5 -7 -5 -5 -6 -3 -3 -8 -8 -7 -7 -7 -7 -6 -5 -5 -5 -6 -6 -9 -8 -8 -9 -12 -11 -10 -10 -8 -5 -5 -5 -5 -5 -5 -5 -6 -9 -9 -8 -7 -5 -4 -4 -6 -6 -6 -6 -6 -4 -3 -3 -3 -3 -3 -3 -2 -2 -3 -3 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -2 -2 -3 -3 -2 -1 -2 -2 -2 -2 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -2 -2 -2 -1 -2 -2 -1 -1 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8 -11 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -7 -8 -8 -7 -8 -9 -14 -13 -9 -10 -11 -7 -7 -7 -9 -8 -6 -6 -6 -7 -9 -10 -8 -5 -5 -5 -5 -6 -6 -4 -6 -5 -6 -7 -6 -4 -5 -5 -7 -8 -8 -7 -7 -7 -8 -6 -3 -3 -7 -7 -8 -8 -7 -7 -6 -10 -10 -10 -9 -7 -7 -5 -5 -6 -8 -7 -8 -8 -7 -7 -6 -7 -7 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -1 -2 -3 -4 -5 -4 -3 -3 -4 -4 -4 -4 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -3 -3 -3 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -9 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -6 -8 -7 -4 -6 -6 -7 -9 -10 -11 -12 -9 -9 -7 -7 -6 -6 -7 -8 -8 -7 -7 -6 -6 -7 -10 -9 -5 -5 -9 -6 -6 -6 -5 -3 -7 -7 -8 -7 -5 -5 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -5 -6 -5 -8 -8 -8 -7 -7 -6 -8 -8 -7 -9 -9 -7 -5 -6 -7 -5 -4 -8 -9 -9 -9 -8 -8 -8 -6 -6 -5 -3 -3 -4 -4 -3 -2 -2 -2 -2 -3 -3 -3 -4 -5 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -1 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -3 -3 -2 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -3 -2 -1 -1 -1 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -9 -10 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -5 -3 -3 -5 -7 -8 -9 -11 -13 -13 -10 -7 -7 -7 -7 -6 -7 -7 -10 -9 -7 -7 -7 -7 -7 -6 -7 -9 -8 -8 -7 -6 -6 -7 -6 -8 -9 -9 -9 -9 -5 -9 -9 -9 -8 -6 -7 -7 -7 -6 -6 -6 -8 -6 -7 -7 -7 -7 -7 -6 -8 -9 -8 -8 -7 -5 -5 -7 -7 -9 -9 -10 -11 -12 -12 -10 -6 -5 -4 -4 -3 -1 -3 -2 -2 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -3 -3 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -1 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -3 -2 -2 -2 -2 -5 -5 -4 -3 -3 -4 -4 -3 -3 -3 -2 -2 -3 -3 -2 -2 -2 -2 -2 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -8 -10 -10 -10 -10 -10 -10 -11 -10 -8 -6 -5 -7 -8 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -5 -2 -2 -10 -14 -14 -12 -11 -9 -9 -6 -6 -7 -6 -6 -6 -7 -7 -7 -7 -6 -6 -7 -6 -5 -7 -8 -4 -3 -6 -7 -7 -7 -7 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -7 -8 -8 -7 -6 -6 -6 -6 -8 -7 -6 -6 -8 -7 -6 -5 -6 -7 -7 -5 -5 -6 -7 -8 -10 -10 -11 -9 -6 -7 -7 -5 -5 -4 -2 -1 -3 -2 -1 -1 -2 -2 -2 -2 -3 -4 -3 -3 -4 -4 -2 -2 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -2 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -3 -1 -1 -1 -2 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -2 -2 -3 -4 -4 -4 -4 -3 -4 -3 -2 -2 -1 -1 -1 -2 -2 -3 -5 -2 -3 -3 -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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -5 -10 -10 -10 -10 -10 -10 -10 -11 -10 -8 -5 -3 -8 -9 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -10 -9 -8 -7 -5 -4 -5 -6 -7 -7 -7 -8 -12 -7 -7 -6 -6 -6 -5 -5 -6 -6 -5 -5 -5 -5 -5 -6 -7 -7 -6 -6 -6 -7 -8 -8 -8 -5 -8 -9 -8 -8 -8 -6 -8 -8 -6 -5 -6 -6 -8 -9 -7 -5 -6 -8 -7 -6 -6 -7 -9 -7 -5 -5 -6 -7 -7 -8 -7 -6 -6 -6 -5 -5 -6 -6 -4 -3 -3 -1 -1 -1 -1 -1 -1 -1 -3 -4 -4 -5 -5 -5 -4 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -2 -3 -4 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 0 -2 -3 -3 -3 -4 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -3 -3 -1 -2 -3 -3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -5 -6 -5 -8 -10 -10 -10 -9 -10 -10 -10 -10 -7 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -5 -3 -2 -3 -4 -5 -6 -7 -7 -7 -6 -7 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -5 -5 -5 -5 -4 -5 -7 -6 -6 -6 -7 -7 -5 -4 -8 -9 -9 -9 -8 -8 -4 -6 -7 -7 -6 -6 -6 -6 -6 -5 -3 -2 -6 -9 -10 -10 -10 -9 -9 -6 -6 -7 -7 -7 -9 -9 -7 -6 -4 -2 -5 -4 -2 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -5 -5 -5 -5 -5 -4 -3 -5 -5 -4 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -3 -3 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -1 -1 0 0 0 0 0 -1 -2 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -2 -4 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -4 -4 -4 -5 -4 -4 -4 -6 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -5 -7 -9 -11 -9 -8 -8 -7 -6 -6 -5 -6 -5 -6 -6 -6 -5 -5 -5 -6 -6 -5 -5 -5 -5 -4 -4 -4 -8 -7 -5 -4 -5 -5 -7 -5 -8 -9 -9 -9 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -4 -2 -1 -5 -8 -10 -9 -11 -10 -8 -7 -8 -9 -10 -9 -9 -6 0 -1 -2 -4 -4 -2 -1 -2 -3 -2 -2 -2 -1 -1 -2 -1 -1 -1 -2 -6 -6 -3 -4 -5 -4 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -2 -3 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 0 0 0 0 0 0 -1 -2 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 0 0 0 0 -1 -2 -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 -1 -5 -2 -1 -3 -4 -4 -4 -4 -8 -10 -10 -10 -7 -6 -9 -11 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -8 -8 -6 -3 -2 -1 -4 -7 -10 -12 -8 -8 -8 -7 -6 -6 -6 -5 -5 -6 -6 -6 -6 -5 -5 -6 -6 -5 -5 -6 -6 -5 -5 -5 -8 -6 -5 -5 -7 -7 -4 -4 -7 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -8 -9 -5 -4 -7 -10 -11 -10 -10 -14 -14 -11 -10 -10 -12 -13 -11 -9 -6 -1 -2 -5 -5 -4 -3 -2 -2 -3 -2 -2 -3 -3 -3 -4 -2 0 -2 -7 -7 -7 -5 -4 -4 -3 -3 -4 -4 -3 -3 -4 -3 -2 -2 -3 -3 -4 -4 -3 -3 -2 -3 -3 -3 -2 -2 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 0 0 0 0 0 0 0 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 0 -1 -1 -1 -1 -6 -7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 -1 -2 -4 -5 -3 -7 -9 -8 -7 -4 -7 -10 -11 -11 -11 -11 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -4 -9 -9 -8 -7 -7 -8 -8 -7 -7 -6 -6 -6 -5 -5 -6 -6 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -6 -7 -8 -10 -9 -7 -5 -5 -5 -4 -3 -5 -8 -9 -9 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -8 -7 -7 -9 -10 -12 -14 -16 -17 -15 -14 -13 -12 -12 -11 -10 -8 -5 -3 -7 -8 -7 -5 -3 -2 -2 -2 -1 -2 -3 -3 -4 -5 -4 -5 -9 -10 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -3 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -3 -3 -2 -2 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 0 0 0 0 0 -1 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -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 -2 -4 -5 -9 -10 -8 -6 -4 -4 -4 -9 -10 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -8 -8 -7 -7 -8 -8 -7 -7 -7 -6 -6 -6 -6 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -9 -9 -10 -11 -10 -7 -4 -4 -4 -4 -5 -6 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -3 -1 -7 -9 -10 -10 -11 -12 -3 -12 -13 -12 -12 -12 -12 -10 -7 -5 -5 -6 -7 -7 -8 -8 -6 -4 -4 -3 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -5 -4 -4 -4 -3 -5 -4 -4 -3 -3 -4 -3 -3 -2 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 0 0 0 0 0 0 -1 -1 -1 -1 -3 -3 -2 -3 -3 -2 -2 -2 -2 -1 -1 -1 -2 -2 -3 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -4 -4 -4 -8 -6 -5 -4 -4 -4 -4 -8 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -6 -5 -5 -8 -8 -9 -10 -9 -6 -5 -4 -4 -4 -5 -7 -7 -7 -7 -7 -7 -6 -6 -6 -4 -2 -1 -3 -9 -10 -10 -8 -8 -14 -4 -2 -7 -10 -10 -10 -10 -8 -4 -1 -1 0 0 0 -3 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -2 -4 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -3 -2 -2 -2 -4 -3 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -3 -3 -3 -3 -4 -4 -4 -5 -4 -3 -2 0 0 0 0 0 0 0 0 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -2 -2 -3 -4 -5 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -4 -4 -4 -4 -7 -7 -4 -3 -6 -7 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -5 -8 -10 -7 -5 -5 -4 -3 -5 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -2 -1 -6 -7 -8 -9 -7 -3 -4 -3 -7 -9 -6 -4 -4 -7 -7 -5 -4 0 -1 -1 -1 -1 -2 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -6 -6 -5 -5 -3 -3 -3 -4 -4 -2 -3 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -3 -2 -2 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -2 -1 -2 -2 -2 -3 -4 -3 -3 -4 -5 -5 -5 -5 -5 -5 -4 -1 0 0 0 0 0 0 0 0 -1 -1 -3 -3 -4 -4 -4 -3 -2 -2 -3 -3 -3 -5 -6 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -5 -5 -4 -4 -4 -4 -4 -6 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -9 -9 -8 -9 -8 -8 -8 -8 -7 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -7 -10 -7 -9 -9 -5 -5 -6 -5 -6 -8 -9 -9 -5 -4 -4 -5 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -4 -1 -4 -5 -6 -7 -6 -5 -3 -2 -4 -7 -7 -1 0 -3 -3 -3 -3 -2 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -4 -4 -3 -3 -3 -3 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -3 -6 -7 -7 -6 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 0 -1 -2 -2 -2 -1 -1 -2 -3 -3 -3 -4 -6 -6 -5 -5 -5 -5 -4 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -2 -3 -4 -5 -5 -3 -4 -5 -4 -4 -5 -7 -6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -5 -5 -4 -4 -4 -4 -6 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -1 0 0 -1 -4 -6 -7 -8 -9 -10 -10 -10 -10 -9 -9 -9 -8 -7 -5 -4 -6 -8 -7 -7 -7 -7 -6 -6 -6 -7 -6 -4 -3 -3 -3 -2 -5 -6 -7 -7 -7 -7 -4 -2 -2 -3 -8 -2 -1 0 -1 -1 -1 -1 -3 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -3 -2 -2 -3 -5 -5 -5 -5 -5 -4 -3 -4 -4 -4 -3 -2 -5 -5 -5 -4 -5 -5 -3 -3 -3 -2 -3 -3 -2 -2 -3 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 0 0 0 -1 -2 -2 -1 -1 -1 -1 -3 -4 -5 -6 -7 -6 -6 -5 -5 -5 -3 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -2 -4 -4 -3 -7 -7 -6 -4 -4 -5 -6 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -4 -5 -5 -4 -4 -4 -4 -5 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -4 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -1 0 0 -1 -3 -6 -8 -7 -8 -9 -9 -8 -9 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -6 -7 -6 -5 -4 -4 -5 -6 -6 -5 -6 -7 -7 -5 -6 -5 -4 -4 -3 -7 -3 -1 0 0 0 -1 -1 -1 -3 -6 -5 -4 -5 -4 -4 -2 -2 -4 -4 -3 -3 -4 -7 -5 -4 -5 -5 -4 -4 -5 -5 -5 -3 -1 -4 -3 -4 -5 -4 -4 -3 -3 -2 -2 -2 -1 0 -2 -4 -4 -2 -3 -2 -3 -4 -3 0 0 0 0 0 0 0 -1 -1 -1 -2 -2 -4 -5 -6 -6 -7 -7 -7 -6 -5 -4 -4 -2 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -6 -5 -1 -1 -6 -6 -4 -4 -4 -5 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -4 -5 -5 -4 -4 -5 -5 -5 -9 -10 -9 -9 -9 -9 -9 -5 -4 -3 -4 -7 -8 -7 -7 -6 -6 -6 -5 -8 -8 -8 -8 -8 -8 -8 -7 -8 -8 -7 -7 -7 -7 -6 -5 -1 -1 -1 -2 -3 -4 -4 -5 -7 -8 -8 -8 -7 -9 -9 -8 -6 -7 -8 -8 -7 -7 -7 -6 -6 -7 -7 -6 -5 -5 -5 -4 -5 -6 -4 -2 -2 -3 -5 -6 -6 -6 -4 -4 -4 -5 -4 -7 -4 -2 -1 -1 -1 -1 -1 -1 -4 -7 -6 -6 -6 -5 -5 -5 -2 -2 -4 -4 -3 -2 -2 -6 -7 -6 -5 -5 -4 -4 -5 -5 -4 -3 -3 -4 -4 -4 -5 -7 -4 -2 -2 -3 -3 -1 -1 0 -3 -5 -4 -3 -3 -2 -1 -1 0 0 0 -1 -2 -1 0 0 -1 -1 -1 -3 -5 -7 -8 -8 -9 -7 -7 -7 -6 -5 -4 -3 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -4 -6 -6 -4 -1 -1 -1 -3 -4 -3 -3 -4 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -4 -4 -4 -4 -4 -4 -6 -9 -9 -10 -10 -10 -9 -10 -9 -9 -8 -8 -8 -8 -4 -4 -5 -5 -3 -3 -3 -3 -6 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -6 -6 -5 -4 -3 -3 -3 -5 -6 -6 -6 -7 -9 -8 -7 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -4 -3 -3 -3 -4 -4 -5 -6 -6 -7 -7 -6 -6 -5 -4 -2 -1 -1 -1 -1 -1 -1 -1 -4 -7 -7 -6 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -2 -6 -7 -6 -4 -4 -3 -5 -5 -4 -3 -3 -4 -3 -3 -5 -6 -6 -2 0 -1 -2 -4 -1 0 0 -1 -4 -4 -3 -2 -1 0 0 0 0 0 -1 -3 -2 -1 0 -1 -1 -2 -5 -6 -7 -7 -7 -8 -7 -7 -3 -4 -6 -6 -3 -1 0 0 0 0 0 0 0 0 -1 -2 -2 -4 -5 -5 -4 -2 -5 -6 -6 -8 -4 -3 -3 -4 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -5 -4 -4 -4 -4 -7 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -9 -7 -3 -3 -3 -6 -8 -8 -8 -7 -7 -8 -8 -7 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -7 -6 -4 -3 -3 -4 -6 -6 -5 -5 -7 -8 -8 -8 -8 -8 -8 -7 -6 -6 -7 -6 -5 -5 -5 -4 -4 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -5 -5 -6 -7 -8 -6 -4 -3 -1 0 0 0 0 -1 -1 -1 -2 -4 -4 -5 -7 -7 -6 -5 -5 -5 -4 -4 -4 -3 -5 -5 -6 -6 -4 -3 -4 -4 -3 -3 -3 -3 -3 -4 -4 -3 -4 -5 -5 -3 -2 -4 -4 -6 -2 0 -1 -1 -4 -4 -2 0 0 0 0 0 -1 -2 -1 -1 -3 -1 0 0 -1 -4 -5 -6 -7 -8 -8 -8 -7 -3 -3 -6 -6 -6 -2 -1 0 0 0 0 0 0 0 -1 -3 -3 -5 -3 -1 -1 -1 -5 -6 -4 -3 -4 -5 -5 -5 -4 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -4 -5 -4 -4 -4 -5 -8 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -8 -6 -6 -6 -8 -8 -7 -7 -6 -7 -7 -7 -6 -6 -3 -3 -3 -2 -2 -3 -8 -8 -8 -8 -6 -3 -3 -4 -6 -6 -6 -7 -7 -7 -7 -7 -7 -5 -4 -6 -8 -7 -5 -5 -4 -5 -5 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -4 -4 -5 -5 -5 -6 -8 -7 -4 -2 -1 -1 -1 -1 -1 0 -1 -2 -4 -4 -4 -6 -6 -6 -5 -5 -4 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -4 -4 -3 -3 -3 -2 -3 -3 -3 -3 -3 -3 -5 -5 -5 -5 -7 -7 -6 -3 0 -1 -2 -3 -4 -3 0 0 0 0 0 -4 -5 -1 -1 -4 -2 0 0 -1 -3 -5 -7 -8 -8 -8 -9 -6 -3 -3 -6 -7 -4 -1 0 0 0 0 0 0 0 -1 -3 -4 -3 -2 -2 -1 -1 -1 -5 -7 -5 -6 -8 -7 -6 -6 -4 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -4 -5 -5 -5 -4 -4 -5 -5 -5 -6 -10 -9 -9 -9 -11 -11 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -6 -3 -7 -8 -5 -6 -6 -5 -6 -4 -2 0 0 -1 -1 -2 -6 -8 -7 -6 -4 -3 -4 -4 -4 -6 -6 -7 -7 -7 -5 -5 -1 0 -4 -8 -7 -6 -5 -5 -5 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -5 -5 -5 -4 -4 -3 -4 -3 -2 -7 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -4 -4 -4 -3 -4 -5 -5 -4 -3 -4 -6 -4 -3 -3 -2 -1 -2 -4 -6 -4 -3 -3 -3 -3 -3 -3 -3 -2 -3 -4 -4 -6 -7 -8 -7 -8 -4 -2 -1 -1 -2 -2 -4 -4 -2 0 0 0 0 -1 -2 -1 -1 -1 -4 -5 -4 -2 -1 -4 -6 -7 -7 -6 -7 -8 -6 -6 -7 -4 -4 -2 0 0 0 0 0 0 0 0 -1 -2 -2 -3 -3 -2 -1 -1 -1 -2 -3 -5 -6 -7 -7 -6 -6 -4 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -5 -4 -5 -5 -5 -5 -5 -6 -6 -4 -5 -5 -5 -6 -8 -11 -10 -10 -10 -10 -10 -9 -9 -9 -9 -8 -9 -9 -9 -9 -8 -7 -6 -8 -8 -9 -7 -4 -3 -6 -6 -5 -5 -6 -6 -7 -8 -8 -7 -6 -6 -5 -3 -2 -3 -6 -6 -6 -6 -5 -4 -1 -1 -3 -4 -5 -7 -7 -6 -5 -4 -4 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -5 -4 -6 -3 -4 -3 -2 -2 -1 -1 -5 -4 -2 -1 -1 -1 -1 -1 -2 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -2 -4 -4 -4 -3 -3 -3 -4 -4 -3 -3 -4 -1 0 -5 -11 -6 -9 -3 -1 -2 -3 -3 -2 -3 -3 -3 0 0 0 0 -3 -6 -2 -2 -1 -3 -6 -6 -4 -2 -3 -5 -5 -6 -6 -7 -8 -8 -7 -6 -1 0 -2 -2 0 0 0 0 0 0 0 0 0 -1 -2 -3 -2 -2 -1 -1 0 -1 -3 -7 -7 -6 -5 -4 -4 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -5 -5 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -8 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -5 -7 -7 -6 -7 -7 -7 -7 -8 -8 -7 -7 -6 -5 -4 -4 -4 -7 -6 -6 -6 -5 -5 -5 -5 -6 -7 -6 -5 -5 -5 -5 -5 -4 -3 -3 -4 -4 -4 -3 -4 -5 -6 -7 -7 -5 -5 -5 -4 -2 -2 -2 -2 -6 -7 -6 -4 -1 -1 -1 -1 -2 -4 -4 -4 -4 -5 -6 -4 -5 -5 -5 -5 -4 -2 -4 -5 -4 -3 -3 -3 -2 -4 -6 -6 -5 -3 -3 -4 -5 -5 -5 -7 -2 -1 -1 -4 -13 -2 -6 -4 -1 -2 -1 -3 -2 -2 -5 -7 -1 0 0 0 -1 -2 -2 -3 -4 -5 -6 -6 -4 -3 -3 -3 -2 -6 -7 -8 -9 -7 -6 -4 -2 -1 -2 -2 0 0 0 0 0 0 0 0 0 -2 -4 -3 -3 -2 -1 -1 -1 -3 -4 -4 -4 -3 -3 -3 -3 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -6 -6 -5 -5 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -5 -8 -8 -7 -8 -8 -10 -9 -8 -7 -6 -6 -6 -6 -6 -6 -8 -7 -7 -7 -6 -6 -5 -4 -6 -7 -7 -7 -7 -6 -7 -7 -7 -7 -6 -4 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -5 -7 -8 -7 -5 -4 -4 -2 -2 -2 -2 -3 -2 -2 -1 -1 -1 -1 -1 -2 -4 -4 -4 -4 -4 -5 -7 -5 -5 -5 -5 -5 -4 -3 -6 -6 -5 -4 -3 -3 -3 -4 -5 -5 -4 -4 -4 -5 -7 -7 -6 -7 -7 -6 -4 -2 -12 -7 -5 -2 -1 -1 0 0 -3 -6 -6 -4 -1 0 -1 -3 -3 -2 -2 -4 -5 -6 -5 -3 -3 -3 -4 -4 -4 -7 -9 -10 -8 -4 -1 -1 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 0 -2 -5 -2 -1 -1 -2 -2 -2 -3 -4 -4 -4 -3 -3 -3 -3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -9 -8 -7 -8 -8 -8 -8 -9 -10 -10 -8 -7 -6 -6 -6 -6 -7 -8 -9 -7 -7 -6 -6 -6 -5 -3 -6 -7 -4 -1 0 0 -6 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -4 -5 -8 -10 -8 -5 -4 -1 0 -2 -4 -2 -2 -3 -3 -3 -1 -1 -1 -3 -3 -2 -3 -4 -3 -3 -4 -6 -9 -6 -5 -5 -4 -4 -6 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -4 -3 -3 -5 -7 -8 -10 -8 -7 -7 -7 -8 -3 -11 -12 -7 0 0 0 0 -1 -3 -6 -5 -2 -2 -2 -1 -1 -1 -2 -3 -4 -4 -5 -3 -1 -1 -2 -5 -6 -6 -8 -9 -8 -7 -5 -4 -3 -3 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -2 -3 -2 -1 -1 -1 -1 -1 -2 -3 -3 -4 -3 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -6 -6 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -7 -5 -10 -8 -7 -8 -5 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -8 -7 -6 -7 -6 -3 -6 -6 -7 -5 -1 -2 -7 -6 -5 -5 -4 -4 -3 -6 -7 -7 -6 -1 -1 -6 -8 -7 -6 -6 -5 -4 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -7 -10 -10 -6 -6 -3 -1 -1 -2 -3 -3 -3 -3 -3 -3 -1 -1 -1 -3 -3 -1 -1 -2 -3 -4 -4 -4 -7 -6 -6 -5 -3 -3 -6 -7 -5 -3 -4 -5 -5 -4 -4 -4 -1 -1 -1 -3 -7 -10 -11 -13 -13 -10 -8 -10 -13 -12 -14 -14 -12 -9 -1 0 0 -2 -4 -5 -4 -4 -3 -2 0 -1 -1 -6 -8 -8 -3 -4 -2 -2 -2 -1 -2 -7 -9 -9 -7 -5 -4 -4 -3 -3 -3 -2 -2 -1 -1 0 0 0 0 0 -2 -3 -1 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -5 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -6 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -5 -9 -5 -10 -10 -9 -9 -9 -5 -8 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -6 -2 0 -2 -3 -1 -6 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -4 -6 -7 -7 -6 -6 -7 -7 -6 -6 -5 -5 -4 -3 -3 -4 -5 -7 -8 -8 -6 -6 -8 -11 -12 -10 -6 -5 -2 -1 -2 -3 -2 -3 -3 -3 -3 -3 -2 -1 -1 -2 -2 -1 -1 -1 -2 -2 -4 -5 -5 -4 -5 -5 -4 -4 -5 -4 -4 -4 -5 -6 -5 -4 -4 -4 -3 -1 -3 -5 -8 -13 -17 -18 -17 -13 -11 -12 -11 -10 -13 -15 -15 -15 -3 0 0 0 -1 -3 -4 -3 -2 -1 0 0 0 0 -4 -8 -2 -2 -1 -2 -3 -4 -5 -8 -9 -8 -5 -3 -3 -3 -2 -3 -3 -1 -1 -1 -1 0 0 0 0 0 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 -2 -2 -1 -3 -5 -3 -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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 -5 -6 -6 -6 -6 -5 -5 -6 -6 -6 -5 -5 -5 -5 -3 0 -1 -5 -5 -7 -9 -11 -10 -10 -10 -11 -11 -10 -9 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -3 0 0 0 0 -2 -2 -4 -8 -8 -8 -7 -6 -5 -3 -3 -3 -5 -6 -5 -2 -5 -5 -5 -6 -6 -5 -5 -4 -3 -3 -3 -5 -6 -8 -7 -5 -6 -4 -6 -7 -7 -7 -6 -5 -4 -3 -3 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -2 -4 -3 -3 -5 -7 -6 -5 -7 -5 -6 -6 -4 -3 -4 -4 -3 -4 -5 -7 -6 -5 -5 -6 -6 -4 -4 -3 -5 -10 -15 -19 -19 -16 -14 -14 -15 -11 -8 -10 -13 -16 -14 -6 -3 -2 0 0 -1 -2 -3 -2 -1 -1 -1 -1 0 -2 -5 -3 -1 -1 -2 -3 -3 -5 -7 -9 -9 -5 -5 -4 -3 -2 -1 -3 -1 -2 -2 -2 0 0 0 0 0 0 0 0 -1 -2 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -5 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -2 -5 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -5 -2 0 0 -1 -5 -5 -5 -5 -7 -11 -11 -10 -10 -10 -9 -4 -4 -7 -9 -9 -8 -4 -3 -7 -9 -8 -7 -7 -6 -3 -1 0 0 0 0 0 -3 -7 -7 -7 -7 -6 -5 -5 -5 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -5 -4 -4 -5 -4 -4 -4 -2 -1 -4 -4 -5 -5 -6 -5 -4 -3 -3 -5 -6 -6 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -3 -4 -6 -4 -5 -7 -4 -5 -7 -7 -6 -6 -7 -5 -4 -3 -3 -3 -5 -6 -6 -5 -4 -5 -6 -4 -5 -8 -11 -12 -15 -18 -18 -15 -13 -15 -15 -12 -8 -7 -8 -15 -14 -9 -4 -1 0 -1 -1 -2 -2 -1 -1 -1 -8 -8 -1 -2 -2 -3 -2 -1 -1 -1 -3 -5 -7 -7 -7 -3 -4 -4 -3 -3 -3 -2 -1 -1 -2 -1 0 0 0 0 0 0 0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -3 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 -5 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -2 0 -1 -2 -2 -5 -5 -5 -5 -6 -11 -7 -5 -5 -4 -4 -5 -5 -7 -8 -8 -8 -6 -5 -4 -3 -3 -4 -3 -4 -4 -4 -3 -1 0 0 0 -2 -7 -7 -7 -6 -6 -7 -8 -7 -7 -6 -5 -5 -5 -5 -6 -7 -7 -7 -7 -6 -5 -6 -7 -7 -2 -1 -1 -1 -2 -4 -3 -4 -4 -4 -2 -2 -2 -3 -4 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -7 -6 -6 -7 -6 -7 -9 -9 -5 -4 -3 -3 -1 -5 -6 -5 -4 -4 -5 -5 -4 -4 -6 -9 -10 -12 -15 -14 -14 -14 -18 -16 -14 -10 -7 -7 -12 -12 -9 -4 0 -1 -1 -2 -1 -1 -1 -1 -1 -6 -10 -6 -6 -5 -4 -3 -3 -4 -1 -4 -4 -4 -3 -3 -1 -2 -3 -3 -4 -4 -5 -4 -2 0 0 0 0 0 0 0 0 0 -1 -2 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -6 -6 -6 -6 -5 -4 -4 -5 -7 -7 -7 -6 -6 -5 -3 -1 -2 -6 -6 -6 -6 -6 -5 -6 -6 -4 -4 -3 -4 -4 -8 -8 -8 -9 -9 -9 -8 -6 -6 -9 -9 -5 -7 -7 -6 -6 -5 -4 -2 -2 -4 -5 -6 -5 -6 -7 -8 -8 -8 -7 -7 -6 -5 -5 -5 -7 -7 -7 -7 -7 -5 -5 -5 -7 -7 -5 -4 -5 -5 -5 -4 -4 -3 -3 -4 -4 -2 -2 -3 -3 -2 -2 -2 -4 -5 -5 -4 -3 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -8 -9 -8 -7 -8 -10 -9 -8 -8 -8 -5 -1 -4 -6 -6 -5 -5 -5 -5 -4 -3 -3 -5 -5 -9 -11 -12 -14 -13 -15 -15 -10 -4 -7 -5 -9 -10 -8 -5 -4 -3 -3 -3 -3 -2 -5 -6 -7 -8 -10 -6 -6 -5 -5 -5 -5 -5 -5 -2 -1 -2 -1 -1 -1 -3 -5 -6 -5 -5 -6 -5 -3 0 0 0 0 0 0 0 0 0 -1 -2 -4 -4 -4 -3 -3 -3 -1 -2 -2 -2 -2 -2 -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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -5 -2 -6 -6 -6 -6 -6 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -6 -5 -5 -6 -5 -4 -4 -4 -9 -9 -9 -9 -10 -11 -11 -10 -9 -8 -9 -8 -7 -6 -3 -2 -6 -7 -6 -4 -4 -4 -4 -4 -4 -7 -9 -8 -4 -4 -3 -3 -4 -4 -8 -9 -8 -7 -7 -5 -5 -4 -4 -6 -8 -7 -6 -7 -6 -5 -5 -3 -3 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -5 -5 -3 -3 -4 -4 -4 -4 -3 -4 -3 -3 -2 -2 -3 -8 -10 -9 -7 -6 -10 -10 -10 -9 -8 -6 -5 -1 -4 -6 -7 -8 -9 -7 -6 -6 -4 -3 -3 -4 -6 -8 -11 -14 -13 -13 -13 -14 -13 -8 -5 -7 -8 -7 -6 -3 -3 -5 -8 -7 -6 -8 -9 -10 -11 -7 -7 -7 -7 -6 -5 -5 -5 -4 -2 -1 -1 -1 -1 -2 -4 -6 -6 -5 -5 -5 -3 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -2 -3 -4 -4 -2 -2 -2 -2 -1 -2 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -6 -5 -5 -5 -5 -9 -10 -9 -9 -11 -11 -11 -11 -10 -8 -8 -7 -2 0 0 -1 -6 -8 -7 -5 -5 -7 -1 -6 -7 -7 -6 -5 -1 0 -1 -2 -3 -5 -4 -7 -8 -7 -7 -6 -5 -4 -4 -5 -7 -6 -4 -5 -5 -3 -5 -3 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -3 -3 -4 -5 -4 -5 -4 -3 -2 -2 -1 -1 -6 -7 -6 -7 -9 -9 -11 -11 -9 -6 -6 -2 -3 -4 -4 -9 -12 -12 -11 -10 -8 -9 -6 -6 -8 -10 -13 -14 -14 -13 -13 -13 -13 -10 -9 -10 -9 -9 -6 -4 -5 -9 -14 -12 -11 -9 -8 -9 -11 -7 -6 -5 -5 -6 -5 -6 -5 -4 -2 -1 -1 -1 -2 -4 -5 -5 -6 -5 -5 -3 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -5 -5 -6 -6 -6 -6 -3 -2 -4 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -8 -9 -10 -10 -10 -11 -11 -11 -10 -8 -8 -7 -4 -1 0 0 0 -6 -7 -5 -5 -4 -5 -7 -7 -5 -5 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -3 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -5 -4 -3 -4 -5 -6 -7 -6 -5 -5 -5 -6 -4 -2 -2 -2 -1 -1 -4 -6 -8 -9 -10 -10 -12 -12 -9 -8 -6 -3 -1 -1 -1 -9 -13 -13 -12 -10 -10 -11 -7 -6 -9 -13 -14 -14 -15 -13 -8 -10 -8 -9 -10 -11 -10 -3 -6 -7 -9 -13 -15 -14 -13 -11 -10 -11 -11 -3 -1 -2 -4 -6 -5 -4 -5 -5 -1 -1 -1 -1 -3 -5 -6 -6 -5 -5 -3 0 0 0 0 0 0 0 0 0 0 -1 -1 -3 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 -7 -6 -6 -6 -5 -5 -3 -3 -5 -6 -5 -5 -5 -6 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -8 -11 -11 -11 -10 -10 -8 -5 -3 -3 -5 -6 -6 -2 -3 -4 -6 -6 -5 -4 -6 -7 -7 -7 -7 -7 -7 -7 -5 -3 -7 -6 -6 -5 -4 -5 -8 -8 -7 -7 -7 -6 -6 -3 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -5 -3 -2 -7 -5 -5 -5 -4 -4 -6 -5 -4 -3 -3 -3 -2 -4 -2 0 -3 -9 -8 -10 -10 -11 -10 -9 -8 -6 -5 -4 -2 -1 -8 -12 -12 -11 -12 -12 -9 -6 -6 -11 -15 -14 -15 -16 -14 -6 -9 -3 -5 -8 -5 -4 -1 -4 -5 -7 -11 -15 -15 -13 -11 -11 -11 -7 -2 -4 -9 -9 -10 -8 -5 -3 -2 -2 -2 -2 -4 -5 -7 -7 -6 -6 -5 -3 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -4 -4 -3 -3 -3 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -6 -9 -12 -11 -6 -5 -5 -3 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -8 -8 -8 -7 -8 -8 -8 -7 -6 -6 -6 -6 -6 -9 -12 -12 -12 -12 -9 -9 -8 -7 -8 -7 -6 -6 -7 -7 -8 -8 -7 -6 -5 -9 -8 -8 -9 -9 -10 -9 -9 -7 -3 -3 -9 -7 -7 -6 -6 -5 -9 -8 -8 -9 -8 -7 -7 -6 -7 -7 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -2 -1 -4 -3 -4 -3 0 -1 -5 -5 -4 -4 -4 -4 -5 -6 -3 0 -1 -6 -7 -10 -12 -12 -12 -9 -7 -6 -5 -3 -1 -1 -6 -10 -12 -12 -12 -15 -11 -8 -8 -10 -12 -12 -15 -18 -15 -7 -2 0 -2 -3 0 0 0 -3 -7 -8 -11 -10 -12 -13 -12 -11 -8 -3 -1 -6 -13 -13 -12 -10 -6 -3 -3 -3 -3 -4 -6 -7 -7 -7 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -4 -6 -5 -4 -4 -4 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -4 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -7 -7 -8 -8 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -9 -11 -11 -12 -12 -11 -9 -8 -8 -8 -3 -5 -7 -6 -6 -6 -6 -6 -6 -6 -5 -8 -8 -7 -4 0 0 -1 -4 -5 -5 -1 -5 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -9 -9 -8 -7 -6 -5 -5 -6 -5 -4 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -4 -5 0 0 -4 -4 -4 -5 -4 -4 -7 -6 -3 -1 -2 -3 -5 -10 -15 -14 -13 -9 -7 -6 -5 -6 -3 -2 -5 -7 -8 -8 -11 -15 -15 -14 -10 -10 -11 -13 -15 -18 -16 -12 -5 -2 -2 0 0 0 -3 -6 -7 -9 -8 -3 -5 -11 -11 -8 -6 -5 -8 -13 -14 -12 -9 -6 -4 -4 -4 -6 -7 -7 -7 -8 -8 -7 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -7 -6 -6 -6 -5 -5 -5 -4 -3 -2 -2 -3 -3 -4 -7 -8 -9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -4 -4 -4 -6 -6 -6 -6 -9 -4 -3 -4 -4 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -10 -12 -12 -11 -12 -11 -8 -7 -7 -7 -7 -6 -6 -7 -6 -6 -5 -4 -4 -5 -5 -4 -6 -5 -3 -1 -1 -1 0 -1 -4 -6 0 -1 -2 -3 -5 -4 -4 -5 -2 0 -1 -1 -4 -3 -3 -3 -6 -6 -6 -6 -5 -4 -3 -4 -3 -3 -2 -3 -5 -3 -3 -3 -3 -2 -2 -1 -1 -2 -3 -1 -1 0 -1 -3 -4 -3 -4 -6 -7 -6 -7 -9 -9 -4 -6 -16 -15 -14 -13 -12 -10 -7 -7 -5 -4 -4 -3 -2 -2 -1 0 -4 -10 -7 -11 -14 -15 -15 -19 -19 -16 -10 -6 -5 -1 0 0 -2 -4 -4 -4 -1 0 -2 -4 -4 -7 -7 -8 -11 -16 -11 -7 -4 -3 -3 -3 -6 -7 -7 -8 -8 -8 -7 -6 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -4 -6 -8 -8 -7 -5 -4 -4 -5 -5 -4 -4 -5 -6 -7 -7 -11 -13 -13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -2 -3 -7 -7 -7 -6 -6 -6 -6 -8 -7 -7 -6 -5 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -8 -9 -8 -7 -8 -7 -8 -8 -8 -8 -7 -7 -10 -11 -12 -12 -12 -12 -10 -7 -7 -8 -8 -8 -8 -9 -9 -7 -5 -3 -2 -4 -5 -5 -4 -6 -5 -3 -4 -5 -2 -2 -1 0 -1 -2 -2 -1 -1 -2 -4 -5 -3 -2 -2 -2 -3 -4 -2 -2 -5 -6 -6 -6 -6 -5 -4 -3 -4 -4 -3 -4 -6 -3 -5 -4 -3 -4 -2 -4 -5 -4 -2 -3 -4 -2 -1 -3 -6 -6 -4 -3 -5 -9 -9 -10 -11 -9 -5 -4 -14 -13 -12 -10 -7 -8 -10 -9 -6 -5 -4 -2 -1 0 0 0 0 0 0 -10 -15 -14 -15 -14 -14 -12 -11 -10 -6 -2 -2 -2 -4 -6 -6 -3 -1 0 0 0 0 -2 -6 -12 -13 -13 -8 -5 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -6 -5 -4 0 0 0 0 0 0 0 0 0 0 0 0 -1 -6 -8 -8 -8 -8 -6 -6 -6 -5 -6 -9 -9 -10 -11 -11 -11 -11 -14 -15 -15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -5 -4 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -6 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -7 -6 -5 -8 -8 -8 -8 -8 -7 -6 -6 -5 -8 -11 -10 -9 -10 -9 -8 -8 -8 -8 -8 -5 -2 -3 0 0 -4 -6 -5 -4 -5 -6 -7 -6 -6 -7 -7 -7 -5 -3 -1 -1 -4 -4 -4 -4 -3 -4 -5 -6 -7 -5 -4 -5 -5 -5 -5 -5 -5 -3 -5 -6 -6 -5 -5 -4 -5 -5 -5 -6 -3 -3 -3 -2 -3 -4 -6 -5 -2 -1 -1 -4 -5 -4 -4 -7 -8 -5 -2 -4 -10 -10 -11 -10 -8 -6 -4 -10 -9 -7 -4 -5 -8 -13 -10 -8 -7 -8 -5 -4 -2 0 0 0 0 -3 -8 -11 -12 -12 -10 -12 -14 -14 -14 -7 -3 -2 -2 -1 -1 -8 -7 -4 0 -1 -3 -4 -2 -1 -2 -8 -8 -6 -4 -2 -2 -1 -5 -6 -6 -5 -5 -7 -5 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -4 -9 -11 -9 -8 -8 -9 -9 -9 -10 -10 -13 -15 -15 -15 -15 -15 -15 -16 -17 -16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -8 -5 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -4 -7 -9 -9 -8 -8 -8 -8 -7 -6 -6 -8 -10 -8 0 -1 -5 -5 -5 -7 -7 -8 -4 -1 -4 -13 -2 -2 -4 -5 -5 -3 -3 -6 -7 -6 -7 -7 -7 -6 -6 -4 -3 -3 -4 -4 -3 -3 -3 -5 -5 -5 -4 -3 -3 -4 -5 -5 -5 -5 -5 -4 -4 -6 -7 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -8 -8 -4 -1 0 0 -2 -5 -6 -3 -6 -7 -5 -3 -4 -6 -7 -7 -6 -5 -5 -7 -7 -7 -5 -3 -1 0 -8 -9 -8 -8 -9 -7 -6 -3 0 -1 -1 0 -5 -8 -7 -8 -8 -8 -10 -13 -14 -14 -9 -5 -2 -1 -2 -5 -6 -8 -7 -3 -4 -6 -4 -4 -8 -9 -9 -7 -6 -4 -3 -3 -1 -1 -1 0 0 -1 -4 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -8 -11 -11 -9 -11 -11 -12 -14 -16 -15 -15 -17 -18 -18 -17 -17 -17 -17 -17 -19 -19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -5 -5 -4 -10 -8 -6 -5 -7 -8 -6 -4 -4 -4 -4 -4 -4 -7 -9 -9 -6 -7 -7 -8 -9 -8 -8 -6 -8 -6 0 0 -2 -2 -1 -1 -4 -6 -8 -4 0 -1 -2 -2 -9 -7 -2 -6 -4 -3 -4 -4 -4 -7 -5 -5 -6 -6 -5 -4 -5 -3 -3 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -6 -4 -2 -2 -7 -6 -5 -5 -5 -5 -4 -3 -3 -3 -2 -3 -8 -12 -11 -6 -2 -1 0 -2 -5 -7 -4 -4 -5 -4 -3 -3 -5 -6 -6 -3 -2 -4 -5 -8 -7 -5 -3 -1 0 -4 -5 -7 -9 -10 -7 -6 -5 -3 -3 -1 -2 -6 -8 -5 -12 -13 -14 -14 -11 -10 -10 -9 -7 -4 -4 -2 -5 -7 -9 -10 -7 -7 -10 -11 -11 -14 -12 -10 -10 -10 -5 -2 -2 -1 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -6 -6 -9 -11 -15 -18 -18 -19 -20 -19 -19 -19 -20 -19 -19 -19 -19 -18 -18 -20 -14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -5 -8 -7 -7 -7 -7 -7 -6 -7 -7 -8 -8 -8 -8 -9 -6 -10 -11 -9 -5 -7 -7 -5 -4 -4 -4 -8 -9 -9 -9 -9 -9 -6 -6 -7 -7 -9 -8 -7 -5 -6 -7 0 0 -2 -2 -2 -2 -4 -7 -8 -5 0 0 0 -2 -9 -10 -5 -7 -5 -5 -5 -4 -4 -7 -3 -5 -5 -3 -5 -4 -4 -3 -3 -5 -5 -5 -4 -5 -4 -3 -4 -5 -5 -5 -6 -6 -6 -6 -4 -2 -1 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -3 -3 -9 -13 -13 -10 -3 -3 -1 -1 0 -1 -7 -5 -4 -4 -3 -4 -6 -7 -6 -5 -3 -3 -2 -6 -8 -5 -3 -1 0 -1 -3 -6 -12 -7 -3 -3 -3 -2 -1 -1 -4 -7 -9 -3 -5 -8 -7 -2 -4 -1 0 -4 -6 -5 -5 -2 -2 -3 -4 -7 -8 -9 -13 -12 -5 -19 -17 -17 -18 -14 -5 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -10 -13 -18 -22 -21 -20 -20 -21 -21 -21 -20 -20 -20 -20 -19 -19 -19 -22 -21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -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 -1 -1 -5 -8 -8 -7 -7 -7 -7 -7 -7 -7 -9 -9 -9 -9 -9 -10 -10 -11 -11 -10 -7 -3 -7 -7 -4 -4 -4 -7 -8 -8 -8 -7 -9 -9 -7 -6 -7 -7 -8 -6 -5 -5 -7 -2 -2 -1 0 -1 -3 -6 -8 -9 -7 0 0 0 -7 -11 -12 -10 -8 -7 -6 -4 -4 -3 -1 -4 -7 -7 -6 -8 -6 -4 -4 -6 -6 -5 -5 -4 -5 -5 -4 -4 -5 -5 -5 -5 -6 -6 -4 -2 -2 -2 -1 -1 -3 -6 -5 -3 -3 -3 -2 -3 -3 -5 -7 -9 -10 -9 -7 -4 -3 -2 0 0 -10 -10 -9 -8 -4 -7 -10 -10 -9 -9 -6 -5 -3 -4 -6 -5 -3 -1 -1 -2 -5 -9 -7 -2 0 -1 -1 -1 -1 -3 -3 -1 -4 -1 -1 -4 -6 -1 -3 -1 0 -1 -3 -2 -2 -1 -1 -2 -1 -7 -10 -12 -15 -16 -1 -19 -22 -21 -20 -16 -12 -7 -5 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -8 -10 -17 -20 -22 -22 -21 -21 -21 -21 -21 -21 -20 -20 -20 -21 -21 -21 -21 -23 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -10 -9 -8 -7 -6 -5 -6 -7 -5 -4 -3 -3 -6 -7 -8 -7 -1 -8 -8 -7 -5 -5 -2 -2 -5 -6 -5 -8 -7 -7 -5 -2 -1 -1 -2 -6 -9 -9 -8 -1 0 0 -5 -12 -9 -8 -7 -6 -4 -3 -3 -1 -4 -4 -1 -3 -7 -6 -6 -6 -4 -3 -3 -2 -3 -5 -5 -5 -4 -5 -5 -4 -6 -6 -6 -4 -1 -2 -2 -3 -2 -2 -4 -5 -2 -2 -3 -3 -3 -4 -4 -5 -6 -5 -5 -6 -5 -3 -1 0 0 -7 -11 -13 -11 -8 -9 -8 -10 -13 -14 -14 -10 -7 -6 -7 -8 -4 -3 -4 -5 -7 -10 -4 -1 0 0 0 0 -1 -1 -1 0 0 0 0 -2 -3 -1 0 0 0 0 0 0 0 0 -2 -4 -3 -5 -12 -13 -6 -7 -1 -16 -23 -23 -22 -19 -13 -7 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -7 -18 -20 -21 -21 -22 -22 -22 -21 -21 -21 -21 -22 -21 -22 -22 -22 -22 -23 -23 -24 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -7 -3 -9 -4 -1 -1 0 0 -7 -3 0 -1 -5 -1 -7 -7 -6 -9 -3 -3 -4 -6 -8 -8 -3 -7 -7 -5 -4 -4 -1 -1 -1 -2 -5 -8 -5 -5 -5 -4 -3 -4 -2 -5 -7 -3 -9 -2 -1 -2 -4 -9 -8 -7 -7 -5 -4 -3 -7 -6 -3 -1 -1 -7 -7 -5 -5 -6 -7 -7 -4 -2 -2 -2 -2 -4 -5 -5 -5 -4 -6 -6 -6 -4 -2 -2 -2 -2 -2 -1 -1 -3 -2 -2 -2 -5 -6 -4 -4 -4 -3 -3 -3 -3 -4 -4 -1 -1 -3 -2 -4 -9 -15 -13 -11 -9 -10 -13 -11 -15 -16 -14 -12 -13 -9 -7 -8 -9 -10 -10 -8 -3 -1 0 0 0 0 0 0 -1 -1 -1 0 -3 -6 -2 -1 0 0 0 0 0 0 0 -4 -12 -18 -19 -21 -19 -10 0 0 -12 -20 -20 -19 -18 -14 -10 -5 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -6 -20 -20 -20 -21 -21 -22 -22 -21 -21 -21 -21 -21 -23 -23 -23 -23 -23 -23 -24 -24 -24 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 -6 -8 -8 -8 -9 -9 -9 -7 -4 -3 -1 -2 -1 0 0 0 0 0 0 0 -2 -10 -6 -8 -7 -4 -5 -9 -10 -9 -7 -7 -7 -9 -9 -7 -6 -4 -3 -1 0 0 -1 -4 -3 -4 -4 -4 -4 -7 -8 -6 -7 -8 -7 -9 -10 -10 -9 -8 -8 -7 -6 -5 -4 -3 -3 -4 -4 -4 -3 -2 -5 -6 -5 -3 -4 -5 -4 -3 -2 -3 -2 -3 -5 -6 -5 -4 -5 -5 -6 -7 -5 -2 -5 -4 -2 -1 0 0 -3 -7 -8 -4 -4 -7 -5 -5 -5 -4 -3 -3 -4 -5 -5 -4 -6 -9 -6 -4 -14 -22 -20 -14 -10 -9 -9 -2 -12 -17 -16 -14 -12 -11 -8 -5 -7 -11 -8 -3 0 0 0 0 0 0 0 0 0 -3 -2 0 -2 -5 -1 0 0 0 0 0 0 0 -4 -7 -2 -2 -16 -19 -11 0 0 -3 -7 -14 -23 -18 -7 -4 -3 -3 -2 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -20 -20 -20 -21 -21 -22 -22 -21 -22 -22 -22 -22 -22 -23 -23 -24 -24 -24 -24 -24 -24 -24 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -6 -9 -9 -9 -7 -8 -9 -6 0 0 0 0 0 0 0 0 0 0 -2 -4 -5 -10 -10 -9 -9 -8 -9 -10 -7 -4 -5 -7 -2 -8 -9 -8 -7 -4 -3 -1 0 0 -1 -1 -1 -1 -3 -6 -5 -6 -5 -4 -5 -6 -7 -8 -4 -1 -4 -8 -8 -7 -6 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -5 -6 -6 -5 -5 -5 -6 -4 -3 -7 -8 -8 -6 -3 -2 -2 -1 -1 -2 -4 -11 -5 -5 -5 -4 -4 -3 -3 -2 -3 -4 -4 -4 -4 -10 -10 -3 -12 -28 -28 -20 -13 -12 -2 -2 -11 -16 -14 -12 -11 -12 -11 -9 -5 -6 -5 -2 -1 -3 -3 -1 0 0 0 0 0 -4 -3 -2 -6 -5 -1 0 0 0 0 0 0 -5 -13 -19 -21 -6 0 0 0 0 0 -2 -3 -7 -9 -13 -12 -6 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -18 -20 -21 -21 -21 -21 -21 -21 -22 -23 -23 -23 -23 -23 -24 -25 -25 -24 -24 -23 -23 -23 -23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -8 -9 -9 -9 -8 -7 -4 -3 -4 -3 0 0 0 0 0 0 0 0 0 0 -4 -10 -10 -10 -9 -9 -9 -10 -10 -6 -4 -3 -3 -6 -1 -5 -7 -7 -8 -5 -3 -3 -2 0 0 -1 -1 -1 -3 -4 -5 -5 -5 -4 -3 -4 -7 -8 -4 -3 -8 -8 -8 -7 -7 -5 -5 -4 -3 -2 -2 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -4 -5 -5 -5 -5 -6 -6 -6 -4 -1 -1 -10 -9 -6 -3 -3 -4 -4 -2 0 -1 -1 -6 -7 -6 -5 -5 -4 -2 -2 -2 -4 -5 -6 -8 -14 -14 0 0 -22 -28 -26 -23 -13 -4 -8 -11 -11 -14 -13 -14 -13 -12 -11 -9 -7 -4 -3 -3 -3 -5 -2 0 0 0 0 0 -3 -4 -5 -8 -2 -1 0 0 -1 -3 -1 0 -6 -15 -16 -5 -1 -1 -1 0 0 0 0 -2 -5 -6 -2 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -17 -19 -12 -17 -22 -22 -21 -21 -21 -21 -22 -23 -23 -24 -24 -24 -24 -25 -24 -23 -23 -22 -22 -22 -22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -4 -4 -4 -3 -3 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -5 -10 -10 -10 -10 -10 -9 -10 -10 -10 -7 -3 -2 -3 -2 -1 -1 -3 -8 -5 -4 -4 -4 -3 -3 -8 -5 -5 -7 -4 -4 -5 -7 -8 -4 -3 -6 -7 -6 -4 -4 -7 -7 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -3 -2 -2 -2 -2 -3 -4 -5 -4 -4 -4 -4 -4 -1 -5 -5 -4 -2 -2 -3 -4 -3 0 0 0 -10 -11 -8 -11 -8 -5 -3 -2 -2 -4 -7 -8 -11 -14 -14 -6 -9 -17 -20 -20 -21 -14 -8 -3 -1 -3 -10 -13 -15 -14 -11 -13 -13 -10 -9 -8 -7 -2 -2 -1 0 0 0 0 0 -1 -3 -7 -4 -4 -4 -3 -1 -1 -5 -2 0 -2 -4 -3 -9 -10 -6 -4 -1 0 0 0 -1 -4 -4 -1 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -3 -9 -11 -19 -14 -16 -19 -18 -22 -22 -22 -22 -23 -24 -24 -24 -24 -24 -24 -24 -22 -22 -22 -22 -22 -22 -21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -3 -4 -4 -3 -1 0 0 0 0 0 0 0 0 -1 -3 -1 -1 -1 -4 -9 -10 -10 -10 -8 -6 -6 -10 -6 -7 -7 -2 -2 -4 -5 -3 -2 -2 -7 -6 -6 -5 -4 -4 -4 -5 -7 -8 -5 -8 -5 -4 -6 -6 -4 -3 -7 -8 -8 -7 -7 -6 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -3 -3 -2 -2 -3 -4 -3 -5 -3 -3 -3 -3 -1 0 -3 -4 -3 -3 -3 -3 -3 -3 -4 -1 0 0 0 -3 -14 -10 -6 -3 -3 -3 -4 -6 -9 -11 -12 -11 -10 -12 -13 -13 -13 -13 -10 -5 -3 -2 -4 -4 -10 -14 -13 -11 -8 -7 -8 -9 -11 -10 -3 -1 0 0 0 0 0 0 0 -1 -3 -1 -1 -1 0 -1 -4 -2 0 0 0 0 -8 -13 -9 -2 -2 -1 0 0 -1 -2 -2 -1 0 0 0 0 0 0 0 -1 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 -3 -7 -10 -10 -11 -14 -15 -12 -12 -20 -23 -23 -23 -24 -25 -25 -25 -25 -25 -25 -23 -23 -23 -23 -23 -23 -23 -23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -2 -1 -4 -4 -4 -4 -4 -4 -8 -9 -8 -5 -4 -8 -10 -10 -9 -7 -2 -2 -2 -3 -4 -4 -3 -6 -6 -6 -6 -5 -4 -4 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -6 -8 -8 -8 -4 -4 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -3 -3 -3 -3 -5 -9 -7 -6 -5 -5 -5 -5 -1 0 -3 -5 -4 -5 -4 -4 -3 -2 -2 -1 0 -1 0 -2 -11 -8 -5 -4 -4 -4 -4 -5 -8 -11 -10 -9 -7 -7 -8 -8 -7 -7 -6 -8 -9 -5 -6 -7 -10 -12 -12 -11 -14 -16 -18 -20 -19 -12 -4 0 0 0 0 0 0 0 0 0 0 0 0 -1 -5 -6 -2 0 0 0 0 0 -2 -2 -3 -1 -1 -1 -1 -1 -1 -2 -2 -1 0 0 0 0 0 -1 -3 -3 -3 -4 -3 -1 0 0 0 0 0 0 0 0 0 0 -2 -4 -9 -11 -11 -11 -12 -11 -12 -19 -25 -25 -23 -24 -25 -26 -26 -26 -27 -24 -22 -22 -25 -25 -25 -25 -25 -21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -3 -3 -3 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -4 -4 -3 -4 -4 -3 -4 -4 -3 -3 -6 -5 -5 -8 -10 -9 -8 -7 -6 -4 -4 -2 -2 -4 -5 -5 -5 -6 -6 -6 -5 -5 -4 -5 -4 -4 -4 -4 -4 -4 -4 -4 -7 -8 -10 -10 -7 -7 -7 -7 -8 -7 -6 -6 -4 -4 -6 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -4 -5 -8 -10 -7 -8 -9 -9 -10 -9 -3 -1 -2 -6 -5 -5 -4 -4 -3 -2 -2 -4 -3 -1 0 0 -7 -8 -7 -4 -4 -4 -4 -4 -5 -6 -4 -7 -6 -4 -5 -6 -6 -7 -8 -10 -14 -13 -11 -11 -11 -11 -11 -13 -13 -16 -20 -22 -19 -12 -5 -1 -3 -1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 -1 -3 -1 -2 -3 -3 -1 -1 -2 -1 0 0 0 0 0 -1 -2 -4 -4 -5 -5 -4 -1 0 0 0 0 0 0 0 0 0 0 -1 -5 -8 -9 -9 -9 -10 -8 -7 -7 -13 -28 -26 -25 -26 -27 -27 -26 -27 -26 -25 -25 -27 -26 -26 -26 -22 -7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -3 -3 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -4 -4 -4 -4 -4 -4 -3 -4 -4 -5 -6 -6 -5 -5 -10 -10 -9 -8 -7 -7 -7 -3 -2 -3 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -4 -7 -3 -6 -6 -5 -5 -6 -6 -4 -2 -2 -3 -6 -6 -6 -6 -6 -6 -6 -7 -8 -7 -7 -7 -7 -5 -5 -5 -6 -8 -2 -3 -5 -6 -8 -6 -5 -3 -2 -5 -3 -5 -6 -5 -4 -3 -3 -4 -3 -3 0 0 -9 -13 -10 -6 -6 -6 -5 -4 -5 -6 -4 -5 -5 -4 -6 -7 -6 -6 -8 -10 -11 -11 -11 -11 -12 -13 -13 -16 -17 -18 -18 -17 -13 -8 -5 -3 -1 -1 0 0 0 0 0 -1 -1 -2 -2 -1 -1 0 0 0 0 0 0 0 0 -1 0 -1 -2 -3 -4 -2 -1 -1 -1 0 0 0 0 0 -1 -2 -1 -1 0 -2 -3 0 0 0 0 0 0 0 0 0 0 -1 -2 -6 -7 -8 -8 -8 -8 -3 0 0 -5 -29 -29 -28 -28 -28 -28 -28 -28 -28 -27 -27 -29 -29 -23 -14 -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 -4 -4 -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 -3 -4 -4 -4 -4 -4 -4 -3 -3 -4 -9 -9 -8 -6 -7 -10 -9 -9 -9 -7 -7 -7 -9 -6 -5 -8 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -4 -5 -4 -3 -3 -3 -2 -1 -2 -3 -4 -3 -2 -2 -2 -4 -3 -2 -2 -2 -5 -6 -7 -7 -7 -6 -5 -7 -8 -9 -10 -10 -8 -8 -7 -6 -5 -5 -6 -5 -3 -3 -6 -7 -6 -4 -2 -2 -3 -4 -6 -8 -8 -6 -4 -4 -4 -4 -4 -1 0 -10 -15 -11 -10 -7 -5 -4 -3 -3 -3 -3 -3 -4 -5 -5 -8 -7 -7 -9 -9 -9 -8 -11 -15 -16 -17 -18 -18 -18 -19 -20 -14 -6 -3 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -2 -2 -1 0 0 0 0 -1 -1 0 0 0 -1 -3 -3 -2 -3 -2 -1 0 0 -1 -1 -1 -1 0 -1 -1 -1 0 -3 -5 -2 -1 0 0 0 0 0 0 0 0 0 -1 -3 -4 -4 -6 -8 -8 -9 -5 0 -4 -23 -30 -30 -29 -29 -30 -30 -30 -30 -30 -29 -30 -31 -31 -20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -1 -1 -2 -3 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -4 -4 -4 -4 -3 -3 -4 -5 -9 -9 -8 -7 -9 -9 -8 -8 -9 -8 -8 -7 -8 -8 -8 -6 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -3 -3 -3 -4 -4 -4 -3 -2 -3 -4 -9 -5 -4 -3 -3 -3 -3 -2 -3 -3 -2 -2 -3 -3 -3 -5 -7 -6 -6 -8 -10 -10 -10 -9 -8 -7 -6 -5 -5 -6 -6 -4 -3 -6 -6 -4 -3 -2 -3 -3 -6 -8 -9 -10 -6 -5 -5 -5 -5 -5 -2 -1 -7 -13 -10 -9 -7 -4 -2 -3 -2 -2 -2 -3 -4 -4 -4 -7 -7 -7 -7 -8 -12 -9 -12 -20 -21 -21 -20 -18 -19 -25 -23 -13 -6 -3 0 0 -1 -1 -6 -10 -5 -4 -4 -3 -3 -3 -3 -1 0 0 0 -1 -2 -2 -1 0 0 0 -1 -1 -1 -3 -2 -1 0 0 -1 -2 -3 -2 -1 0 0 0 0 0 -2 -4 -2 -1 -1 0 0 0 0 0 0 0 -1 -1 -2 -3 -4 -5 -8 -9 -10 -5 0 -2 -27 -32 -30 -29 -30 -33 -33 -32 -32 -32 -31 -32 -30 -25 -16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -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 -1 -1 -3 -4 -3 -3 -4 -5 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -8 -8 -7 -6 -6 -3 -1 -2 -3 -4 -5 -5 -5 -4 -3 -4 -4 -3 -3 -2 -2 -3 -4 -4 -3 -3 -3 -4 -9 -5 -3 -3 -4 -4 -4 -3 -3 -3 -3 -6 -7 -7 -6 -5 -7 -6 -3 -3 -4 -3 -3 -2 -4 -7 -6 -5 -4 -4 -3 -2 -4 -6 -6 -4 -2 -3 -3 -3 -6 -9 -9 -9 -8 -6 -6 -6 -6 -6 -4 -3 -5 -8 -9 -7 -6 -4 -2 -2 -3 -3 -4 -5 -5 -6 -5 -6 -7 -7 -8 -10 -13 -17 -20 -23 -23 -22 -21 -15 -7 -32 -28 -17 -11 -7 -2 -1 -1 -1 -3 -7 -1 -1 -1 -2 -2 -2 -1 -1 0 -1 -1 -2 -4 -4 -5 -6 -6 -5 -4 -3 -2 -3 -1 -1 -1 -1 -3 -2 -3 -2 -1 -1 -1 0 0 0 -1 -5 -3 -3 -2 0 -1 -1 -1 0 0 0 0 -1 -3 -6 -9 -11 -11 -13 -7 0 -2 -20 -32 -34 -33 -34 -34 -35 -35 -35 -34 -34 -34 -35 -19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -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 -1 -3 -3 -3 -3 -3 -4 -8 -9 -9 -8 -8 -8 -8 -8 -5 -2 -2 -7 -7 -3 -4 -6 0 0 0 -2 -4 -5 -5 -5 -4 -4 -4 -4 -4 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -4 -6 -6 -7 -7 -7 -8 -8 -7 -5 -2 0 0 0 0 0 -3 -7 -7 -5 -5 -4 -3 -1 -5 -6 -5 -4 -4 -6 -6 -7 -8 -9 -9 -9 -8 -7 -6 -6 -6 -5 -5 -6 -6 -5 -7 -5 -4 -4 -3 -3 -4 -4 -5 -6 -7 -8 -7 -7 -8 -10 -11 -12 -15 -16 -12 -11 -20 -22 -14 -4 -4 -27 -24 -22 -19 -9 -2 -1 -1 -2 -4 -1 -1 -1 -1 -2 -2 -1 -1 0 -1 -1 -2 -4 -4 -4 -5 -4 -3 -2 -1 -2 -3 -2 -2 -1 -2 -4 -4 -1 -1 -2 -3 -2 -2 -1 0 0 -1 -4 -5 -5 -3 0 0 -1 -1 0 0 0 0 -1 -6 -10 -2 -1 0 0 0 0 0 -28 -38 -37 -37 -37 -36 -37 -37 -37 -37 -37 -37 -36 -25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -3 -3 -3 -4 -4 -5 -8 -9 -8 -8 -7 -7 -7 -7 -5 -1 -6 -6 -7 -8 -6 -2 -2 -1 -2 -4 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -5 -6 -6 -7 -7 -7 -7 -7 -8 -7 -6 -6 -4 -3 -4 -3 -1 0 -1 -2 -10 -10 -8 -6 -4 -3 -2 -4 -5 -5 -5 -5 -7 -7 -7 -7 -7 -6 -5 -5 -7 -8 -9 -3 -3 -6 -5 -3 -3 -2 -2 -3 -2 -2 -4 -5 -6 -8 -9 -8 -8 -7 -8 -10 -10 -11 -14 -13 0 0 -17 -16 -4 -2 -2 -21 -27 -27 -23 -13 -3 -1 0 -1 0 0 -1 -2 -2 -2 -2 -1 0 0 0 0 0 -2 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -2 -1 -1 -1 -1 -2 -3 -3 -3 -2 -1 0 0 0 -1 -4 -5 -2 0 0 -1 -1 -1 -1 -1 -1 -4 -8 -5 -1 0 0 0 0 0 -16 -34 -40 -40 -40 -39 -38 -38 -39 -39 -39 -38 -38 -37 -31 -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 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -3 -3 -4 -5 -8 -9 -9 -8 -8 -8 -8 -4 -5 -6 -2 -6 -6 -6 -6 -7 -6 -6 -5 -5 -5 -6 -6 -6 -5 -4 -4 -4 -4 -4 -3 -4 -4 -3 -4 -4 -3 -4 -8 -4 -3 -4 -4 -5 -4 -4 -5 -6 -7 -8 -8 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -4 -2 -2 -8 -7 -8 -7 -5 -4 -4 -2 -5 -7 -7 -5 -7 -6 -5 -4 -4 -4 -3 -3 -3 -3 -5 -2 0 0 -1 -2 -3 -2 -2 -3 -3 -2 -2 -4 -5 -6 -8 -10 -9 -7 -6 -6 -6 -7 -9 -10 -10 -2 -1 -7 -7 -1 -1 -2 -13 -19 -17 -14 -9 -3 0 0 0 0 0 -1 -2 -3 -4 -2 -2 -1 0 -1 0 -1 -1 -2 -2 -3 -3 -3 -2 -2 -3 -2 -2 -2 -1 0 0 0 -2 -2 -1 -2 -2 -1 0 0 0 -1 -5 -6 -3 -1 -1 -1 -3 -3 -1 -1 -1 -2 -5 -5 -1 0 0 0 0 0 0 -14 -28 -41 -40 -40 -40 -40 -40 -37 -19 -34 -22 -4 -8 -31 -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 -1 -1 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -7 -4 -6 -8 -8 -8 -8 -8 -8 -7 -5 -4 -4 -1 -4 -7 -6 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -3 -2 -5 -4 -4 -5 -7 -6 -5 -4 -4 -4 -5 -8 -8 -4 -1 0 0 -6 -7 -7 -8 -8 -6 -5 -4 -3 -1 0 -6 -8 -6 -4 -3 -2 -1 -2 -3 -7 -7 -5 -7 -8 -6 -6 -4 -4 -4 -3 -2 -3 -1 0 -1 -1 -2 -3 -2 -2 -2 -2 -2 -4 -5 -6 -8 -9 -10 -8 -6 -5 -4 -5 -7 -5 -1 -1 -2 -3 -2 -1 -1 -1 -2 -3 -3 -3 -2 -2 -1 0 0 0 0 0 -1 -2 -7 -7 -6 -4 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 -6 -3 0 0 -1 -1 -1 -1 0 -1 -2 -3 -3 0 0 0 0 0 0 0 0 0 -13 -39 -40 -40 -41 -41 -41 -40 -8 -26 -24 -8 -35 -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 -2 -3 -3 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 -2 -7 -8 -7 -7 -8 -7 -7 -7 -7 -6 -4 0 0 0 0 -3 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -3 -3 -2 -1 -3 -4 -5 -3 -4 -5 -5 -5 -6 -6 -6 -6 -5 -4 -4 -3 -4 -3 -3 -4 -1 -1 -5 -6 -5 -5 -9 -6 -5 -5 -3 -3 -1 -7 -9 -7 -4 -4 -4 -2 0 -1 -3 -6 -9 -9 -8 -7 -6 -6 -6 -5 -4 -2 -1 0 0 -1 -4 -5 -4 -3 -2 -1 -1 -3 -4 -5 -7 -8 -10 -9 -7 -5 -5 -6 -9 -7 -2 -2 -2 -4 -5 -4 -1 -3 -3 -3 -3 -3 -3 -2 -1 -1 0 0 0 0 0 -1 -3 -10 -9 -7 -3 -1 0 0 -1 -1 0 -1 -1 -3 -3 -1 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -6 -6 -2 0 0 -2 -2 -2 -1 0 -1 -2 -4 -3 0 0 0 0 0 0 0 0 0 0 -7 -38 -40 -40 -41 -41 -41 -42 -15 -7 -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 -2 -2 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -2 -3 -2 -2 -2 -1 -2 -6 -8 -8 -8 -7 -7 -8 -7 -2 0 -1 -3 -4 -4 -5 -5 -6 -7 -7 -6 -8 -10 -10 -7 -6 -5 -5 -6 -7 -7 -7 -6 -6 -6 -6 -6 -4 -4 -4 -3 -2 -2 -4 -5 -4 -4 -4 -4 -5 -5 -4 -5 -6 -5 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 0 0 -1 -10 -6 -5 -6 -6 -5 -2 -1 -3 -5 -4 -5 -4 -2 0 -1 -5 -7 -7 -7 -7 -5 -4 -6 -8 -7 -5 -2 0 -1 -1 -1 -6 -7 -6 -5 -4 -2 -2 -3 -5 -7 -10 -11 -10 -8 -6 -4 -3 -2 -2 -1 -1 -1 -3 -4 -4 -4 -2 -3 -2 -2 -2 -2 -1 -2 -2 -1 -1 -1 0 0 0 -1 -4 -7 -6 -4 -1 -1 -1 -1 0 0 0 0 0 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7 -8 -4 -1 -1 -1 -2 -2 -1 0 0 -2 -4 -3 0 0 0 0 0 0 0 0 0 0 -5 -24 -37 -40 -41 -41 -41 -41 -42 -21 0 0 0 -1 -3 -4 -11 -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 -2 -3 -3 -3 -3 -3 -3 -3 -3 -5 -5 -6 -7 -7 -7 -7 -8 -8 -8 -7 -2 0 -3 -7 -7 -5 -3 -4 -7 -6 -6 -5 -5 -6 -10 -10 -7 -5 -5 -6 -6 -6 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -2 -3 -3 -4 -5 -4 -4 -4 -3 -3 -2 -2 -2 -1 -1 0 0 -10 -11 -10 -10 -8 -6 -2 0 -1 -4 -5 -4 -3 -2 -3 -2 -5 -6 -6 -6 -6 -7 -5 -6 -9 -8 -4 -3 -2 -2 -2 -4 -8 -9 -8 -7 -5 -3 -3 -5 -7 -10 -12 -12 -10 -7 -6 -6 -2 -1 -1 -2 -2 -2 -2 -9 -20 -21 -24 -22 -21 -15 -5 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -2 -5 -5 -3 -1 -1 -1 -1 0 0 0 0 0 0 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -4 0 -1 -1 -1 0 0 0 0 0 -4 -4 0 0 0 0 0 0 0 0 0 0 -4 -21 -36 -38 -39 -41 -40 -40 -40 -41 -26 0 0 -27 -36 -18 -6 -20 -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 -1 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -7 -8 -7 -8 -8 -8 -8 -6 0 0 -1 -1 -1 -4 -7 -7 -5 -4 -5 -6 -6 -5 -5 -7 -10 -10 -9 -6 -4 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 0 0 -10 -15 -14 -9 -10 -5 -2 0 -1 -4 -4 -4 -3 -2 -3 -5 -5 -4 -5 -6 -7 -7 -6 -6 -7 -6 -5 -4 -4 -6 -7 -8 -9 -8 -8 -7 -4 -3 -3 -5 -8 -8 -8 -8 -8 -7 -2 -3 -2 -2 -2 -3 -5 -3 -1 -9 -24 -21 -31 -32 -26 -20 -18 -4 -2 -2 -2 -2 -2 -1 -1 -2 -4 -4 -4 -3 -1 0 0 -1 -1 0 0 0 0 0 -1 -2 -1 -1 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 -1 -5 -4 -2 -1 -1 -3 -1 0 0 0 0 0 -2 -2 0 0 0 0 0 0 0 0 0 0 -4 -17 -36 -37 -37 -37 -37 -38 -39 -39 -39 -31 0 0 -24 -20 -2 -9 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -6 -8 -8 -8 -8 -8 -8 -8 -8 -4 -2 -1 -1 0 0 -5 -4 -2 -5 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -9 -6 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -2 -1 -3 -2 -4 -6 -5 -4 -4 -4 -3 -3 -3 -2 -1 -6 -8 -5 -10 -9 -6 -3 0 0 0 -2 -3 -4 -3 -3 -4 -6 -7 -8 -10 -11 -12 -11 -7 -4 -4 -4 -4 -4 -5 -7 -8 -8 -8 -7 -5 -4 -4 -4 -5 -6 -6 -6 -6 -5 -5 -1 -4 -6 -6 -10 -12 -14 -7 -1 -3 -8 -23 -33 -34 -25 -6 -6 -3 -3 -4 -4 -2 -2 -1 -1 -1 -4 -4 -3 -2 -1 0 0 0 0 0 0 0 -1 -1 -2 -2 -1 0 0 0 -1 -1 -1 -3 -3 -2 -2 -2 -1 -1 -1 0 0 -3 -2 -1 -1 -2 -1 0 0 0 -1 -1 -3 -3 0 0 0 0 0 0 0 0 0 0 -2 -14 -35 -35 -36 -35 -34 -35 -35 -36 -36 -36 -35 -24 -8 -18 -23 -4 -23 -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 -3 -2 0 0 0 0 0 0 0 -1 -1 -3 -3 -3 -3 -3 -3 -3 -6 -8 -8 -8 -8 -8 -8 -8 -8 -2 0 0 0 0 0 -4 -3 -1 -3 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -3 -3 -5 -5 -3 -3 -5 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -2 -1 0 -1 -6 -3 -3 -6 -6 -7 -5 -4 -3 -3 -3 -6 -6 -6 -5 -1 -10 -10 -6 -2 -1 -1 -1 -2 -4 -5 -6 -4 -5 -6 -7 -8 -13 -14 -15 -13 -7 -5 -5 -6 -6 -6 -6 -8 -9 -9 -9 -7 -5 -4 -3 -4 -4 -3 -4 -4 -4 -3 -3 -3 -5 -5 -4 -4 -5 -6 -5 -3 -3 -16 -29 -32 -32 -29 -23 -17 -8 -5 -7 -7 -5 -4 -4 -3 0 0 -2 -2 -1 0 0 0 0 0 0 0 0 -1 -2 -1 -1 -1 0 0 -1 -1 -4 -5 -5 -3 -2 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 -1 -1 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 -1 -12 -33 -34 -34 -34 -34 -33 -33 -33 -33 -33 -34 -34 -32 -14 -2 -1 0 -2 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -3 -3 -3 -4 -4 -4 -6 -8 -8 -8 -8 -7 -4 -3 -3 -1 0 0 0 0 0 0 0 -1 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -5 -4 -4 -4 -4 -4 -3 -4 -7 -7 -6 -6 -5 -6 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -7 -6 -5 -5 -4 -3 -3 -1 -2 -6 -3 -3 -8 -8 -8 -8 -6 -4 -3 -3 -6 -7 -8 -9 -9 -10 -7 -3 -4 -4 -5 -4 -5 -7 -5 -5 -5 -5 -4 -2 -11 -11 -11 -10 -9 -8 -7 -7 -7 -6 -4 -5 -8 -9 -9 -7 -7 -5 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -8 -12 -11 -14 -13 -11 -12 -25 -18 -12 -10 -9 -5 -5 -3 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -4 -7 -6 -1 -1 -5 -6 -4 -4 -3 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -2 -9 -4 -1 0 0 0 0 0 0 0 0 0 0 0 -10 -31 -31 -32 -32 -32 -32 -31 -31 -30 -30 -31 -31 -31 -30 -18 -1 -2 -4 -9 -8 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -3 -3 -3 -3 -8 -9 -8 -9 -9 -9 -6 -5 -3 0 0 0 0 0 0 0 0 0 -1 -2 -3 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -7 -8 -8 -7 -6 -6 -4 -3 -3 -3 -3 -4 -4 -4 -2 -2 -2 -4 -6 -5 -5 -4 -4 -4 -3 -3 -3 -2 -1 -1 -2 -1 -13 -13 -9 -6 -4 -4 -5 -6 -8 -9 -10 -11 -8 -4 -5 -8 -8 -8 -9 -8 -4 -4 -5 -3 -2 -8 -6 -5 -5 -5 -6 -8 -9 -10 -8 -5 -4 -5 -5 -5 -6 -5 -5 -3 -2 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -5 -5 -5 -5 -5 -7 -14 -12 -6 -3 -3 -2 -2 -1 -1 -3 -5 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -4 -5 -5 -6 -7 -5 -7 -7 -4 -4 -2 -2 -2 -3 -6 -5 -4 -4 -3 -3 -3 -2 -1 -2 -2 -2 -2 -2 -1 -2 -8 -10 -3 0 0 0 0 0 0 0 0 0 0 0 -9 -29 -29 -30 -30 -30 -30 -30 -29 -29 -28 -28 -28 -28 -19 -18 -21 0 -1 -17 -25 -23 -12 -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 -1 -3 -4 -4 -6 -9 -9 -9 -9 -9 -9 -8 -7 -6 -3 0 0 0 0 0 0 0 0 0 -1 -1 -4 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -5 -5 -5 -5 -7 -6 -5 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 -3 -5 -5 -5 -5 -5 -5 -5 -4 -4 -2 -1 0 0 0 -2 -2 -6 -11 -8 -7 -6 -7 -7 -4 -3 -3 -2 -1 -2 -8 -8 -8 -10 -11 -6 -5 -6 -4 -1 -1 -9 -6 -3 -2 -2 -2 -5 -8 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -2 -2 -3 -3 -5 -8 -6 -5 -5 -5 -3 -3 -2 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -10 -11 -11 -11 -10 -10 -10 -8 -5 -6 -5 -4 -4 -5 -5 -4 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -6 -11 -3 0 0 0 0 0 0 0 0 0 0 0 -9 -26 -27 -28 -28 -28 -28 -28 -28 -28 -28 -26 -26 -26 -27 -14 -3 -8 -23 -9 -6 -15 -25 -13 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -4 -6 -9 -9 -9 -9 -9 -9 -8 -7 -1 0 0 0 0 0 0 0 0 0 -1 -6 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -5 -5 -4 -2 -3 -2 -4 -5 -4 -5 -3 -2 -2 -2 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -5 -3 -1 0 0 0 0 -1 -1 0 -2 -7 -8 -8 -8 -6 0 0 0 0 0 -1 -6 -6 -8 -11 -12 -10 -11 -13 -14 -15 -15 -10 -7 -5 -4 -4 -6 -7 -9 -11 -12 -11 -10 -8 -6 -5 -4 -6 -6 -6 -5 -4 -3 -2 -1 -1 -2 -3 -3 -4 -5 -6 -6 -6 -5 -4 -3 -3 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -5 -11 -12 -12 -10 -9 -9 -9 -7 -4 -4 -3 -3 -2 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -2 -3 -3 -4 -5 -6 -6 -15 -5 0 0 0 0 0 0 0 0 0 0 -10 -11 -7 -27 -26 -26 -26 -26 -26 -27 -27 -27 -26 -24 -24 -25 -20 -8 0 0 -21 -27 -27 -27 -26 -15 -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 -1 -1 -6 -8 -9 -9 -9 -8 -9 -5 0 0 0 0 0 0 0 0 0 0 -3 -7 -7 -7 -7 -7 -7 -7 -7 -5 -5 -5 -5 -5 -5 -4 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -5 -6 -7 -7 -5 -3 -2 -2 -1 -1 -2 -5 -6 -4 -3 -3 -3 -2 -4 -6 -6 -6 -2 0 0 0 0 0 0 0 -1 -1 -2 -6 -7 -7 -6 -3 -2 -1 -1 0 0 -6 -7 -10 -14 -14 -14 -13 -14 -17 -16 -11 -8 -7 -7 -8 -8 -10 -11 -12 -12 -10 -10 -9 -8 -7 -6 -7 -8 -8 -8 -7 -6 -6 -4 -3 -3 -3 -3 -4 -5 -6 -8 -6 -3 -2 -3 -3 -3 -3 -4 -4 -2 -1 0 0 0 0 0 0 -4 -7 -8 -9 -2 0 0 0 0 0 -1 -6 -13 -14 -12 -13 -10 -8 -6 -6 -6 -6 -5 -5 -3 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -5 -8 -11 -15 -14 -5 0 0 0 0 0 0 0 0 0 0 -13 -24 -22 -25 -25 -25 -25 -25 -25 -26 -26 -25 -24 -24 -24 -21 -9 0 0 -2 -17 -26 -26 -24 -16 -12 -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 -1 -3 -1 -6 -9 -9 -9 -9 -9 -5 0 0 0 0 0 0 0 0 0 0 0 -3 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -4 -5 -5 -5 -6 -5 -5 -6 -6 -5 -5 -6 -5 -5 -5 -5 -5 -6 -6 -3 -2 -2 -1 -1 -1 -3 -2 -3 -7 -7 -4 -3 -3 -4 -5 -6 -4 -4 -4 -5 -5 -5 -3 0 -2 -5 -7 -8 -8 -8 -8 -4 -5 -6 -6 -5 -1 -1 -4 -9 -13 -10 -11 -11 -10 -8 -8 -8 -6 -4 -5 -8 -9 -10 -11 -11 -12 -7 -7 -7 -7 -7 -7 -8 -9 -8 -7 -6 -5 -5 -4 -3 -2 -2 -2 -4 -6 -7 -8 -3 -1 0 -1 -1 -2 -3 -5 -6 -1 -2 -1 0 0 0 0 0 -3 -5 -4 -3 -1 0 0 0 0 0 -1 -4 -8 -16 -13 -10 -9 -8 -4 -4 -4 -3 -3 -3 -3 -2 -3 -3 -3 -3 -3 -2 -3 -3 -3 -1 0 -1 -2 -2 -3 -5 -8 -12 -15 -17 -10 -4 0 0 0 0 0 0 0 0 -7 -6 -9 -25 -25 -25 -25 -25 -24 -24 -24 -24 -24 -24 -23 -22 -22 -14 -3 -14 -4 -2 -13 -25 -23 -22 -12 -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 -1 -3 -4 -3 -6 -9 -8 -4 -8 -4 0 0 0 0 0 0 0 0 0 0 -4 -7 -7 -8 -8 -7 -7 -7 -7 -7 -6 -6 -7 -7 -7 -6 -6 -5 -6 -6 -6 -6 -6 -5 -5 -4 -5 -5 -6 -6 -6 -6 -4 -4 -6 -7 -4 -3 -2 -2 -1 -1 -1 0 -1 -2 -6 -7 -5 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -8 -10 -10 -10 -10 -7 -6 -8 -10 -8 -6 -5 -5 -6 -8 -6 -6 -7 -5 -3 -4 -4 -3 -4 -4 -5 -7 -7 -7 -7 -7 -5 -5 -5 -5 -6 -6 -7 -8 -7 -5 -4 -4 -4 -3 -3 -3 -4 -4 -5 -7 -7 -8 -4 0 -1 0 0 -1 -1 -2 -4 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -2 -5 -6 -5 -4 -4 -5 -4 -3 -3 -3 -3 -3 -2 -1 -2 -2 -3 -3 -2 -2 -2 -2 -1 0 -1 -1 -2 -2 -4 -8 -12 -15 -17 -19 -17 -8 0 0 0 0 0 -1 -4 -2 -14 -14 -5 -24 -8 -2 -10 -21 -24 -24 -23 -23 -23 -23 -22 -7 -12 -18 -3 -24 -20 -12 -10 -23 -21 -16 -12 -6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -4 -4 -3 -4 -5 -4 -4 -2 0 0 0 0 0 0 0 0 0 0 -4 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -4 -5 -6 -7 -7 -7 -6 -6 -7 -8 -9 -7 -5 -3 -4 -3 -2 0 -1 -6 -5 -4 -6 -7 -7 -7 -8 -8 -7 -8 -7 -6 -6 -6 -6 -7 -7 -8 -10 -12 -17 -13 -11 -12 -13 -6 -8 -5 -4 -4 -5 -4 -3 -4 -6 -6 -6 -5 -4 -4 -3 -4 -5 -5 -5 -5 -6 -6 -4 -3 -3 -4 -4 -5 -5 -5 -5 -3 -3 -2 -2 -3 -4 -4 -4 -5 -5 -6 -7 -6 -5 -3 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -2 -1 -2 -2 -3 -2 -2 -2 -2 -4 -4 -3 -2 -2 -2 -2 -2 -1 0 -1 -1 -1 -1 -2 -2 -1 0 0 -1 -1 -1 -3 -6 -10 -12 -16 -18 -18 -13 -7 -8 -11 -13 -16 -20 -21 -22 -12 -14 -16 -1 -6 -2 0 0 -3 -21 -17 -17 -22 -20 -5 -17 -11 -7 -15 -1 -9 -18 -24 -23 -22 -21 -9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -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 -1 -3 -3 -3 -3 -3 -3 -3 -3 -2 0 0 0 0 0 0 0 -1 -2 -2 -4 -5 -4 -3 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -4 -5 -7 -7 -7 -6 -7 -7 -7 -9 -10 -9 -6 -8 -6 -4 -4 -5 -7 -6 -5 -4 0 0 0 -4 -6 -5 -10 -8 -8 -8 -8 -8 -8 -8 -8 -9 -8 -11 -7 -5 -8 -15 -6 -5 -8 -8 -5 -5 -3 -1 -2 -4 -6 -10 -11 -10 -9 -7 -4 -4 -4 -5 -5 -6 -4 -3 -3 -4 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -2 -1 -1 -1 0 0 -1 -1 -1 -2 -2 -3 -3 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 -2 -3 -6 -9 -12 -16 -16 -16 -15 -16 -16 -17 -18 -18 -18 -18 -18 -19 -18 -9 -1 0 0 0 -2 -1 -18 -11 -4 -8 -6 -1 -14 -15 0 0 0 0 -11 -25 -23 -21 -18 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -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 -1 -2 -2 -1 -2 -2 -1 -1 -2 -2 -1 -1 0 0 0 0 0 0 -1 -2 -3 -3 -3 -3 -3 -3 -6 -8 -8 -8 -7 -6 -7 -8 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -4 -5 -6 -5 -5 -6 -6 -6 -7 -8 -8 -8 -10 -9 -8 -7 -7 -8 -8 -7 -6 -5 -2 -1 -2 -5 -6 -4 -7 -7 -8 -8 -9 -9 -9 -7 -6 -6 -4 -5 -3 0 -4 -15 -11 -10 -9 -7 -7 -5 -3 -1 -1 -1 -2 -3 -4 -7 -7 -4 -3 -3 -4 -4 -4 -4 -3 -3 -4 -5 -4 -4 -5 -5 -4 -3 -2 -2 -1 -2 -2 -2 -4 -4 -4 -4 -5 -5 -4 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -2 -1 -1 -1 -2 -2 -1 -1 -2 -3 -4 -4 -2 -2 -2 -3 -3 -2 -2 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 -2 -4 -6 -7 -10 -11 -12 -13 -14 -15 -16 -16 -16 -16 -16 -16 -17 -16 -11 -10 -12 -14 -10 -4 -21 -5 -15 -18 -10 0 0 0 -12 -17 0 0 0 0 -7 -24 -23 -7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -5 -7 -5 -2 -1 0 -1 -1 -3 -1 0 0 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -7 -8 -8 -8 -8 -4 -4 -6 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -4 -5 -6 -6 -6 -6 -6 -7 -7 -6 -5 -5 -4 -5 -8 -9 -8 -7 -7 -7 -7 -3 -5 -7 -8 -8 -7 -7 -6 -6 -7 -6 -6 -5 -4 -6 -9 -6 -2 -3 -11 -13 -11 -9 -9 -8 -5 -3 -1 -1 -2 -4 -4 -4 -4 -4 -4 -4 -3 -2 -3 -3 -4 -5 -5 -4 -3 -3 -3 -4 -5 -6 -5 -4 -3 -3 -2 -2 -3 -4 -5 -5 -4 -5 -6 -6 -6 -5 -6 -3 -2 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -3 -5 -6 -5 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -2 -3 -3 -4 -6 -9 -12 -13 -15 -16 -15 -14 -15 -15 -16 -17 -15 -7 -16 -18 -19 -18 -20 -21 -7 -11 -21 -10 -1 0 0 -1 0 0 0 0 -5 -16 -6 -16 -10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -4 -6 -10 -6 -2 0 0 0 0 -1 -1 0 -1 -1 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -8 -9 -8 -6 -4 -8 -8 -8 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -5 -4 -4 -3 -3 -3 -3 0 0 -3 -5 -5 -5 -5 -6 -6 -6 -5 -4 -2 -1 -1 -1 -2 -2 -6 -8 -8 -8 -8 -7 -7 -8 -9 -9 -8 -8 -7 -5 -5 -5 -4 -4 -5 -8 -7 -6 -4 -3 -12 -12 -13 -13 -13 -10 -7 -4 -2 -3 -7 -8 -7 -6 -6 -6 -5 -4 -3 -3 -2 -2 -3 -5 -7 -6 -3 -2 -3 -4 -5 -5 -5 -4 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -8 -10 -13 -15 -5 -4 -5 -5 -4 -3 -2 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 -1 -2 -2 -1 -1 -1 -2 -2 -1 -3 -3 -3 -4 -3 -3 -2 -2 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -2 -5 -9 -11 -13 -13 -13 -13 -14 -15 -16 -16 -17 -17 -16 -17 -17 -18 -19 -20 -12 -10 -12 -1 0 0 0 0 0 0 0 0 -2 -8 -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 -1 -4 -6 -7 -6 -1 0 0 0 0 0 0 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -7 -5 -6 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -3 -3 -3 -3 -3 -2 -3 -4 -4 -4 -4 -5 -6 -6 -5 -4 -4 -3 -3 -2 0 0 0 -5 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -8 -7 -6 -5 -4 -4 -5 -7 -8 -4 -4 -4 -2 -11 -12 -6 -4 -10 -11 -9 -7 -4 -4 -7 -8 -9 -9 -7 -7 -5 -3 -4 -4 -3 -2 -2 -3 -4 -4 -2 -1 -1 -2 -3 -3 -4 -3 -3 -3 -3 -6 -7 -8 -9 -9 -8 -8 -11 -16 -18 -7 -6 -7 -7 -7 -3 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -3 -4 -2 0 0 -1 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -2 -6 -8 -8 -7 -5 -10 -13 -14 -14 -15 -15 -15 -15 -16 -17 -18 -21 -22 -17 -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 -3 -6 -7 -6 -1 0 0 0 0 0 0 0 -2 -4 -4 -4 -4 -5 -4 -3 -3 -3 -3 -3 -3 -3 -7 -7 -8 -8 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -6 -6 -5 -5 -2 -1 -2 -4 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -4 -4 -4 -1 -4 -7 -8 -7 -7 -8 -7 -7 -8 -9 -9 -9 -8 -8 -6 -5 -4 -4 -4 -5 -8 -6 -3 0 -1 -3 -2 -1 0 -1 -5 -6 -6 -6 -6 -7 -8 -8 -7 -5 -4 -5 -5 -4 -2 -2 -2 -2 -1 -1 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -4 -7 -11 -13 -11 -7 -7 -7 -6 -7 -8 -8 -4 -4 -3 -3 -3 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -2 -7 -9 -9 -9 -6 -2 -1 -3 -5 -5 -3 -3 -2 -2 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -2 -3 -3 -2 -3 -6 -11 -12 -12 -13 -13 -14 -15 -15 -17 -17 -17 -17 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 -9 -9 -9 -8 -8 -7 -7 -7 -4 -5 -5 -6 -6 -7 -7 -7 -8 -8 -8 -7 -6 -6 -6 -6 -5 -5 -5 -5 -3 -1 -4 -5 -6 -5 -2 -2 -2 -2 -3 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -3 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -7 -7 -8 -8 -8 -8 -8 -6 -4 -4 -5 -6 -10 -11 -11 -9 -5 -5 -5 -3 0 -1 -1 -1 -1 -2 -3 -3 -7 -5 -4 -6 -6 -3 -2 -3 -3 -2 -2 -2 -2 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -2 -3 -9 -9 -9 -6 -3 -4 -5 -5 -4 -3 -3 -2 -3 -3 -3 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -8 -8 -7 -2 0 -1 -3 -6 -6 -5 -5 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -3 -3 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -3 -6 -9 -11 -11 -11 -12 -12 -13 -14 -15 -15 -15 -17 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -7 -7 -7 -8 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -6 -6 -7 -7 -7 -7 -6 -6 -7 -7 -6 -6 -5 -4 -2 -4 -5 -5 -4 -2 -2 -2 -2 -2 -3 -6 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -2 -1 0 -1 -2 -2 -5 -7 -7 -7 -6 -7 -8 -8 -7 -7 -7 -7 -6 -6 -7 -6 -5 -5 -5 -11 -11 -11 -11 -9 -7 -6 -5 -4 -4 -7 -10 -6 -4 -3 -2 -1 -2 -2 -2 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 0 0 -1 -1 -1 -1 -1 -2 -2 -4 -6 -7 -9 -7 -5 -5 -5 -5 -5 -4 -3 -1 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -4 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -3 -3 -2 -2 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 -1 -4 -7 -7 -7 -8 -9 -10 -10 -11 -12 -12 -13 -14 -12 -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 -3 -7 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -5 -4 -4 -5 -6 -6 -6 -5 -6 -8 -7 -7 -4 -3 -4 -5 -7 -4 -3 -3 -2 -2 -2 -1 -1 -1 -4 -3 -3 -2 -3 -6 -5 -4 -3 -3 -2 -2 -1 -1 -1 -2 -1 0 -1 -3 -6 -6 -5 -5 -6 -6 -6 -6 -5 -5 -4 -2 -4 -5 -5 -5 -4 -8 -8 -7 -6 -4 -2 -6 -8 -7 -6 -12 -13 -13 -11 -9 -3 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -3 -2 -2 -1 -1 -2 -2 -3 -3 -4 -5 -4 -7 -6 -5 -5 -5 -5 -4 -3 -2 0 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -3 -3 -1 -1 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -6 -5 -4 -3 -2 -4 -5 -4 -3 -3 -4 -4 -4 -3 -2 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 -1 -2 -4 -3 -4 -5 -6 -7 -9 -10 -10 -10 -11 -12 -5 0 -2 -8 -14 -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 -5 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -7 -3 -4 -4 -4 -5 -6 -6 -6 -3 -3 -7 -6 -5 -3 -3 -5 -6 -3 -6 -10 -9 -3 -3 -2 -1 -1 -1 -1 -3 -4 -3 -2 -6 -5 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -3 -3 -4 -5 -6 -6 -5 -5 -5 -3 -1 -1 -1 0 -1 -3 -6 -3 0 0 0 0 -2 -2 -4 -13 -11 -13 -15 -15 -9 -6 -4 -3 -3 -4 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -3 -2 -1 -1 -2 -3 -3 -3 -3 -3 -4 -4 -6 -5 -3 -4 -3 -3 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -2 -5 -5 -2 -1 -2 -3 -4 -5 -5 -4 -2 -2 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -2 -3 -2 -2 -3 -4 -5 -7 -7 -6 -7 -8 -9 -7 -4 -6 -11 -14 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -5 -6 -5 -6 -6 -6 -6 -6 -4 -2 -3 -4 -5 -5 -5 -5 -2 -1 -1 -1 -1 -4 -3 -2 -2 -3 -3 -4 -5 -5 -5 -5 -6 -5 -5 -5 -5 -6 -4 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -4 -5 -4 -6 -6 -6 -5 -3 -3 -3 -4 -4 -1 -1 -2 -1 -2 -5 -5 -3 -2 0 -1 -1 0 0 -6 -13 -12 -10 -9 -7 -4 -3 -3 -2 -2 -2 -4 -4 -5 -5 -4 -3 -2 -2 -1 -1 -2 -3 -4 -4 -4 -4 -5 -5 -4 -3 -4 -4 -2 -2 -2 -2 -2 -1 -2 -2 -1 -1 -1 -2 -2 -3 -6 -2 -1 -1 -1 0 0 0 0 0 0 0 -2 -5 -7 -7 -6 -4 -5 -6 -7 -6 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -3 -3 -2 -2 -2 -3 -2 -2 -2 -1 -1 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -6 -7 -7 -8 -8 -9 -11 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -7 -6 -7 -7 -8 -9 -7 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -5 -7 -7 -7 -6 -5 -1 -2 -4 -4 -1 -1 -2 -2 -3 -4 -5 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -5 -5 -3 -3 -3 -3 -3 -3 -3 -2 -3 -6 -8 -6 -4 -6 -6 -5 -5 -5 -5 -5 -3 -3 -9 -6 -4 -3 -2 0 0 -1 -1 0 -1 -10 -11 -10 -9 -5 -6 -6 -4 -2 -2 -3 -4 -5 -5 -4 -2 -1 -1 -1 -1 -1 -3 -6 -6 -5 -5 -6 -5 -4 -4 -3 -3 -2 -2 -2 -2 -3 -4 -6 -7 -5 -6 -8 -8 -8 -9 -11 -5 -2 -1 -1 -1 0 0 0 0 0 0 -5 -9 -9 -7 -9 -7 -6 -7 -7 -6 -6 -4 -3 -2 -2 -1 -2 -2 -2 -2 -2 -2 -3 -4 -3 -2 -2 -2 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -5 -5 -6 -5 -6 -8 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -7 -8 -8 -8 -8 -8 -9 -9 -8 -3 -7 -8 -8 -8 -4 -7 -6 -9 -12 -6 -7 -5 -4 -4 -5 -5 -6 -5 -5 -5 -5 -5 -4 -3 -3 -4 -3 -3 -4 -4 -4 -1 -1 -1 -1 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -2 -2 -3 -3 -4 -2 -3 -5 -3 -2 -2 -4 -7 -5 -1 -3 -4 -3 -4 -5 -4 -4 -4 -3 -2 -3 -3 -2 -1 -1 -5 -5 -6 -8 -7 -3 -3 -4 -2 -2 -3 -4 -4 -4 -2 -2 -1 -1 -1 -1 -1 -3 -4 -4 -6 -6 -6 -5 -4 -4 -4 -2 -2 -3 -2 -3 -4 -6 -6 -4 -3 -9 -12 -13 -13 -14 -9 -4 -2 -1 -1 -1 -1 0 0 0 0 -1 -3 -7 -15 -10 -11 -10 -7 -6 -6 -6 -5 -3 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 0 0 0 -1 -2 -2 -2 -1 -1 -2 -2 -2 -1 -1 -1 0 0 0 0 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -5 -5 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -9 -11 -8 -7 -8 -10 -13 -11 -9 -8 -7 -6 -5 -6 -6 -6 -6 -5 -5 -3 -3 -3 -1 -2 -1 -1 -2 -4 -4 -1 -1 -1 -1 -4 -5 -5 -6 -5 -5 -5 -5 -4 -3 -3 -3 -3 -4 -5 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -3 -6 -5 -2 -1 -1 -1 -2 -1 -3 -6 -6 -2 -1 -1 -1 -2 -1 -1 -4 -8 -6 -4 -3 -3 -2 -2 -1 -1 -1 -2 -3 -2 -1 -2 -2 -3 -4 -4 -3 -3 -3 -2 -2 -3 -2 -1 -1 -1 -3 -4 -5 -5 -6 -6 -5 -3 -3 -2 -2 -2 -4 -5 -5 -5 -5 -5 -3 -3 -4 -5 -7 -9 -14 -6 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -4 -14 -14 -13 -11 -7 -5 -5 -4 -3 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -6 -7 -8 -10 -12 -12 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -6 -5 -5 -4 -4 -4 -5 -2 -2 -2 -2 -2 -5 -6 -7 -6 -5 -5 -4 -4 -4 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -4 -5 -4 -2 -2 -1 -1 -1 -1 -1 -6 -5 -4 -4 -3 -4 -5 -6 -9 -12 -10 -10 -8 -5 -2 -3 -3 -1 0 0 0 -2 -3 -3 -2 -3 -3 -3 -3 -3 -3 -2 -3 -4 -4 -4 -2 -3 -4 -3 -4 -3 -4 -4 -3 -2 -3 -1 -2 -5 -8 -6 -6 -4 -3 -2 -2 -2 -2 -7 -13 -11 -9 -5 -2 -1 -1 -1 0 -1 -1 -1 -1 -6 -11 -13 -13 -13 -14 -13 -10 -5 -4 -3 -2 -1 -1 -1 -1 -1 0 -1 -2 -2 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -2 -2 -3 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -8 -8 -9 -11 -12 -11 -8 -6 -6 -6 -6 -5 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -6 -5 -4 -4 -4 -5 -7 -5 -3 -3 -6 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -3 -3 -2 -2 -3 -3 -3 -4 -5 -6 -5 -4 -3 -2 -1 -1 -1 -4 -4 -4 -6 -7 -8 -7 -8 -11 -13 -12 -13 -12 -9 -6 -7 -5 -4 -4 -2 -1 -1 -2 -3 -1 -1 -1 -2 -3 -3 -3 -2 -2 -3 -3 -2 -6 -8 -6 -1 -1 -2 -2 -2 -1 -1 -1 -2 -4 -7 -6 -3 -3 -2 -2 -1 -1 -2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 0 -1 -1 -1 -2 -8 -14 -19 -15 -14 -13 -12 -7 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -4 -4 -3 -3 -5 -8 -8 -8 -8 -7 -8 -13 -13 -11 -10 -9 -8 -6 -5 -5 -5 -6 -6 -5 -3 -3 -6 -5 -5 -5 -4 -4 -4 -5 -5 -4 -3 -4 -5 -6 -6 -5 -2 -5 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -2 -1 -1 -3 -4 -3 -4 -5 -6 -6 -7 -11 -7 -5 -4 -2 -1 -1 -1 -1 -3 -7 -5 -6 -7 -8 -6 -6 -10 -12 -13 -13 -10 -9 -8 -8 -8 -5 -5 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 0 -4 -7 -1 -2 -2 -2 -2 -1 -1 -1 -4 -7 -7 -4 -3 -3 -3 -3 -3 -6 -4 -2 -2 -2 -2 -2 -1 0 0 0 0 0 0 0 -1 -3 -6 -12 -17 -15 -13 -12 -10 -6 -6 -4 -2 -2 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -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 -5 -7 -6 -3 -3 -6 -7 -7 -7 -11 -10 -7 -5 -5 -4 -5 -5 -5 -5 -5 -5 -4 -5 -5 -4 -5 -5 -4 -3 -4 -4 -5 -5 -5 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -5 -5 0 0 -2 -7 -11 -8 -5 -5 -4 -2 -3 -8 -9 -6 -4 -4 -1 0 -1 -1 -1 -1 -3 -3 -5 -10 -7 -4 -4 -4 -4 -9 -8 -7 -5 -5 -6 -3 -4 -3 -1 -1 -2 -3 -3 -2 -2 -1 -1 -1 -2 -2 -1 0 0 -1 -2 -2 -1 -1 -2 -2 -1 -3 -4 -4 -1 -6 -6 -7 -7 -5 -6 -7 -8 -7 -5 -5 -2 -2 -1 -1 0 0 0 0 0 0 -1 -3 -3 -5 -12 -11 -10 -11 -13 -10 -7 -6 -4 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 -1 -1 0 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -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 -3 -6 -8 -8 -7 -7 -6 -6 -6 -6 -5 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -5 -5 -5 -3 -4 -4 -3 -3 -5 -5 -5 -5 -4 -4 -4 -4 -5 -6 -5 -4 -3 -4 -5 -6 -4 -5 -6 -6 -5 -5 -5 -4 -5 -5 -4 -3 -3 -4 -3 -1 0 -1 -1 -1 -5 -6 -3 -1 -1 -1 -1 -5 -5 -5 -7 -3 -2 -2 -2 -2 -3 -4 -4 -6 -9 -7 -4 -3 -4 -6 -5 -3 -2 -2 -2 -3 -1 -2 -2 -1 -1 -3 -3 -4 -4 -3 -2 -1 -2 -3 -4 -3 -2 -1 -1 -1 -1 -2 -3 -3 -2 -1 -1 -1 -1 -2 -8 -9 -9 -9 -9 -8 -7 -6 -3 -3 -1 -1 -1 0 0 0 0 0 0 0 -1 -3 -4 -4 -6 -8 -8 -7 -9 -13 -12 -10 -7 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 -5 -5 -8 -8 -7 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -5 -4 -5 -8 -5 -4 -4 -4 -2 -3 -4 -3 -2 -2 -5 -4 -4 -4 -4 -3 -4 -4 -5 -5 -4 -3 -4 -5 -5 -7 -6 -5 -4 -5 -5 -5 -4 -4 -5 -5 -4 -3 -3 -3 -2 -1 0 0 -3 -9 -8 -4 -2 -1 -2 -1 -1 -1 -3 -5 -4 -4 -3 -2 -3 -7 -8 -8 -8 -8 -8 -7 -3 -3 -6 -5 -4 -4 -3 -3 -2 -2 -1 -2 -4 -4 -3 -2 -3 -3 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -2 -3 -3 -3 -4 -5 -8 -7 -7 -8 -8 -9 -10 -11 -12 -14 -15 -15 -10 -3 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -6 -6 -6 -7 -7 -7 -9 -9 -8 -4 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -2 -2 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 -7 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -4 -4 -5 -8 -8 -5 -4 -4 -3 -1 -3 -4 -3 0 -1 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -6 -7 -6 -6 -7 -5 -4 -4 -4 -3 -4 -4 -5 -5 -4 -3 -3 -5 -5 -3 -4 -6 -7 -8 -6 -4 -2 -2 -2 -2 -2 -2 -2 -6 -6 -5 -4 -3 -3 -6 -7 -7 -6 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -5 -5 -3 -1 -1 -2 -7 -4 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -4 -3 -4 -6 -8 -11 -11 -10 -10 -10 -10 -10 -10 -11 -9 -8 -7 -4 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -5 -6 -6 -5 -10 -10 -6 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 -1 -1 -1 -1 -1 0 0 0 0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -6 -8 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -5 -5 -4 -4 -5 -5 -4 -2 -2 -3 -2 -1 -2 -3 -3 -3 -3 -3 -3 -5 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -4 -8 -8 -5 -4 -4 -3 -3 -3 -3 -3 -4 -3 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -4 -6 -8 -5 -6 -8 -6 -6 -5 -6 -6 -6 -4 -5 -5 -5 -6 -6 -6 -8 -7 -5 -4 -4 -2 -1 -2 -8 -5 -4 -3 -2 -1 -1 -1 -2 -2 -2 -2 -4 -4 -3 -3 -3 -6 -6 -6 -10 -5 -4 -3 -4 -11 -9 -10 -6 -1 -1 -1 -1 -1 -1 -2 -6 -3 -3 -3 -3 -2 -1 -2 -2 -2 -2 -2 -3 -4 -5 -4 -3 -3 -3 -3 -4 -4 -8 -9 -7 -5 -4 -3 -2 -1 -1 -1 -1 -1 -2 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 -2 -1 -1 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 -1 -1 -1 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -7 -8 -8 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -3 -3 -2 -1 -2 -4 -4 -4 -4 -4 -6 -3 -2 -3 -3 -2 -3 -3 -3 -3 -3 -3 -3 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -6 -4 -4 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -3 -3 -3 -2 -2 -2 -3 -4 -4 -6 -7 -7 -7 -6 -5 -5 -6 -6 -6 -5 -4 -2 -2 -2 -4 -2 -2 -4 -1 -1 0 0 -1 -2 -5 -6 -4 -2 -1 -1 -1 -2 -2 -2 -3 -3 -2 0 -1 -2 -5 -6 -5 -7 -9 -11 -8 -3 -17 -14 -13 -7 -1 -1 -2 -5 -7 -8 -10 -3 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -3 -5 -4 -3 -2 -2 -2 -2 -3 -3 -4 -6 -7 -6 -6 -4 -3 -1 -1 -1 -2 -3 -3 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -2 0 -1 -3 -6 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -4 -5 -5 -4 -2 -1 -1 -3 -3 -3 -3 -3 -3 -1 -1 -1 -2 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -6 -7 -7 -7 -7 -7 -7 -7 -5 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -5 -7 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -3 -5 -3 -5 -6 -3 -6 -5 -5 -5 -6 -6 -7 -6 -4 -1 -1 -3 -3 -3 -1 0 -1 -1 -1 -1 0 0 -4 -5 -4 -2 -2 -2 -2 -2 -2 -3 -3 -2 -1 -1 -2 -2 -2 -2 -3 -2 -5 -5 -5 -9 -11 -6 -3 -3 -4 -4 -4 -4 -4 -5 -5 -2 -1 -2 -1 -1 -1 -1 -1 -2 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -6 -5 -5 -5 -3 -2 -1 -1 -2 -4 -4 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -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 -3 -3 0 0 -4 -7 -7 -7 -6 -7 -6 -4 -2 -2 -5 -5 -5 -5 -6 -5 -4 -3 -3 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -2 -5 -7 -7 -7 -7 -8 -8 -7 -7 -7 -6 -6 -6 -5 -6 -6 -6 -6 -6 -7 -7 -7 -5 -3 -4 -4 -4 -4 -3 -3 -2 -3 -3 -4 -5 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -6 -6 -4 -3 -3 -3 -6 -7 -7 -6 -6 -6 -7 -7 -7 -8 -4 -3 -3 -4 -5 -2 -2 -3 -3 -1 -1 0 -1 -1 -2 -1 0 -1 -2 -2 -2 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 0 -1 -3 -3 -1 -2 -4 -6 -4 -3 -1 -1 -2 -1 0 -1 -2 -1 0 -1 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -2 -1 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 0 0 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -3 -4 -6 -7 -7 -6 -6 -7 -6 -5 -5 -2 -5 -6 -5 -4 -4 -3 -4 -6 -5 -3 -3 -3 -3 -3 -4 -4 -5 -4 -4 -6 -7 -7 -6 -6 -6 -7 -7 -7 -6 -6 -6 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -5 -4 -5 -5 -6 -6 -5 -4 -2 -2 -1 -3 -6 -2 -4 -4 -4 -4 -4 -3 -3 -3 -3 -5 -4 -4 -4 -4 -4 -4 -6 -7 -7 -6 -6 -7 -8 -8 -9 -5 -4 -5 -7 -5 -6 -7 -6 -3 -5 -3 -1 0 0 -1 -1 0 -1 -2 -5 -6 -5 -4 -4 -3 -1 -1 -1 -1 0 0 0 0 0 0 -1 0 -1 -2 -2 -2 -3 -3 -2 -2 -2 -1 -2 -3 -1 -1 0 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -5 -4 -2 -2 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -7 -6 -6 -6 -7 -6 -6 -6 -6 -6 -6 -6 -5 -6 -6 -5 -4 -3 -2 -3 -4 -5 -4 -4 -3 -3 -4 -5 -7 -6 -4 -4 -8 -7 -5 -4 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -8 -4 -1 -2 -5 -6 -6 -6 -4 -3 -1 -2 -2 -1 -2 -3 -4 -4 -4 -4 -5 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -6 -6 -7 -5 -4 -6 -8 -8 -9 -6 -4 -8 -3 -8 -8 -4 -1 -3 -5 -4 -2 -1 -2 -1 -1 -3 -5 -9 -8 -7 -6 -4 -3 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -2 -3 -4 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -7 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -4 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -1 -2 -5 -6 -5 -5 -5 -4 -4 -4 -4 -4 -3 -4 -5 -5 -5 -4 -4 -5 -7 -7 -4 -2 -6 -6 -5 -5 -5 -5 -5 -6 -6 -5 -6 -6 -6 -6 -6 -6 -2 -2 -1 0 -1 -5 -5 -5 -4 -2 -2 -2 -2 -2 -3 -7 -5 -3 -3 -4 -4 -7 -8 -6 -3 -3 -3 -3 -5 -7 -7 -5 -6 -6 -4 -4 -7 -5 -2 -3 -5 -7 -4 0 0 0 -5 -5 -3 0 0 -6 -9 -9 -8 -8 -5 -3 -3 -4 -6 -7 -6 -5 -5 -4 -2 -1 -1 -1 -1 -1 -1 -1 -1 -3 -2 -2 -1 -2 -3 -5 -4 -3 -3 -2 -2 -3 -3 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -5 -4 -3 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -1 -6 -6 -6 -6 -6 -5 -4 -4 -3 -1 -1 0 0 -2 -4 -3 -4 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -4 -2 -3 -5 -4 -6 -6 -5 -6 -6 -6 -5 -5 -6 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -4 -2 0 0 0 0 -3 -4 -2 -1 -2 -3 -3 -3 -4 -8 -6 -4 -4 -4 -6 -7 -7 -5 -3 -3 -3 -3 -4 -4 -4 -6 -5 -3 -4 -7 -7 -6 -6 -6 -6 -4 -2 -1 -1 -1 -1 -1 0 0 0 -6 -9 -9 -9 -9 -7 -4 -3 -2 -3 -3 -3 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -4 -3 -1 -1 -2 -2 -3 -3 -3 -4 -2 -1 -2 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 -3 -4 -3 -3 -3 -2 -2 -2 -1 0 -2 -2 -2 -1 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -1 -1 -1 -1 0 0 -2 -4 -4 -4 -4 -5 -5 -5 -5 -9 -8 -4 0 0 0 0 -4 -7 -6 -6 -6 -6 -6 -6 -6 -7 -6 -5 -4 -5 -5 -6 -6 -3 -2 -3 -2 -1 0 0 0 -2 -3 -2 -4 -3 -3 -3 -3 -1 -4 -5 -4 -4 -3 -3 -5 -6 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -7 -7 -7 -7 -7 -7 -5 -3 -4 -3 -3 -2 -2 -1 0 0 -5 -8 -7 -7 -6 -5 -5 -4 -1 -2 -2 -2 -2 -5 -3 -2 -3 -3 -3 -2 -2 -3 -3 -3 -2 -2 -2 -2 -1 0 -2 -3 -3 -1 -4 -6 -8 -7 -4 -3 -2 -2 -2 -1 0 0 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -2 -3 -3 -4 -2 -1 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -2 -5 -6 -4 -2 -2 -4 -5 -5 -5 -3 -3 -3 -3 -2 -1 -2 -3 -4 -4 -5 -5 -5 -5 -4 -4 -1 0 0 0 0 0 -2 -5 -6 -4 -3 -5 -6 -6 -6 -6 -7 -5 -2 -1 -4 -4 -4 -4 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -3 -2 -3 -3 -2 -1 -2 -4 -3 -3 -3 -5 -6 -7 -3 -3 -3 -3 -3 -3 -4 -4 -3 -4 -6 -5 -5 -6 -6 -6 -7 -7 -7 -7 -8 -5 -4 -3 -2 -2 -1 -1 -4 -8 -8 -7 -5 -3 -3 -3 -3 -3 -5 -5 -5 -5 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -1 -1 -1 -3 -4 -3 -1 -2 -3 -4 -4 -1 -1 -2 -2 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -2 -2 -2 -3 -2 -1 -1 -1 0 0 -1 -1 -1 -1 -1 0 -2 -4 -4 -3 -1 0 -1 -3 -3 -4 -4 -4 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -2 -2 -4 -5 -4 -2 0 0 -3 -4 -4 -4 -1 -1 -1 -1 -1 -2 -3 -3 -3 -4 -5 -5 -4 -4 -3 -3 -1 -1 -1 -1 -1 0 -2 -4 -4 -3 -5 -6 -6 -7 -7 -7 -6 -5 -3 -3 -3 -2 -3 -3 -3 -2 -1 -1 -2 -4 -3 -2 -2 -3 -5 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -4 -3 -3 -3 -3 -3 -7 -8 -7 -4 -3 -4 -4 -4 -4 -5 -3 -2 -5 -9 -1 -7 -8 -6 -3 -2 -2 -1 -2 -6 -8 -8 -4 -1 -1 -2 -3 -2 -3 -5 -4 -4 -4 -4 -4 -2 -2 -2 -2 -2 -2 -2 -3 -5 -5 -4 -2 -2 -2 -2 -2 -1 -2 -2 -3 -3 -1 -1 -1 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -3 -5 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -3 -1 -1 -2 -3 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -3 -2 -4 -4 -2 -2 -5 -1 -2 -4 -4 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -1 0 0 -2 -3 -3 -1 0 -1 -2 -3 -5 -6 -5 -4 -7 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -4 -4 -2 -2 -2 -2 -2 -2 -2 -3 -6 -3 -2 -2 -2 -2 -2 -3 -3 -2 -3 -3 -3 -3 -3 -3 -3 -2 -4 -7 -4 -4 -6 -6 -6 -3 -3 -4 -3 -1 -1 -5 -6 -5 -4 -2 -2 -1 -1 -3 -7 -6 -4 -2 0 0 0 -1 -2 -4 -4 -3 -3 -3 -3 -2 -2 -1 -2 -2 -1 -1 -1 -1 -1 -1 -5 -3 -4 -5 -6 -4 -2 -2 -2 -1 -4 -5 -3 -2 -2 -2 -2 -1 -1 -2 -3 -2 -2 -3 -3 -4 -4 -4 -5 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -2 -3 -3 -3 -4 -4 -4 -5 -3 -2 -2 -1 -1 -1 -1 -1 -2 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -3 -3 -2 -2 -1 -4 -4 -3 -4 -5 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -6 -3 -1 -1 -1 0 -1 -1 -1 0 0 -2 -2 -3 -5 -5 -6 -5 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -2 -2 -2 -2 -3 -4 -3 -2 -3 -3 -2 -1 -1 -1 -2 -4 -3 -2 -3 -4 -4 -4 -5 -4 -3 -5 -3 -2 -2 -3 -3 -3 -3 -5 -7 -4 -5 -5 -4 -5 -3 -3 -5 -6 -6 -5 -5 -4 -3 -2 -1 -1 -3 -3 -3 -8 -3 -1 -1 -1 -1 -1 -3 -4 -5 -4 -3 -3 -4 -4 -2 -2 -2 -1 -2 -1 -1 -1 0 0 0 -1 -2 -4 -4 -5 -2 -1 -2 -4 -6 -6 -5 -4 -4 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 0 0 0 0 0 -1 -3 -5 -3 -3 -3 -4 -5 -3 -3 -2 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -3 -3 -2 -2 -2 -1 -1 -1 0 0 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -3 -1 -3 -3 -2 -2 -1 -2 -2 -2 -3 -5 -2 -1 -1 -1 -2 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -1 -3 -5 -2 -3 -3 -3 -2 -1 -1 -3 -3 -4 -7 -7 -6 -5 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -6 -6 -5 -4 -3 -3 -3 -3 -2 -3 -3 -3 -2 -2 -2 -2 -1 -7 -4 -2 -2 -2 -4 -4 -4 -4 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -4 -7 -6 -5 -5 -3 -5 -6 -6 -3 -3 -5 -5 -3 -3 -3 -3 -5 -5 -3 -2 -6 -7 -6 -6 -3 -3 -4 -4 -4 -3 -3 -3 -3 -5 -5 -4 -2 -1 -1 -1 -1 -2 -3 -1 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -1 -1 -2 -1 -1 -1 -3 -4 -5 -5 -3 -2 -2 -2 -3 -3 -2 -2 -2 -2 -1 -1 0 0 0 0 0 -1 -3 -4 -4 -2 -1 -2 -4 -4 -3 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -2 -2 -2 -2 -3 -5 -4 -4 -2 -1 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -3 -1 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -4 -4 -4 -4 -4 -4 -2 -1 0 0 -3 -3 -3 -3 -1 -1 -1 -3 -3 -2 -3 -4 -2 0 0 -1 -1 -2 -5 -7 -5 -5 -5 -3 -3 -6 -4 -3 -3 -3 -3 -1 -2 -5 -7 -7 -7 -6 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 0 -7 -6 -4 -4 -1 -2 -4 -4 -4 -4 -4 -4 -4 -4 -4 -2 -1 -1 -2 -2 -5 -5 -4 -5 -7 -5 -6 -6 -6 -3 -4 -6 -6 -5 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -6 -4 -3 -2 -2 -2 -3 -2 -2 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -4 -4 -5 -4 -3 -5 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -4 -5 -5 -5 -6 -7 -4 -4 -3 -2 -1 -1 -1 0 0 0 -1 -1 0 -2 -4 -3 -2 -1 0 -1 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -5 -7 -5 -4 -3 -2 0 0 0 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 -3 -3 -3 -1 -2 -2 -2 -2 -3 -4 -4 -3 -1 -1 -1 -1 -2 -4 -3 -1 -2 -2 0 0 -1 -2 -2 -2 -1 -2 -3 -2 -1 -6 -6 -5 -2 0 0 0 0 -2 -4 -5 -3 -5 -6 -4 -2 -2 -1 -1 0 0 -1 -1 0 -1 -3 -3 -2 -2 -1 -1 -1 -1 -2 -3 -4 -4 -4 -3 -2 -2 -5 -5 -5 -6 -3 -5 -5 -4 -3 -3 -4 -4 -3 -3 -4 -3 -1 0 -1 -2 -4 -6 -5 -3 -6 -6 -6 -6 -5 -3 -7 -6 -3 -5 -5 -4 -3 -3 0 0 0 0 0 -1 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -4 -5 -5 -5 -6 -5 -6 -6 -4 -4 -3 -2 -2 -1 -1 -2 -2 -1 0 0 -1 -2 -2 -3 -8 -6 -6 -7 -6 -5 -3 -2 -1 -1 -1 -1 0 -1 -3 -5 -2 -1 -2 -3 -2 -1 0 0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -7 -6 -4 -4 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -3 -3 -2 -2 -1 -1 -2 -2 -2 -2 -3 -5 -5 -5 -4 -4 -3 -4 -7 -7 -4 -4 -3 -1 0 0 0 -2 -3 -1 -3 -3 -3 -3 -6 -6 -6 -5 -2 0 0 0 0 0 -1 -2 -2 -3 -3 -1 -4 -4 -4 -3 -1 -1 0 -2 -3 0 0 -2 -5 -7 0 0 0 -1 -1 -1 -3 -4 -4 -4 -3 -3 -4 -4 -5 -6 -6 -4 -2 -2 -2 -2 -4 -4 -4 -2 -3 -3 -2 -2 -1 -1 -3 -5 -5 -3 -4 -5 -6 -5 -5 -5 -4 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -2 -8 -5 -3 -3 -3 -3 -4 -3 -2 -1 -1 -3 -3 -3 -4 -3 -3 -2 -1 -2 -2 -2 -2 -2 -6 -5 -7 -6 -4 -7 -6 -5 -5 -5 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -7 -6 -5 -6 -10 -6 -3 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 0 0 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -2 -2 -2 -3 -5 -4 -4 -4 -3 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -2 -2 -1 -1 -3 -5 -5 -3 -3 -2 -1 -1 -1 -4 -5 -6 -5 -1 0 -1 -2 -3 -1 -4 -4 -3 -3 -6 -6 -4 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -4 -5 -5 -3 -2 -1 -1 -3 -5 -2 -2 -2 -4 -5 -7 -5 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -4 -5 -5 -2 -1 -2 -4 -4 -4 -4 -4 -4 -3 -2 -3 -3 -2 -2 -1 -2 -4 -4 -2 -3 -4 -5 -5 -4 -5 -4 -4 -4 -4 -5 -5 -4 -2 -2 -1 -1 -1 0 -1 -2 -3 -4 -5 -5 -4 -3 -1 0 0 -1 -2 -4 -2 -1 -1 -2 -2 -1 -1 -1 0 -1 -5 -7 -6 -4 -1 -3 -5 -6 -7 -5 -3 -2 -2 -1 -1 -1 0 0 -1 -1 -1 -1 -1 0 0 0 -3 -6 -8 -8 -6 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -3 -3 -2 -2 -2 -1 -2 -2 -1 -1 -1 -2 -3 -3 -3 -3 -2 -1 -1 -2 -2 -1 0 0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -3 -2 -1 -1 0 -1 -5 -6 -6 -6 -5 -1 0 -1 -1 0 0 -3 -3 -2 -3 -3 -1 0 -1 -2 -1 -2 -2 -3 -4 -5 -3 -2 -2 -2 -5 -6 -6 -5 -5 -2 -2 -2 -3 -3 -2 -3 -3 -2 -3 -3 -3 -3 -2 -2 -4 -3 -2 -2 -3 -3 -3 -3 -2 -1 -3 -3 -2 -1 -1 -2 -3 -4 -4 -3 -3 -3 -3 -4 -4 -2 -2 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -1 -1 -1 -1 0 0 -5 -4 -3 -3 -5 -4 -4 -5 -4 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -3 -7 -8 -4 -3 -3 -3 -3 -2 -1 -1 -2 -2 -2 -1 -1 0 0 0 -1 -2 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 0 0 -5 -6 -5 -5 -3 -2 -2 -2 -2 -1 0 0 -1 -1 -3 -3 -3 -2 -2 -4 -3 -2 -2 -1 0 0 0 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 0 0 0 0 0 -1 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -4 -4 -3 -3 -4 -4 -2 -1 -1 -4 -5 -5 -4 -2 -1 0 0 0 0 -2 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -3 -4 -4 -3 -2 -1 -1 -1 -1 -1 -2 -5 -5 -3 -2 -3 -4 -4 -2 -2 -2 -2 -2 -2 -3 -2 -2 -2 -2 -2 -2 -3 -4 -2 -3 -4 -2 -5 -5 -4 -3 -3 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -3 -2 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 0 0 -5 -6 -6 -6 -7 -6 -5 -3 -2 -4 -3 -2 -2 -2 -2 -2 -1 0 0 0 0 0 0 0 -1 -1 0 0 0 0 -3 -6 -5 -4 -8 -10 -10 -8 -5 -4 -3 -2 -2 -2 -1 0 0 0 0 -1 -1 -2 -3 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 -4 -6 -5 -5 -4 -3 -3 -2 -2 -2 -1 -1 0 0 -2 -2 -2 -1 -1 -1 -1 -2 -2 -1 0 0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 0 -1 -2 -4 -4 -3 -2 -3 -3 -3 -4 -4 -3 -1 -3 -3 -3 -3 -1 -2 -3 -3 -3 -3 -1 -2 -2 -1 -1 -3 -2 -3 -4 -1 0 0 0 0 0 0 0 -1 -3 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -2 -2 -2 -5 -5 -4 -4 -5 -5 -5 -3 -3 -4 -4 -1 -4 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -4 -4 -5 -5 -4 -3 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -3 -6 -5 -6 -6 -4 -1 -4 -5 -5 -5 -4 -4 -3 -2 0 0 0 0 0 0 0 -1 -2 -2 -1 0 0 -1 -3 -5 -1 -8 -10 -11 -12 -8 -5 -4 -3 -2 -2 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -3 -7 -7 -6 -5 -5 -4 -2 -3 -3 -3 -3 -1 -1 -2 -2 0 0 0 0 0 0 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -2 -1 -1 0 -1 -2 -2 -2 -2 0 0 0 0 0 -1 -2 -2 -2 -2 -2 -1 -3 -5 -5 -3 -4 -3 -3 -3 -3 -1 -1 -2 -2 -5 -4 -3 -2 -3 -5 -4 -4 -3 -2 0 0 0 0 0 0 0 0 0 -1 -1 -2 -4 -5 -4 -4 -3 -3 -3 -2 -4 -4 -2 -1 -2 -5 -5 -3 -3 -4 -4 -4 -4 -4 -4 -2 -1 -1 -1 -1 -5 -5 -4 -3 -2 -1 -1 -2 -3 -1 -2 -2 -3 -4 -4 -4 -4 -3 -3 -3 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 -1 -2 -2 -2 -1 0 -1 -2 -2 -1 -1 -5 -8 -10 -6 -4 -5 -5 -5 -2 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -2 -6 -6 -6 -5 -4 -3 -3 -3 -3 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -2 -2 -2 -1 -1 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 -1 -3 -5 -7 -8 -5 -5 -6 -7 -7 -7 -3 -1 0 0 0 0 0 -1 -5 -3 -3 -2 -2 -2 -2 -3 -4 -3 -1 0 0 0 -1 -5 -5 -3 0 -2 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -1 -2 -4 -5 -4 -4 -4 -4 -4 -4 -4 -2 -4 -2 -1 -2 -2 -4 -4 -3 -3 -2 -2 -2 -3 -3 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -3 -3 -3 -4 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -2 -1 -1 0 0 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 -2 -8 -6 -5 -6 -6 -6 -3 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -4 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -3 -3 -3 -3 -2 -2 -3 -3 -2 -2 -2 -3 -2 -3 -2 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 -1 -2 -1 -1 0 0 0 0 0 -1 -2 -2 -1 -1 -2 -2 -1 -1 0 -1 -1 0 0 0 0 -1 -2 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -1 0 0 -1 -2 -3 -4 -3 -2 -5 -6 -6 -5 -5 -5 -5 -4 -4 -4 -2 -2 -2 -2 -2 -2 -5 -5 -4 -4 -4 -4 -3 -4 -4 -1 -1 -1 -1 -2 -3 -3 -2 -2 -3 -3 -2 -2 -3 -2 -1 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -3 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -5 -5 -4 -3 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -1 -1 0 -2 -2 0 0 0 0 0 -1 -5 -6 -6 -7 -7 -5 -4 -3 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -3 -4 -4 -4 -4 -3 -2 -5 -4 -4 -4 -3 -2 -1 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -3 -1 0 0 0 0 -1 -2 -1 -1 0 -2 -2 -2 -1 -1 -1 -1 0 0 0 -2 -2 -3 -6 -3 -4 -3 -1 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -4 -3 -2 -3 -3 -3 -3 -3 -5 -5 -4 -4 -4 -4 -4 -4 -3 -1 -1 -4 -4 -3 -3 -3 -4 -4 -3 -2 -1 -1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -1 -1 -1 -2 -2 -2 -1 -1 -3 -4 -4 -3 -3 -3 -3 -2 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 0 0 -2 -2 -1 -2 -2 -3 -4 -4 -3 -3 -2 -2 -2 -2 -1 -1 -1 -2 -1 0 0 0 0 0 0 -2 -4 -6 -5 -4 -4 -3 -2 -2 -3 -3 -2 0 0 0 0 0 0 0 -1 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -4 -4 -5 -5 -4 -4 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -2 -3 -3 -2 0 0 0 0 -1 -2 -2 0 0 0 -1 -1 -2 -1 -2 -2 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -4 -3 -3 -2 -3 -3 -3 -3 -3 -4 -6 -5 -3 -3 -5 -3 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -1 -1 -1 -1 -2 -3 -4 -4 -4 -3 -4 -4 -4 -3 -1 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 0 0 0 -1 -1 -1 -1 0 -2 -3 -3 -3 -3 -3 -3 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -3 -4 -2 -1 -1 -1 -1 -4 -4 -6 -7 -5 -4 -3 -3 -2 -2 -3 -2 -2 -2 -2 -2 -1 0 0 0 0 0 0 -1 -3 -3 -3 -2 -2 -3 -3 -5 -5 -2 -1 0 0 0 0 0 0 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -4 -5 -6 -5 -4 -4 -3 -2 -1 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -1 -1 -2 -4 -3 -1 0 -1 -1 -1 0 -1 -3 -3 -1 0 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -5 -6 -6 -6 -6 -6 -2 -2 -2 -3 -3 -3 -5 -6 -5 -3 -5 -5 -4 -2 -2 -2 -4 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -3 -2 -4 -1 0 0 -1 -2 -3 -3 -2 -2 -2 -2 -2 -2 -1 -3 -2 -2 -1 -1 0 0 0 -1 -2 -1 0 0 0 -1 -2 -2 -3 -4 -3 -4 -4 -4 -3 0 0 -2 -2 -3 -3 -2 -1 -2 -3 -3 -3 -3 -4 -4 -3 -4 -4 -5 -7 -3 -3 -2 -2 -4 -2 -2 -2 -2 -3 -4 -2 -1 0 0 -1 -1 -2 -3 -3 -3 -3 -2 -2 -3 -4 -6 -10 -10 -3 -1 -2 -3 -3 -2 -1 0 -2 -4 -2 -1 -1 -1 -1 -1 -1 -2 -3 -5 -5 -6 -6 -5 -4 -3 -3 -3 -3 -2 -1 0 -1 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -1 -1 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -2 -2 -1 -1 0 0 -1 -1 -1 0 -1 -2 -3 -1 -2 -2 -2 -1 -2 -2 -2 -3 -3 -4 -2 -1 -2 -8 -7 -6 -6 -6 -3 -3 -2 -2 -3 -3 -3 -4 -5 -6 -3 -4 -5 -4 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -5 -3 -1 -2 -2 -2 -2 -3 -3 -3 -2 -2 -3 -3 -3 -4 -3 -1 -1 -1 0 0 -1 -4 -4 -3 -2 -1 -1 -1 -1 -1 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 0 0 -1 -3 -5 -3 -3 -4 -3 -1 0 -1 -2 -2 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -1 -1 -2 -1 -4 -5 -6 -8 -5 -3 -3 -3 -2 -4 -3 -2 0 0 -2 -2 -4 -7 -5 -3 -3 -3 -4 -4 -6 -12 -16 -14 -6 -2 -2 -4 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -4 -9 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -1 -1 -1 -1 -1 -1 -1 0 -1 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 0 0 0 0 -1 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -2 -1 -1 -1 0 0 -2 -3 -3 -2 -3 -1 0 -1 -2 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -4 -4 -4 -4 -4 -2 -1 -1 -1 -1 -3 -3 -3 -4 -4 -6 -6 -3 -1 -2 -2 -2 -2 -3 -3 -2 -2 -3 -3 -3 -4 -5 -5 -5 -2 -1 -1 -1 -1 -4 -4 -3 -2 0 0 0 0 -1 -3 -2 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 0 0 -1 -2 -1 -5 -8 -8 -6 -2 -4 -3 -2 -2 -2 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -2 -2 0 0 -4 -7 -8 -8 -8 -6 -6 -6 -5 -3 -3 -2 -2 -1 -1 -1 -1 -2 -7 -4 -3 -3 -4 -5 -7 -10 -14 -18 -14 -10 -8 -6 -2 -1 0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -7 -8 -8 -8 -6 -5 -4 -3 -2 -1 -2 -2 -2 -1 0 0 0 0 0 0 -1 -2 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -4 -4 -2 -1 0 0 0 -1 -1 -1 -3 -4 -4 -4 -4 -4 -4 -3 -2 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -2 -1 -2 -1 0 -1 -2 -2 -1 -2 -1 -1 -1 -1 -1 -2 -3 -3 -3 -2 -3 -4 -2 -2 -2 -2 -1 -3 -4 -4 -4 -4 -2 -2 -3 -4 -3 -3 -3 -3 -3 -4 -5 -6 -4 -1 0 -1 -1 -2 -3 -2 -2 -2 -2 -3 -2 -1 -1 -1 -2 -4 -1 -1 -2 -3 -1 -4 -4 -3 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -6 -6 -4 -2 -2 -2 -2 -2 -2 -1 -1 -1 0 0 -1 -1 -1 -2 -2 -2 -8 -7 -5 -5 -4 -3 -2 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -3 -4 -3 -7 -9 -9 -8 -8 -9 -8 -7 -7 -5 -4 -3 -3 -2 -1 -1 -1 -1 -2 -4 -4 -4 -5 -5 -5 -7 -9 -12 -17 -12 -11 -9 -5 0 0 0 0 0 0 0 -1 -1 -1 -1 -3 -4 -5 -6 -8 -8 -8 -7 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -2 -2 -2 -2 -2 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -2 -3 -4 -4 -3 -1 -1 0 0 -1 -1 -2 -3 -5 -6 -6 -6 -5 -5 -3 -2 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 -2 -2 0 0 0 -1 -1 -1 -3 -1 -1 -1 0 0 -1 -2 -2 -2 -1 -1 0 -2 -3 -2 -3 -2 -1 -1 -1 -2 -2 -1 -1 -3 -4 -4 -4 -4 -3 -4 -4 -4 -3 -3 -4 -4 -3 -4 -5 -5 -5 -5 -5 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 0 0 -1 -3 -3 -3 -2 -2 -2 -3 -3 -2 -1 -2 -2 -2 -2 -2 -2 -2 -1 -2 -5 -6 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 0 0 -1 -1 -1 0 0 -1 -1 -4 -5 -5 -2 -2 -1 -1 -1 0 -1 -1 -1 0 0 0 -1 -2 -3 -6 -10 -9 -6 -5 -4 -5 -6 -6 -7 -5 -4 -3 -2 -2 -1 -2 -2 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -6 -8 -9 -8 -6 -3 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -3 -4 -4 -5 -7 -10 -9 -7 -5 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -3 -2 -2 -2 -2 -1 -1 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -3 -4 -2 -2 -2 -1 0 -1 -1 -2 -4 -5 -6 -6 -6 -5 -4 -4 -2 -1 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -4 -2 -1 0 -1 -3 -3 -3 -2 -1 -1 -2 -3 -2 -2 -2 -2 -2 -2 -1 -1 -3 -3 -2 -2 -1 -1 -1 -1 -1 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -2 -2 -3 -4 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -3 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 0 0 -3 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 0 0 0 0 -1 -1 0 0 -2 -4 -5 -5 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 -1 -1 -1 -3 -3 -4 -5 -1 -1 -2 -2 -3 -9 -7 -5 -4 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -5 -7 -6 -5 -6 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -3 -4 -4 -4 -7 -12 -14 -12 -10 -8 -7 -6 -4 -1 -1 -2 -2 -1 -1 -1 0 0 0 -1 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -1 -1 -2 -2 0 0 -1 -2 -4 -5 -6 -7 -7 -6 -4 -3 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -2 -1 0 -1 -1 -1 -3 -2 -1 -1 -3 -3 -3 -3 -3 -1 -2 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -1 -1 -2 -3 -2 -3 -3 -3 -2 -3 -3 -4 -4 -3 -3 -3 -5 -5 0 0 -2 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -2 -2 -3 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -1 -1 -1 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -3 -5 -5 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -2 -4 -3 -2 -1 0 0 0 0 0 -1 0 0 0 -1 -1 -1 -1 0 -2 -6 -6 -6 -6 -6 -4 -11 -8 -5 -4 -3 -3 -2 -2 -2 -2 -1 0 0 0 0 -3 -4 -5 -8 -9 -9 -7 -5 -6 -3 -2 -1 -1 -1 -2 -1 0 0 0 -3 -4 -5 -8 -11 -14 -14 -14 -14 -13 -12 -10 -7 -5 -4 -2 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 -1 -2 -4 -6 -6 -7 -7 -5 -3 -2 -1 -1 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 -1 -1 -1 0 0 0 0 0 0 -1 -2 -3 -3 -2 -2 -3 -3 -4 -4 -4 -3 0 0 -1 -2 -3 -2 -2 -3 -4 -4 -4 -3 -2 -2 -3 -3 -3 -2 -1 -2 -2 -2 -3 -4 -3 -3 -2 -1 -1 -2 -2 -3 -4 -4 -3 -1 -1 -4 -7 -5 -2 -1 -1 -1 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -3 -3 -3 -2 -1 -2 -2 -1 -1 -1 -2 -3 -4 -5 -4 -4 -4 -5 -8 -4 -3 -2 -2 -2 -2 -1 -1 0 0 0 -1 -2 -4 -3 -4 -3 -1 -1 -1 -1 0 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -3 -5 -1 -5 -5 -5 -6 -7 -4 -2 -2 -2 -1 -1 0 0 0 0 -5 -7 -6 -10 -10 -11 -9 -4 -4 -3 -3 -2 -2 -2 -3 -2 -1 0 0 -1 -1 -1 -3 -14 -15 -14 -15 -9 -12 -12 -9 -7 -4 -2 -1 -1 -1 -1 -2 -2 -1 0 0 -1 -1 -2 -2 -2 -2 -1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -2 -6 -7 -6 -5 -3 -3 -2 -2 -1 -1 0 0 0 0 -1 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -2 -2 -2 -1 -1 -1 -2 -3 -1 -1 -1 -2 -4 -4 -2 -3 -4 -5 -4 -3 -3 -3 -4 -5 -1 0 -1 -2 -2 -2 -3 -4 -4 -2 -2 -1 0 -1 -2 -2 -3 -3 -2 -1 -1 -1 -2 -5 -4 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -3 -2 -2 -3 -4 -4 -4 -5 -5 -4 -3 -3 -5 -4 -4 -4 -4 -4 -3 -1 0 -1 -1 -1 -3 -4 -3 -3 -3 -2 -1 -1 -1 -1 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 0 -2 -4 -4 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -5 -9 -10 -7 -10 -11 -10 -7 -3 -4 -3 -3 -4 -2 -3 -3 -3 -3 -2 -2 -1 0 -1 -1 -1 -2 -5 -12 -5 -8 -7 -5 -3 -3 -2 -2 -1 -1 -1 -2 -1 -1 -3 -3 -2 -1 -2 -4 -5 -5 -4 -4 -3 -2 -1 -2 -2 -1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -5 -6 -5 -3 -2 -1 -1 -1 -1 -1 0 0 0 0 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 -1 0 0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -1 -3 -1 -1 -1 -2 -2 -3 -3 -4 -5 -4 -5 -3 0 -1 -1 -2 -3 -3 -3 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -3 -2 -1 -2 -5 -5 -4 -4 -4 -3 -4 -5 -5 -4 -3 -4 -4 -4 -4 -5 -5 -5 -6 -5 -5 -3 -1 -1 -2 -2 -2 -3 -4 -3 -4 -3 -2 -3 -3 -2 -3 -3 -3 -2 -2 -2 -2 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -5 -5 -4 -4 -4 -4 -3 -1 -1 -2 -2 -2 -2 -3 -4 -5 -4 -2 -2 -2 -2 -4 -3 -2 -2 -4 -3 -3 -4 -3 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -6 -6 -5 -4 -3 -3 -3 -3 -1 -1 -1 -2 -2 -1 -2 -1 0 0 0 -6 -10 -12 -12 -9 -10 -10 -7 -6 -6 -6 -4 0 0 0 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 0 0 0 -1 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 -1 -1 0 0 -1 -2 -2 -2 -3 -3 -4 -4 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -2 -3 -3 -2 -2 -4 -6 -4 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 0 0 0 -1 -3 -2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -5 -3 -2 -3 -3 -3 -2 -2 -1 -3 -3 -3 -2 -1 -1 0 -1 -2 -3 -1 -1 -2 -2 -2 -2 -3 -4 -4 -6 -5 -4 -5 -7 -5 -3 -1 0 -1 -1 -2 -3 -4 -4 -3 -3 -3 -3 -3 -4 -4 -3 -2 -2 -2 -3 -3 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -3 -6 -8 -7 -6 -5 -4 -4 -3 -2 -1 -2 -2 -2 -3 -3 -3 -3 -2 -2 -4 -6 -2 -4 -4 -4 -3 -4 -3 -5 -6 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -4 -5 -4 -3 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 0 0 0 -7 -14 -16 -19 -17 -16 -15 -15 -15 -15 -16 -13 0 0 -3 -4 -3 -3 -1 -1 -1 -1 -1 -1 0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 0 -1 -2 -2 -3 -2 -2 -2 -2 -2 -2 -3 -4 -3 -2 -3 -3 -3 -3 -2 -2 -2 -3 -2 -1 -2 -1 -2 -1 -1 -3 -2 -3 -3 -3 -2 -2 -2 -2 -2 0 0 0 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -6 -9 -4 -4 -5 -4 -2 -1 -2 -3 -3 -2 -2 -1 -1 -1 0 0 0 -1 -1 -2 -4 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -2 -1 0 0 -1 -2 -2 -2 -2 -3 -3 -3 -2 -4 -3 -2 -2 -2 -5 -5 -5 -5 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -4 -8 -9 -4 -8 -9 -7 -4 -4 -2 -2 -2 -2 -4 -3 -3 -2 -2 -2 -2 -2 -4 -7 -4 -4 -4 -4 -3 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -3 -5 -3 -3 -2 -2 -2 -1 -1 0 -1 -1 -1 -1 -1 0 0 0 0 -4 -8 -7 -18 -21 -19 -17 -21 -23 -24 -26 -26 -18 -14 -12 -9 -9 -5 -3 -1 -1 -1 -1 0 0 0 0 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -3 -3 -3 -2 -2 -2 -2 -2 -5 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 0 -1 -1 -1 -1 0 -1 -2 -2 -1 -2 -1 -1 -1 -2 -2 -1 -3 -3 -2 0 0 0 -1 -1 -2 -2 -4 -4 -3 -2 -1 -1 0 0 0 0 -2 -4 -4 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -4 -3 -3 -3 -4 -4 -3 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -2 -1 -2 -3 -4 -3 -2 -3 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -1 -2 -2 -3 -7 -9 -9 -6 -8 -5 -3 -6 -3 -3 -3 -3 -3 -5 -4 -3 -2 -2 -1 -2 -2 -2 -3 -4 -4 -3 -1 -1 -6 -5 -1 -1 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -3 -5 -4 -3 -3 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -11 -19 -21 -21 -20 -25 -27 -27 -28 -29 -24 -19 -14 -7 -7 -5 -3 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -2 -1 -3 -3 -3 -3 -3 -2 -3 -4 -5 -6 -4 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 0 0 0 0 0 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -1 -2 -2 -1 -1 0 0 0 -1 -3 -3 -4 -4 -3 -2 -1 -1 -1 0 0 0 -5 -6 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -2 -3 -4 -2 -3 -3 -3 -3 -4 -4 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 0 0 0 -5 -9 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -2 -2 -2 0 0 -1 -2 -4 -6 -6 -6 -4 -3 -5 -4 -4 -3 -4 -4 -4 -4 -3 -3 -3 -2 -2 -3 -5 -2 -3 -3 -3 -1 -1 -2 -1 0 0 -1 -2 -2 -1 -1 -1 0 0 0 0 -1 -1 -2 -4 -4 -3 -3 -2 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -13 -18 -20 -23 -24 -25 -25 -24 -23 -22 -19 -15 -12 -7 -6 -4 -3 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 -1 -3 -3 -1 -2 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -4 -2 -1 -2 -1 -2 -2 -1 -2 -2 -2 -1 0 0 0 0 0 0 -1 -1 -2 -2 -2 -2 -2 -1 -2 -2 -4 -2 -1 -2 -4 -1 -1 -1 -2 -3 -3 -3 -3 -3 -1 -1 -1 -1 0 -1 -3 -5 -4 -2 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -1 -1 -1 -1 -3 -6 -6 -4 -4 -3 -3 -4 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -2 -7 -14 -13 -4 -4 -6 -5 -3 -2 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -3 -3 -3 -2 -2 -2 -2 -2 -5 -3 -2 -2 -2 -2 -2 -2 -1 0 0 0 -1 -2 -1 -1 -1 0 0 0 0 0 -1 -2 -2 -3 -2 -2 -1 -1 -1 0 0 0 0 0 0 -1 -1 -2 -2 -1 -1 -1 -10 -17 -19 -22 -22 -18 -13 -12 -14 -14 -12 -10 -8 -4 -3 -3 -2 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -2 -1 0 0 -2 -3 -2 -1 -2 -2 -3 -3 -1 -1 -3 -3 -2 -2 -1 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -4 -4 -3 -2 -3 -3 -3 -4 -4 -2 -2 -2 -2 -1 -1 -1 0 0 -1 -2 -11 -11 -5 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 0 -1 -2 -2 -3 -5 -5 -5 -2 -2 -3 -3 -4 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -5 -14 -11 -7 -5 -4 -3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -3 -3 -2 -4 -6 -5 -4 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -4 -3 -2 -2 -1 -2 -2 -2 -2 -1 0 0 -1 -1 -1 -1 -4 -9 -2 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -2 -1 -1 -2 -4 -9 -18 -18 -17 -11 -3 -4 -7 -8 -7 -7 -6 -3 -2 -2 0 0 0 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 0 0 -1 -1 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 -1 -3 -1 0 0 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -1 -1 -1 0 0 -1 -2 -6 -8 -6 -3 -2 -2 -2 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 0 0 0 -1 0 0 -1 -1 -1 0 -1 -2 -4 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -3 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -2 -1 -2 -4 -4 -5 -5 -6 -6 -5 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 -2 -3 -6 -12 -13 -7 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -3 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -2 -5 -10 -12 -8 -7 -6 -5 -5 -3 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -4 -1 0 0 0 0 0 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -2 -3 -2 -1 -1 -1 0 0 0 0 -4 -6 -3 -3 -2 -2 -2 -1 -3 -3 -3 -1 -1 -2 -3 -3 -3 -3 -2 -2 -1 -1 -1 0 0 0 -1 -1 -1 0 -1 -1 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -2 -2 -1 -1 -1 -6 -8 -6 -5 -5 -4 -3 -1 -1 -1 -2 -2 -1 -1 -4 -4 -3 -2 -2 -5 -7 -7 -6 -6 -5 -5 -6 -4 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -2 -3 -4 -1 0 -1 -1 0 -1 -1 0 0 0 -1 -2 -6 -14 -16 -15 -10 -6 -4 -5 -3 -2 0 -1 -1 -3 -3 -4 -7 -6 -6 -6 -5 -4 -4 -4 -3 -3 -3 -1 0 0 0 0 -5 -8 -8 -5 -3 -3 -3 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 -1 -1 -2 -1 0 0 -1 -4 -4 -4 -3 -4 -5 -1 0 0 0 0 -2 -2 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -3 -3 -3 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 0 -1 -1 -4 -7 -4 -3 -3 -3 -2 -2 -4 -5 -4 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 0 0 -1 0 -1 -1 -1 -1 -1 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -3 -6 -7 -5 -4 -4 -3 -2 -2 -2 -2 -2 -1 -2 -4 -3 -3 -2 -1 -2 -4 -6 -6 -7 -7 -6 -6 -5 -4 -4 -4 -1 -1 -2 -2 -1 -1 -2 -2 -4 -10 -5 -4 -5 -5 -3 -2 -1 -1 -1 -1 -1 -4 -11 -16 -18 -15 -11 -9 -8 -9 -7 -4 -2 -2 -2 -2 -3 -6 -7 -7 -7 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -1 -3 -5 -5 -5 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -3 -2 -1 -2 -2 -1 0 -1 -1 -2 -1 -1 -1 0 0 0 -2 -5 -1 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -3 -2 -1 -1 -2 -3 -3 -3 -3 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -4 -5 -4 -4 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -2 -3 -3 -4 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -4 -4 -3 -2 -2 -2 -3 -3 -5 -6 -4 0 0 0 0 0 -1 -2 -4 -6 -6 -6 -6 -5 -4 -3 -3 -1 0 -1 -1 0 -1 -5 -7 -6 -7 -4 -4 -3 -2 -2 -2 -2 -2 -5 -7 -8 -10 -13 -15 -16 -13 -10 -10 -10 -12 -12 -11 -7 -8 -9 -8 -5 -6 -6 -6 -5 -5 -4 -4 -3 -4 -4 -3 -2 -2 -3 -3 -2 -2 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 0 -1 -1 -1 -1 -1 -2 -1 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 0 0 -1 -1 -2 -2 -2 -1 -2 -2 -2 -2 -3 -3 -3 -3 -1 -1 -1 -1 -1 -2 -2 -2 -3 -2 -1 -1 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -4 -4 -4 -5 -5 -5 -3 -2 -3 -3 -3 -3 -3 -2 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -4 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 0 0 0 0 0 -1 -1 -1 -2 -4 -3 -3 -2 -1 -1 -1 -1 0 0 0 0 0 -4 -7 -6 -3 -2 -3 -3 -2 -2 -4 -6 -7 -10 -9 -10 -12 -10 -10 -11 -11 -10 -10 -13 -17 -22 -24 -18 -18 -19 -18 -10 -8 -5 -3 -4 -4 -4 -4 -4 -5 -5 -4 -4 -3 -3 -2 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -1 -1 0 0 0 0 0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -3 -2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 0 0 -1 -2 -3 -4 -3 -3 -4 -4 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -1 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 0 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 0 0 0 0 0 0 -1 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -2 -2 -3 -3 -2 -2 -2 -1 0 0 0 0 0 -2 -4 -4 -3 -3 -3 -3 -3 -2 -5 -11 -20 -7 -2 -6 -13 -11 -9 -8 -8 -7 -8 -15 -23 -31 -33 -28 -26 -25 -18 -11 -7 -4 -4 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 -1 -1 0 -1 -1 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -1 0 0 0 0 -1 -1 0 0 0 -1 -1 -2 -1 -1 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -2 -2 -1 -2 -2 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -2 -2 -1 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -3 -2 0 0 0 0 -1 -2 -3 -2 -2 -3 -4 -3 -3 -3 -3 -2 -2 -3 -4 -4 -4 -5 -3 -3 -2 -3 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -3 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -2 -2 -3 -2 -1 -2 -2 -2 -1 -2 -2 -1 -2 -2 -3 -3 -4 -3 -3 -4 -6 -3 -3 -3 -2 0 0 0 0 -1 -1 -1 -2 -3 -2 -5 -4 -5 -10 -16 -14 -6 -4 -11 -11 -8 -6 -6 -5 -5 -8 -15 -24 -32 -33 -32 -32 -29 -14 -10 -8 -6 -5 -5 -6 -6 -6 -5 -4 -3 -3 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -2 -2 -1 -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 -2 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -2 -3 -3 -2 -1 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -2 -1 -1 -1 -1 -1 -2 -4 -2 -1 -2 -3 -1 -1 -2 -2 -2 -2 -3 -2 -2 -2 -3 -3 -2 0 0 0 0 0 -1 -2 -2 -2 -3 -4 -4 -4 -3 -3 -3 -3 -3 -5 -6 -6 -6 -6 -5 -4 -4 -3 -2 -2 -2 -1 -1 -2 -3 -2 -3 -3 -2 -2 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -2 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -4 -6 -4 -5 -5 -5 -7 -11 -5 -4 -5 -5 -4 -2 0 0 0 0 0 -1 -3 -2 -7 -5 -2 -1 -1 -1 -3 -8 -13 -9 -6 -5 -4 -3 -5 -8 -13 -19 -24 -25 -23 -22 -21 -11 -8 -8 -7 -6 -6 -6 -5 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -2 -2 -2 -4 -3 -2 -1 -2 -2 -2 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -3 -2 -1 0 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -1 -1 -1 -2 -2 0 0 0 0 -1 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -6 -5 -4 -5 -5 -2 -1 -2 -4 -3 -1 0 0 0 0 0 -1 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 -1 -1 -1 -1 -2 -1 -1 -1 -1 -2 -2 -1 -1 -1 0 -1 -3 -4 -3 -5 -11 -11 -11 -9 -7 -7 -10 -8 -6 -4 -5 -5 -2 0 0 0 0 -1 -2 -2 -2 -3 -1 0 0 0 0 -4 -10 -9 -7 -5 -5 -2 -2 -6 -10 -12 -14 -15 -15 -14 -11 -9 -5 -6 -7 -5 -5 -5 -4 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 -3 -2 -2 -2 -3 -1 -1 0 0 -1 -1 -1 0 0 -1 -2 -4 -4 -3 -3 -3 -3 -3 -2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -2 -3 -3 -3 -3 -3 -3 -1 -1 -1 -1 -1 -3 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -2 -4 -4 -4 -5 -6 -5 -4 -2 -1 0 0 -1 -2 -2 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -2 -2 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -2 -2 -2 -1 -1 -2 -3 -2 -5 -11 -12 -12 -11 -10 -7 -6 -7 -7 -6 -4 -4 -2 -1 -1 -2 -1 -2 -3 -4 -4 -7 -4 -1 0 0 0 0 -2 -9 -8 -7 -6 -5 -2 -1 -5 -9 -12 -12 -10 -8 -8 -6 -5 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 0 0 0 0 0 0 -1 -3 -3 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -1 -2 -2 -3 -2 -3 -3 -3 -2 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 0 -2 -2 -1 -1 -1 -3 -3 -3 -2 -4 -4 -3 -2 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -3 -2 -1 -2 -2 -2 -1 -1 -2 -3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 0 -2 -4 -12 -16 -15 -10 -5 -5 -4 -3 -2 -3 -4 -10 -14 -9 -9 -5 -5 -7 -8 -9 -11 -11 -9 -2 -2 -3 -5 -6 -9 -9 -9 -7 -5 -3 -4 -7 -10 -12 -12 -9 -7 -5 -4 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -2 -4 -3 -1 -1 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -2 -2 -3 -4 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -2 -1 -1 -2 -2 -1 -3 -2 -1 -1 -2 -2 -2 -1 -1 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -1 -1 0 0 0 -4 -4 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 0 -1 -2 -3 -2 -2 -2 -1 -1 -4 -4 -3 -2 -2 -2 -2 -4 -6 -5 -3 -2 -3 -5 -5 -3 -2 -2 -1 -1 -2 -2 -1 -2 -3 -3 -2 -1 -2 -1 -1 -1 -1 -1 -1 0 0 -1 -8 -12 -11 -7 -5 -4 -3 -2 -2 -2 -3 -8 -12 -8 -8 -10 -10 -10 -12 -15 -17 -15 -10 -4 -11 -14 -13 -12 -11 -11 -11 -9 -7 -8 -10 -12 -13 -11 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -4 -3 -2 -2 -2 -1 -1 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -4 -4 -3 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 0 -1 -1 -2 -2 -3 -4 -4 -3 -1 0 0 0 -2 -2 -1 -1 -1 -1 -1 -2 -1 -1 0 0 0 0 -1 -3 -4 -4 -2 -2 -2 -2 -1 -5 -5 -5 -5 -4 -3 -4 -5 -6 -6 -5 -4 -5 -8 -8 -6 -3 -1 -1 -1 -2 -3 -2 -2 -3 -2 -2 -2 -3 -2 0 -1 -1 -1 0 0 0 0 -7 -10 -9 -8 -7 -5 -4 -3 -5 -5 -7 -7 0 -1 -5 -7 -7 -7 -15 -18 -14 -5 -2 -15 -18 -15 -12 -11 -11 -12 -11 -10 -10 -13 -14 -11 -10 -7 -5 -5 -4 -3 -4 -4 -4 -3 -4 -5 -6 -7 -6 -6 -5 -5 -6 -5 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 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 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -3 -2 -2 -1 -1 -2 -2 -2 -3 -3 -4 -4 -3 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -3 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 0 -1 -3 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -2 -4 -5 -5 -4 -4 -5 -6 -6 -5 -4 -4 -6 -8 -8 -5 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -2 -1 0 0 -3 -7 -8 -9 -9 -7 -5 -4 -5 -7 -6 -6 -5 -4 -1 0 -1 -2 -10 -18 -20 -16 -2 -19 -21 -17 -13 -13 -12 -11 -11 -8 -9 -11 -12 -10 -9 -7 -4 -2 -2 -1 -2 -3 -2 -2 -2 -5 -7 -8 -8 -8 -6 -5 -5 -5 -4 -2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -2 -3 -3 -3 -2 -1 -1 -1 -1 -2 -3 -3 -3 -2 -2 -1 -2 -2 -1 0 0 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 -2 -3 -4 -5 -4 -2 0 0 0 0 -1 -1 0 0 -1 -2 -2 -4 -3 -3 -4 -5 -5 -3 -2 -3 -5 -5 -6 -5 -3 -4 -3 -2 -2 -2 -2 -5 -5 -5 -2 -2 -1 -1 -2 -3 -6 -5 -3 0 0 -6 -10 -10 -9 -9 -5 -3 -3 -5 -6 -5 -3 -2 -1 0 0 0 0 -13 -17 -14 -8 -21 -25 -22 -16 -12 -9 -7 -5 -5 -4 -6 -7 -6 -6 -5 -4 -2 -1 0 0 -1 -1 -1 -1 -2 -5 -7 -8 -8 -9 -7 -5 -5 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -4 -3 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -2 -1 -1 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -3 -1 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -3 -3 -2 -2 -1 0 0 0 0 0 0 0 0 0 -1 -1 -2 -3 -4 -3 -3 -3 -3 -3 -2 -2 -2 -3 -4 -5 -4 -4 -2 -2 -2 -1 -2 -3 -3 -3 -5 -3 -2 -3 -5 -9 -9 -7 -3 -1 0 -4 -7 -7 -7 -6 -4 -3 -4 -6 -4 -2 -2 -2 -1 -1 0 0 0 -6 -9 -10 -9 -20 -19 -14 -10 -9 -3 0 0 -1 -1 -1 -1 -1 -4 -4 -3 -1 0 0 0 0 0 0 -1 -2 -5 -7 -6 -6 -6 -5 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -2 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -2 -2 0 0 0 -2 -1 -1 -1 -1 -1 -2 -1 -1 -1 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -3 -3 -2 -1 0 -1 -1 0 0 -1 -1 -1 0 0 0 0 -1 -1 -1 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -3 -3 -4 -3 -4 -2 -2 -4 -3 -3 -3 -3 -1 -3 -3 -5 -6 -6 -5 -5 -4 -2 -1 0 -3 -7 -7 -7 -5 -3 -4 -5 -5 -3 -2 -1 -1 -5 -5 0 0 0 -3 -6 -9 -19 -21 -17 -10 -2 -2 -3 -4 -2 -1 0 0 -1 -3 -5 -5 -3 -1 -1 0 0 0 -1 -1 -1 -3 -5 -5 -5 -4 -4 -3 -2 -1 -1 0 -1 -1 -1 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 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -4 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 0 0 0 0 -1 -1 0 0 0 0 0 0 0 -1 -1 -2 -2 -2 -1 -1 0 0 0 0 0 -1 -1 -1 -1 0 0 0 -1 -2 -2 -1 -1 -1 -2 -5 -5 -4 -4 -3 -3 -3 -2 -3 -2 -2 -1 -1 -2 -5 -4 -4 -5 -6 -8 -6 -5 -5 -4 -4 -3 -2 0 0 0 0 -1 -1 -4 -6 -5 -3 -4 -4 -3 -2 -1 -1 -8 -10 -6 0 0 0 -2 -4 -3 -17 -21 -14 0 0 0 -3 -6 -7 -3 -3 -4 -4 -4 -5 -4 -3 -2 -2 -2 -1 -1 -1 -2 -3 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 -1 -3 -3 -3 -3 -3 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 0 0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 -1 -2 -3 -3 -3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -2 -1 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 0 -2 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -3 -3 -2 -2 -2 -4 -4 -4 -4 -4 -2 -2 -3 -1 -1 -1 0 0 0 -4 -4 -3 -2 -3 -2 -1 -1 0 0 -3 -3 -1 -2 -2 -1 0 0 0 -3 -10 -15 -1 0 -4 -9 -10 -12 -6 -5 -7 -5 -5 -3 -3 -3 -3 -3 -2 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -4 -2 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 0 -1 -1 -1 -1 -1 -1 -3 -3 -1 -1 -1 -1 -1 0 -1 -2 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 0 0 0 -3 -4 -3 0 0 0 -1 -2 -2 -2 -2 -2 0 0 -2 -3 -2 -3 -3 -2 -1 -1 -1 -1 -3 -4 -1 -4 -4 -2 0 0 0 -1 -2 -2 -1 0 -11 -24 -20 -14 -11 -9 -6 -6 -2 0 -1 -3 -3 -2 -1 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 -2 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -2 -1 -1 -1 0 -1 -1 0 -1 -3 -2 -2 -2 -2 -1 0 -2 -3 -3 -3 -3 -2 -1 -1 -2 -1 -1 -1 -1 -3 -2 0 0 0 0 -1 -1 0 0 -3 -11 -18 -15 -12 -10 -8 -5 -2 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 -2 -3 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -2 -3 -3 -1 0 0 -1 -1 -1 0 -1 -2 -3 -3 -3 -1 -1 -1 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 -19 -13 -11 -7 -3 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -2 -3 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 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 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 -1 -4 -4 -2 0 -1 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -13 -10 -10 -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 -1 -2 -2 -1 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 -2 -2 -2 -1 -2 -3 -2 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -2 -2 -2 -2 -1 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 -1 -1 -1 -1 0 -1 -2 -2 -2 -1 -2 -4 -3 -2 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -6 -6 -5 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 0 0 -1 -1 0 0 0 0 0 0 0 -1 -2 -3 -3 -3 -2 -2 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -2 -3 -3 -2 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -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 -1 -3 -3 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -3 -3 -1 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -4 -4 -2 -2 -1 -1 0 0 0 0 0 -1 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -4 -2 -1 -1 -1 0 0 0 0 0 0 -1 -1 -2 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -2 -2 -1 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -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 -1 -2 -5 -5 -4 -4 -1 -1 -1 -1 -2 -1 0 0 -1 -2 -2 -1 -1 0 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 0 0 0 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -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 -2 -3 -1 -1 -3 -3 0 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 0 0 -1 -1 -1 0 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 -1 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 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 0 0 0 -2 -2 -2 -1 -1 -1 -2 -3 -3 -2 -2 -3 -4 -4 -2 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -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 -1 -1 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -3 -3 -2 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -1 -1 -1 -1 -2 -3 -1 -2 -3 -2 -1 -1 -1 -1 -2 -4 -3 -2 -2 -2 -2 -2 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -2 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -1 0 0 0 0 0 0 -2 -6 -2 -1 0 0 0 0 -1 -1 0 -1 -1 -2 -1 -1 -1 0 0 -1 -4 -3 -3 -2 -1 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -2 -2 -1 -1 -1 -1 -3 -3 -2 0 0 -3 -3 -2 -2 -4 -3 -1 0 0 -1 -1 0 0 0 -1 -2 -2 -1 -1 -1 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -4 -4 -2 -1 -1 -1 -4 -4 -3 -3 -3 -3 -3 -3 -4 -1 0 0 0 0 -1 -2 -2 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Wind_Speed nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 61 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 61 61 62 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 59 59 60 60 61 61 62 63 63 63 63 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 60 60 60 60 61 61 62 63 64 64 64 64 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 60 60 60 61 62 62 63 64 64 65 65 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 60 60 61 62 63 63 64 64 65 65 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 59 59 60 61 62 63 63 64 64 64 65 65 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 69 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 59 59 60 61 62 63 64 64 64 64 65 65 65 65 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 70 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 59 59 59 59 60 61 62 63 64 65 65 65 65 65 65 65 66 66 66 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 71 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 59 59 60 60 61 62 63 65 65 65 65 65 65 65 65 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 71 71 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 59 59 58 58 59 59 60 60 61 62 63 64 66 66 66 66 65 65 65 65 66 66 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 61 60 60 59 59 59 59 59 60 61 61 62 63 64 65 65 66 66 65 65 65 65 65 65 66 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 61 61 60 59 59 59 59 60 61 62 63 63 64 65 65 65 65 65 65 65 65 65 65 66 66 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 62 61 61 60 60 60 60 60 61 62 63 63 64 64 64 65 65 65 65 65 65 65 65 65 66 67 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 61 nan nan 62 62 62 61 61 61 61 62 63 63 64 64 64 64 64 65 65 65 65 65 65 65 66 66 67 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 61 61 nan 62 62 63 63 63 62 62 62 63 63 64 64 64 64 64 65 65 65 65 65 65 66 66 67 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 62 62 62 62 62 62 63 63 63 63 63 63 63 64 64 64 64 65 65 65 66 66 66 66 66 67 67 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 62 62 62 62 62 62 63 63 63 63 63 63 63 63 63 64 64 65 65 65 65 66 67 67 67 67 67 68 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 62 62 62 62 63 63 63 63 63 64 64 64 64 64 64 64 64 65 65 66 66 67 68 68 68 68 68 68 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 61 62 63 63 63 63 63 63 63 64 64 64 64 64 64 64 64 65 66 67 67 67 68 69 69 69 69 69 68 68 68 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 62 63 63 64 64 64 64 64 64 64 65 65 65 65 65 65 65 66 67 68 68 68 69 69 70 70 70 70 70 69 69 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 62 63 63 64 64 64 64 65 65 65 65 65 66 66 66 66 67 68 68 68 69 69 70 70 71 71 71 71 71 70 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 63 63 63 64 64 64 65 65 66 66 66 66 66 67 67 68 69 69 69 70 70 70 70 71 72 72 72 72 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 63 63 64 64 64 65 65 65 65 66 66 67 67 68 69 70 70 71 71 71 71 71 72 73 73 73 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 63 63 64 64 64 65 65 65 66 66 67 68 68 69 70 71 72 72 73 73 73 73 74 74 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 63 64 64 64 65 65 66 66 67 68 69 70 71 72 73 74 74 74 74 74 74 75 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 63 64 64 64 65 66 67 67 68 69 69 70 72 73 74 75 75 75 75 75 75 76 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 64 64 64 64 65 66 67 68 69 70 70 71 73 74 75 75 76 76 76 76 76 76 76 76 76 76 76 75 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 64 65 65 67 69 70 70 71 72 72 73 74 76 76 76 77 77 77 77 77 77 77 77 76 76 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 66 68 70 70 71 72 73 73 74 75 76 76 77 78 78 78 78 78 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 66 69 69 71 72 73 73 74 75 76 77 78 79 79 79 79 79 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 67 68 69 71 72 73 74 75 75 76 78 79 79 80 80 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 69 71 72 74 75 75 76 77 78 79 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 71 73 74 75 76 76 77 nan nan nan nan nan nan nan nan nan 80 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 76 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 80 80 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 80 80 79 79 79 78 78 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 80 80 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 73 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 70 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Wind_Direction nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 304 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 304 303 303 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 305 305 305 305 304 304 304 304 303 303 303 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 305 305 305 305 304 304 304 304 304 304 304 304 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 306 306 305 305 304 304 304 304 304 304 304 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 306 306 305 305 304 304 304 305 305 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 307 306 306 306 306 305 305 305 305 305 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 302 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 307 307 307 307 306 306 305 305 305 305 306 306 306 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 302 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 307 307 307 307 307 307 307 306 306 306 306 306 306 306 306 306 305 305 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 303 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 308 308 308 307 307 306 306 306 306 306 306 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 302 303 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 308 308 308 308 308 308 308 307 307 307 306 306 306 306 306 306 306 306 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 308 308 308 308 308 308 309 308 308 308 307 307 307 307 307 307 307 307 307 306 306 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 308 308 308 308 308 309 309 308 308 308 307 307 307 307 307 307 307 307 307 307 306 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 308 308 309 309 309 309 309 309 308 308 307 307 307 307 307 307 308 307 307 307 307 306 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 nan nan 309 309 309 309 309 309 309 309 308 308 308 308 308 308 308 308 308 308 307 307 307 307 306 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 309 nan 309 309 309 309 309 309 309 309 308 308 308 308 308 308 308 308 308 307 307 307 307 306 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 309 309 309 309 309 309 309 309 309 308 308 308 308 308 308 308 308 308 308 307 307 307 306 306 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 309 309 309 309 309 309 309 309 309 308 308 308 308 308 308 308 308 308 307 307 307 306 306 306 306 305 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 309 309 309 309 309 309 309 309 309 308 308 308 308 308 308 308 308 307 307 307 306 306 306 305 305 305 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 309 309 309 309 309 309 309 309 309 309 309 308 308 308 308 308 308 307 307 307 306 306 305 305 305 305 305 305 305 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 309 309 309 309 309 309 310 310 309 309 309 309 308 308 308 308 307 307 306 306 306 305 305 305 304 304 304 304 304 304 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 310 309 309 309 309 309 310 310 310 310 310 309 309 309 308 308 308 307 306 306 306 305 305 305 304 304 304 304 304 304 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 310 310 309 309 309 310 310 310 310 310 309 309 309 309 308 308 307 306 306 306 305 305 305 305 305 305 305 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 310 309 309 309 310 310 310 310 309 309 309 309 308 308 307 306 306 306 305 305 305 305 305 305 305 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 309 309 309 310 310 309 309 309 309 308 308 307 307 306 306 306 305 305 305 305 305 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 310 310 310 309 309 308 308 308 307 307 307 306 306 306 305 305 305 306 306 306 307 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 310 310 310 310 309 309 308 308 307 307 307 307 306 306 306 306 306 306 306 306 307 307 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 310 310 310 310 309 309 308 308 307 307 307 307 307 307 307 306 306 306 306 307 307 307 307 307 307 307 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 310 310 309 308 308 308 308 308 307 307 307 307 307 307 307 307 307 307 307 307 307 307 307 306 306 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 309 308 308 308 308 308 308 307 307 308 308 308 308 308 308 308 308 308 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 308 308 308 308 308 308 308 308 309 309 309 309 309 308 308 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 308 308 308 308 309 309 309 309 309 309 310 310 310 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 308 309 309 309 309 309 309 309 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 308 309 309 309 309 309 nan nan nan nan nan nan nan nan nan 310 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 304 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 311 310 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 310 310 310 310 310 309 309 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 310 310 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 305 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan