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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 8 15 26 35 42 48 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 4 3 2 2 3 6 11 20 30 37 41 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 4 4 3 2 4 7 15 24 32 36 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 3 2 4 9 17 25 31 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 2 2 5 10 18 24 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 4 5 4 3 2 3 6 10 16 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 2 3 6 9 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 4 3 2 2 3 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 3 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 3 2 2 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 4 2 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 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 5 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 6 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 11 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 15 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 16 16 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 13 17 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 9 17 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 12 16 15 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 14 16 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 15 14 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 13 13 10 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 11 12 10 5 1 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 9 11 10 5 1 7 2 0 0 0 0 0 0 2 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 10 9 5 1 5 3 1 0 0 0 0 0 2 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 10 9 6 0 0 5 4 0 0 0 0 0 2 9 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 9 9 6 0 0 4 4 0 0 0 0 0 1 8 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 0 0 1 0 0 0 0 0 0 0 5 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 7 10 8 1 0 0 0 0 0 0 0 0 0 0 8 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 10 9 2 0 0 0 0 0 0 0 0 0 0 4 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 3 8 10 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 0 0 0 0 0 0 2 6 9 8 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 8 3 0 0 0 0 0 0 0 1 6 8 8 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 0 0 0 0 0 0 0 1 5 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 3 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 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 0 0 0 0 0 0 0 0 1 4 10 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 1 8 10 7 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 0 0 0 0 0 0 0 0 0 0 4 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 7 9 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 20 20 19 18 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 19 19 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 19 19 19 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 17 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 17 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 18 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 17 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 16 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 66 68 71 74 76 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 72 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 68 69 71 73 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 70 72 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 68 70 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 68 69 70 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 68 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 122 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 94 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 136 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 322 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 318 327 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 314 324 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 320 328 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 315 325 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 313 320 327 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 316 322 327 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 316 323 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 313 318 321 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 315 318 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 312 315 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 316 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 313 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 316 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Helicity 9 10 9 9 8 7 7 7 7 7 7 7 7 7 7 8 10 13 17 16 12 9 10 11 11 11 10 8 6 5 4 4 4 5 6 8 8 9 10 11 12 12 11 8 5 2 -1 -2 -4 -4 -5 -7 -8 -9 -9 -7 -6 -5 -5 -6 -7 -6 -4 -0 3 6 7 6 4 -0 -5 -10 -13 -15 -16 -16 -15 -13 -12 -10 -10 -10 -10 -10 -10 -10 -11 -14 -17 -16 -14 -12 -13 -16 -21 -24 -23 -21 -19 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -18 -16 -14 -13 -15 -16 -18 -18 -17 -13 -10 -9 -11 -15 -19 -18 -13 -8 -6 -8 -14 -19 -20 -16 -9 -4 -5 -11 -15 -14 -12 -9 -12 -17 -19 -15 -10 -8 -10 -14 -17 -17 -15 -14 -13 -11 -9 -8 -8 -11 -13 -13 -14 -15 -16 -16 -13 -8 -4 -2 -5 -10 -15 -15 -10 -4 1 1 -2 -7 -12 -13 -10 -4 2 4 3 -1 -5 -6 -4 -2 -2 -2 -2 0 4 5 2 -2 -7 -8 -3 4 9 11 9 3 -3 -4 -2 0 1 1 1 2 3 5 7 8 5 0 -3 -3 0 5 8 8 6 4 3 4 6 9 12 14 15 15 12 9 6 4 4 6 6 6 6 7 9 10 10 10 10 10 10 11 11 12 13 14 15 16 16 16 17 17 18 19 20 20 21 21 21 22 22 23 23 24 24 24 25 25 26 26 27 27 28 28 28 28 28 28 28 28 27 27 27 27 27 27 27 27 26 26 25 24 24 23 22 22 21 20 19 19 18 19 19 19 20 20 20 20 20 21 21 21 21 21 21 21 21 22 22 22 21 20 19 18 17 16 14 12 11 9 9 8 8 7 7 6 6 6 6 7 8 8 8 8 8 8 8 8 7 7 6 6 6 6 6 5 5 4 4 3 2 2 1 1 1 -0 -1 -3 -4 -5 -5 -6 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -10 -10 -9 -8 -8 -7 -6 -5 -5 -4 11 12 12 11 11 10 9 8 7 6 5 5 4 3 2 2 3 5 7 8 6 4 4 5 6 7 7 7 6 5 4 3 2 2 2 3 4 5 5 6 7 8 9 8 7 5 4 2 1 1 -1 -3 -6 -8 -9 -8 -7 -6 -6 -6 -7 -6 -6 -4 -2 0 3 6 7 5 2 -3 -8 -13 -16 -19 -19 -18 -17 -15 -15 -14 -13 -11 -10 -11 -14 -17 -19 -16 -11 -9 -12 -18 -23 -24 -22 -20 -19 -19 -18 -18 -18 -18 -18 -18 -18 -19 -19 -17 -15 -13 -13 -15 -17 -17 -16 -14 -10 -8 -8 -12 -16 -18 -14 -8 -5 -6 -12 -18 -20 -17 -10 -5 -5 -9 -14 -15 -13 -11 -12 -17 -19 -16 -10 -6 -7 -12 -16 -17 -15 -13 -12 -12 -11 -9 -9 -11 -13 -14 -15 -15 -15 -15 -12 -8 -3 -2 -5 -10 -15 -15 -9 -2 1 1 -3 -8 -12 -12 -9 -2 4 6 4 -0 -4 -6 -5 -1 -1 -2 -2 -1 1 2 1 -3 -6 -6 -2 5 10 11 10 5 -2 -5 -3 -0 2 2 1 1 2 3 5 7 5 0 -4 -4 -1 4 9 10 8 5 3 4 6 10 12 14 16 16 15 11 7 4 3 4 6 6 6 7 8 10 11 11 11 11 11 11 12 13 14 14 15 16 17 18 18 19 20 21 22 22 23 23 23 24 24 25 26 26 26 26 26 26 26 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 27 27 27 26 26 25 25 24 23 22 21 20 20 20 20 20 20 20 20 20 20 21 21 22 22 22 22 22 22 22 22 23 22 22 21 21 20 19 17 15 13 11 10 10 9 8 8 7 6 6 6 7 7 8 8 8 8 8 8 8 7 7 7 7 8 8 7 6 5 5 4 3 3 2 2 2 2 1 0 -1 -2 -3 -4 -4 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -7 -6 -5 -5 16 16 16 16 16 15 14 12 11 11 11 10 9 7 5 4 4 6 7 4 1 -0 1 0 0 1 2 2 2 2 1 0 -1 -1 -1 -0 1 2 3 4 4 5 5 5 5 4 4 4 4 4 4 3 -0 -3 -5 -7 -8 -8 -9 -8 -7 -5 -5 -4 -5 -4 -2 1 4 6 6 3 -1 -6 -11 -16 -19 -20 -21 -20 -20 -19 -17 -14 -13 -14 -17 -18 -18 -15 -11 -11 -14 -19 -20 -21 -21 -20 -19 -18 -17 -17 -18 -19 -18 -17 -18 -19 -18 -16 -14 -13 -14 -16 -16 -16 -14 -11 -8 -7 -9 -13 -15 -14 -9 -5 -5 -9 -16 -20 -17 -10 -5 -5 -8 -14 -15 -14 -12 -13 -16 -20 -17 -11 -6 -6 -10 -15 -17 -15 -13 -12 -12 -13 -11 -11 -11 -13 -15 -16 -15 -15 -14 -13 -9 -5 -3 -5 -10 -14 -14 -9 -2 1 0 -4 -9 -12 -12 -7 -0 5 6 3 -1 -5 -7 -5 -2 1 -1 -3 -3 -2 -0 -1 -4 -6 -5 -1 5 10 11 9 5 -1 -6 -4 -0 2 3 2 1 1 2 5 6 5 1 -4 -5 -2 3 9 11 9 6 3 3 6 10 13 15 16 17 16 13 9 4 2 3 5 6 6 6 8 9 11 12 12 12 13 13 14 15 15 15 15 16 17 18 18 19 20 21 21 22 22 22 22 22 23 24 25 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 29 29 29 29 29 28 28 28 28 27 27 27 27 27 26 26 25 24 23 22 22 21 21 21 21 21 21 21 21 21 22 23 23 23 23 22 22 22 23 23 23 23 23 23 22 21 19 17 15 13 12 11 10 9 8 7 7 7 7 7 7 8 8 8 8 7 7 7 8 8 8 9 8 8 7 6 5 4 4 3 3 3 3 3 3 2 0 -1 -2 -3 -3 -4 -4 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -9 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -6 -6 -5 16 16 16 16 15 14 12 10 10 10 10 9 7 5 4 4 5 8 8 4 1 1 2 1 0 0 0 -0 -1 -1 -2 -3 -4 -6 -7 -6 -4 -2 -0 1 3 4 4 4 3 3 3 4 4 5 5 6 6 4 1 -2 -6 -10 -11 -11 -9 -7 -5 -5 -5 -5 -5 -3 -1 1 4 5 5 2 -2 -8 -13 -17 -20 -22 -23 -22 -21 -19 -18 -19 -19 -17 -14 -14 -15 -16 -18 -18 -17 -18 -20 -19 -18 -16 -16 -18 -18 -18 -17 -17 -18 -18 -17 -15 -13 -13 -15 -16 -15 -14 -12 -9 -8 -9 -12 -14 -13 -10 -5 -5 -8 -14 -17 -16 -10 -5 -5 -9 -14 -16 -14 -12 -13 -17 -20 -19 -12 -7 -6 -9 -14 -17 -16 -13 -12 -12 -13 -14 -13 -12 -13 -15 -16 -16 -15 -14 -13 -11 -8 -5 -7 -11 -14 -14 -10 -3 1 -0 -4 -8 -11 -10 -5 1 5 5 2 -2 -7 -9 -7 -3 1 -1 -4 -5 -4 -2 -2 -4 -5 -4 -0 5 9 10 8 4 -1 -5 -5 -1 2 3 2 1 0 1 4 6 7 3 -2 -4 -2 3 8 11 9 5 2 2 5 9 13 16 17 17 17 15 11 6 3 2 4 5 6 7 9 11 12 13 13 13 14 15 16 17 16 15 15 15 16 17 17 18 18 19 19 19 18 18 18 19 19 20 21 22 23 24 25 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 29 29 29 29 28 28 28 28 28 28 28 28 28 27 27 26 26 25 24 24 23 23 23 22 22 21 21 22 22 23 24 24 24 23 23 23 23 23 24 24 25 25 25 24 23 21 19 16 15 13 12 11 10 9 8 7 7 7 7 7 7 7 7 7 7 7 8 8 9 9 9 8 7 6 5 5 5 4 4 4 4 4 4 3 2 1 -0 -1 -2 -3 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -6 -5 12 11 11 11 10 8 7 6 7 8 8 7 6 5 5 5 6 7 7 4 2 3 3 3 3 3 3 2 1 -0 -2 -4 -7 -10 -13 -15 -13 -11 -8 -5 -2 1 3 4 4 3 2 2 3 3 4 5 6 6 5 2 -2 -6 -9 -11 -11 -10 -9 -8 -8 -7 -6 -6 -5 -3 -1 2 3 4 3 0 -4 -8 -12 -16 -19 -21 -21 -21 -22 -22 -21 -17 -15 -14 -16 -17 -17 -18 -18 -18 -19 -18 -16 -15 -17 -18 -18 -17 -16 -16 -17 -17 -16 -14 -13 -14 -15 -15 -14 -12 -11 -10 -11 -12 -13 -13 -10 -7 -6 -9 -13 -15 -14 -9 -5 -5 -9 -14 -17 -15 -12 -14 -17 -20 -19 -13 -8 -7 -9 -14 -17 -17 -14 -12 -12 -13 -15 -14 -13 -13 -15 -16 -17 -16 -15 -14 -13 -11 -8 -9 -12 -16 -16 -12 -5 -0 -0 -4 -8 -10 -10 -5 1 4 4 1 -4 -8 -10 -7 -3 1 1 -4 -6 -5 -3 -2 -3 -4 -3 1 4 8 9 7 3 -2 -5 -5 -1 2 3 3 1 0 0 3 6 8 6 1 -3 -1 4 8 10 9 4 1 1 4 8 13 16 17 17 17 15 12 7 4 3 4 5 6 8 10 12 14 15 15 14 14 15 16 16 16 15 15 15 15 15 15 15 15 15 15 14 14 14 14 14 14 15 16 17 18 19 20 21 23 24 24 25 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 28 28 28 28 28 28 28 28 28 28 29 29 29 29 28 28 28 27 27 26 26 25 25 24 24 23 22 22 23 24 24 25 25 25 24 24 24 24 24 24 25 25 26 25 25 24 22 20 18 16 14 13 11 10 9 8 8 7 7 7 7 7 7 7 7 7 8 8 8 9 8 8 7 6 6 6 5 5 5 5 5 5 5 4 3 2 1 -0 -1 -2 -3 -4 -4 -5 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -6 -6 10 10 10 9 7 5 4 5 6 7 7 7 6 7 8 8 9 9 6 5 5 4 3 3 3 3 3 3 2 1 -0 -2 -4 -9 -14 -19 -20 -20 -18 -15 -12 -9 -5 -2 -0 1 1 1 1 1 1 1 1 2 2 2 1 -1 -3 -6 -9 -10 -11 -12 -11 -10 -9 -8 -7 -5 -4 -2 -0 1 2 2 0 -2 -5 -8 -11 -14 -17 -19 -21 -22 -22 -20 -18 -16 -15 -15 -16 -19 -21 -20 -18 -17 -16 -16 -17 -18 -17 -16 -15 -15 -16 -16 -15 -13 -12 -14 -15 -14 -13 -12 -12 -13 -13 -13 -12 -11 -10 -9 -10 -13 -13 -12 -8 -5 -6 -10 -14 -15 -14 -12 -14 -17 -19 -18 -13 -9 -8 -11 -14 -16 -17 -14 -12 -11 -13 -14 -15 -14 -13 -14 -15 -16 -16 -16 -15 -15 -13 -11 -11 -14 -17 -18 -14 -7 -2 -1 -4 -7 -10 -10 -6 -0 3 3 -0 -5 -9 -10 -7 -2 1 2 -2 -6 -6 -3 -1 -1 -2 -1 1 4 6 7 5 1 -3 -5 -4 -1 3 4 3 2 1 1 3 6 8 7 4 -0 0 4 9 10 8 4 0 0 3 8 12 15 16 17 17 15 12 8 5 4 4 6 7 9 11 13 15 16 16 14 13 13 13 13 13 12 12 12 12 11 11 11 10 10 10 10 10 10 10 10 11 12 12 13 14 15 16 17 18 20 20 21 22 23 24 24 25 25 25 25 26 26 25 25 25 26 26 26 27 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 30 30 29 29 28 28 27 27 26 25 24 24 24 25 25 26 26 26 25 25 24 24 24 24 25 25 25 26 26 25 24 23 21 19 17 15 13 12 11 10 9 8 7 7 6 6 6 6 6 7 7 8 8 8 8 7 7 7 6 6 6 6 6 6 6 6 6 5 4 3 1 0 -1 -2 -3 -3 -4 -4 -5 -5 -5 -6 -6 -6 -6 -7 -8 -8 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 11 11 10 9 8 7 6 6 6 6 6 5 4 5 6 8 10 12 9 9 9 9 9 10 10 11 11 11 11 9 7 5 3 0 -3 -8 -12 -15 -18 -19 -19 -17 -15 -12 -9 -7 -5 -3 -2 -1 -2 -3 -4 -5 -3 -2 -0 0 -0 -3 -6 -8 -11 -12 -13 -12 -11 -10 -9 -7 -6 -5 -3 -2 -1 -1 -0 -1 -3 -4 -6 -7 -10 -13 -16 -19 -21 -20 -18 -16 -15 -14 -15 -19 -21 -20 -18 -17 -15 -16 -17 -18 -16 -14 -13 -14 -16 -15 -13 -12 -12 -14 -14 -13 -12 -13 -13 -13 -12 -11 -11 -11 -11 -12 -12 -12 -10 -8 -7 -7 -11 -13 -14 -13 -12 -13 -17 -18 -16 -13 -10 -10 -12 -14 -16 -16 -14 -12 -11 -12 -14 -15 -14 -13 -12 -14 -15 -16 -16 -16 -16 -15 -13 -12 -14 -18 -19 -16 -10 -4 -2 -4 -7 -10 -11 -8 -2 1 1 -2 -7 -10 -10 -6 -1 2 3 -0 -5 -5 -3 -0 1 1 0 2 4 5 5 2 -1 -5 -6 -4 -0 3 5 4 3 3 3 4 7 9 8 5 2 1 5 9 10 7 3 -1 -1 2 7 11 14 16 16 16 15 12 8 5 5 5 6 8 10 12 14 15 15 14 13 11 10 10 9 9 8 8 8 8 8 8 7 7 7 7 7 8 8 8 8 9 10 10 11 12 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 27 27 27 26 26 26 26 26 26 27 27 27 28 28 28 28 28 28 29 29 29 29 30 30 30 30 31 31 31 31 30 30 29 28 27 26 26 25 26 26 27 27 27 26 26 25 25 25 24 25 25 25 25 26 26 25 24 23 21 19 17 15 13 12 11 10 9 8 7 6 6 5 5 6 6 6 7 7 7 7 7 6 6 6 6 6 6 6 6 7 7 6 5 4 3 2 1 -0 -1 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 14 13 12 11 10 10 10 10 8 7 5 4 2 1 1 0 1 3 2 3 4 5 5 6 6 7 9 10 12 13 13 13 12 11 10 7 4 -0 -5 -9 -12 -14 -15 -15 -15 -14 -12 -10 -7 -5 -5 -6 -8 -9 -7 -5 -3 -2 -2 -3 -4 -6 -8 -10 -11 -12 -12 -12 -11 -10 -8 -7 -6 -5 -4 -4 -3 -3 -4 -4 -4 -4 -6 -8 -12 -14 -16 -17 -17 -16 -15 -14 -15 -18 -21 -20 -18 -16 -15 -16 -17 -17 -15 -12 -11 -13 -15 -14 -12 -11 -12 -14 -13 -13 -13 -13 -14 -12 -11 -10 -11 -11 -12 -12 -11 -10 -9 -8 -9 -11 -13 -13 -12 -11 -12 -15 -16 -15 -12 -10 -10 -12 -14 -15 -15 -14 -12 -12 -12 -14 -14 -14 -12 -12 -12 -14 -16 -17 -17 -17 -16 -14 -13 -14 -16 -19 -17 -12 -7 -5 -5 -8 -11 -11 -9 -5 -2 -2 -5 -9 -10 -10 -6 -1 3 3 1 -3 -4 -2 0 2 2 1 1 3 3 3 0 -3 -5 -4 -2 1 4 6 5 5 5 5 7 9 11 9 6 3 2 5 8 9 6 1 -2 -1 2 7 10 13 15 15 15 14 11 7 5 5 6 7 9 10 12 14 13 12 10 9 7 6 6 6 5 5 5 5 6 6 5 5 5 6 6 6 7 8 8 8 9 9 10 10 10 11 12 13 14 14 15 16 17 18 20 22 23 25 26 28 29 30 30 30 29 29 28 27 27 27 27 27 27 27 27 28 28 28 29 29 29 29 29 29 30 30 31 31 32 32 32 32 32 31 30 29 28 28 27 27 27 28 28 28 27 27 26 26 26 25 25 25 25 25 25 25 25 24 23 22 20 18 16 15 13 12 11 10 9 8 7 6 6 5 5 5 6 6 7 7 6 6 6 6 6 6 6 6 6 7 7 7 6 5 4 3 3 2 1 -0 -1 -2 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 13 13 12 12 13 13 13 13 13 12 12 11 9 8 7 7 6 3 -0 -1 -1 -1 -1 -0 -0 -0 -0 1 2 3 4 6 7 8 9 9 9 8 6 3 0 -3 -6 -9 -11 -13 -14 -14 -12 -10 -8 -7 -9 -9 -8 -6 -5 -5 -5 -6 -6 -6 -7 -8 -9 -10 -11 -12 -12 -11 -11 -9 -8 -7 -6 -6 -6 -6 -6 -6 -5 -5 -6 -7 -9 -10 -11 -12 -14 -16 -17 -16 -16 -19 -20 -19 -16 -14 -14 -15 -17 -16 -13 -10 -10 -13 -15 -13 -11 -11 -12 -13 -13 -13 -13 -14 -13 -11 -10 -11 -12 -12 -12 -12 -11 -10 -10 -11 -12 -13 -13 -12 -11 -12 -14 -15 -13 -11 -10 -10 -12 -14 -14 -14 -14 -13 -12 -13 -13 -14 -14 -13 -12 -11 -13 -14 -16 -17 -17 -17 -15 -14 -13 -14 -17 -16 -13 -10 -7 -7 -9 -11 -12 -10 -7 -5 -5 -8 -10 -11 -9 -5 0 3 3 0 -3 -4 -2 0 2 1 0 0 1 1 0 -1 -3 -4 -2 1 4 6 7 7 7 7 8 10 12 12 10 5 3 3 5 9 8 4 -0 -2 -1 2 7 10 12 13 14 15 13 10 7 5 5 6 7 8 10 11 12 11 8 6 4 3 3 3 3 3 3 3 4 4 5 5 5 5 5 6 6 7 8 8 9 10 10 10 10 9 9 10 11 12 13 14 15 16 17 19 21 22 23 25 26 28 29 31 32 32 32 32 31 31 30 29 28 28 28 28 28 28 28 29 29 30 30 30 30 29 30 30 31 31 32 33 33 33 33 32 32 31 30 29 29 28 28 29 29 29 28 28 27 27 27 26 26 25 25 24 24 25 25 24 23 22 20 19 17 16 14 13 12 11 10 9 9 8 7 6 5 5 6 6 6 6 6 6 5 5 5 6 6 6 7 7 8 7 7 6 5 4 3 2 1 1 -1 -1 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -7 -7 -8 -8 -8 -7 -8 -8 -8 -8 -8 -7 7 6 6 6 6 6 5 6 6 6 4 3 3 4 5 7 8 6 7 6 4 1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -3 -2 -1 0 2 4 6 6 6 5 3 1 -2 -6 -9 -11 -12 -11 -9 -7 -7 -7 -6 -6 -6 -6 -8 -9 -9 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -12 -10 -9 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -8 -8 -8 -10 -12 -16 -18 -19 -19 -21 -20 -17 -14 -12 -13 -15 -16 -14 -11 -9 -10 -13 -14 -12 -11 -11 -13 -13 -13 -13 -14 -14 -12 -10 -11 -12 -13 -12 -12 -12 -12 -12 -12 -12 -12 -13 -12 -12 -12 -13 -13 -12 -10 -9 -9 -11 -13 -14 -14 -14 -14 -13 -13 -13 -14 -14 -13 -12 -11 -12 -13 -14 -15 -16 -16 -16 -14 -13 -13 -14 -15 -14 -12 -10 -9 -10 -11 -11 -10 -8 -7 -8 -9 -11 -10 -8 -4 0 2 1 -1 -3 -4 -3 -0 1 -0 -1 -1 -1 -1 -1 -3 -3 -2 0 4 7 8 9 9 8 8 9 10 10 10 8 4 2 3 6 9 8 3 -2 -3 -0 4 8 10 11 11 12 14 13 10 7 5 5 6 7 7 8 9 10 9 6 4 3 2 1 2 2 2 3 3 4 4 5 5 5 5 6 6 6 7 7 8 9 9 10 9 9 8 8 8 9 10 11 12 13 15 16 18 19 21 21 22 23 24 25 27 28 30 32 33 33 33 33 32 32 31 30 29 29 28 28 29 29 30 30 30 30 30 30 30 30 30 31 32 33 33 33 33 33 33 32 32 31 30 30 29 30 30 30 30 29 28 28 27 27 27 26 25 25 24 24 24 23 23 21 20 19 18 16 15 14 12 11 10 10 9 9 8 7 6 6 6 6 6 6 6 6 6 6 5 6 6 6 7 8 8 8 7 6 5 4 3 3 2 2 1 -0 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -6 -7 -7 -7 -7 -8 -8 -9 -8 -8 -7 12 11 11 11 11 10 10 9 9 8 7 6 5 4 4 5 5 3 3 4 3 1 -0 -1 -2 -2 -2 -3 -3 -5 -6 -7 -8 -9 -9 -9 -8 -6 -3 -1 2 3 4 4 4 2 -1 -4 -7 -9 -8 -6 -4 -4 -4 -5 -6 -6 -7 -9 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -13 -12 -11 -10 -9 -8 -7 -7 -8 -9 -11 -11 -11 -10 -10 -10 -10 -12 -15 -16 -19 -21 -23 -20 -15 -12 -12 -14 -15 -15 -12 -10 -9 -10 -13 -13 -12 -11 -12 -13 -13 -13 -14 -14 -13 -11 -10 -12 -13 -13 -12 -13 -14 -14 -13 -12 -11 -11 -13 -14 -14 -13 -12 -11 -9 -8 -9 -11 -12 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -13 -14 -15 -16 -15 -13 -12 -12 -13 -14 -13 -12 -11 -10 -9 -9 -8 -8 -8 -9 -10 -9 -8 -5 -2 -0 1 -1 -3 -5 -5 -3 -1 -1 -2 -3 -3 -2 -2 -3 -3 -3 -1 3 7 9 10 10 9 8 7 7 7 7 6 4 1 0 2 6 8 8 2 -2 -2 2 7 11 11 10 9 10 12 13 10 6 4 4 6 8 7 6 7 7 7 5 3 3 2 2 1 2 2 2 3 4 4 5 5 5 5 6 6 6 6 6 7 7 8 8 9 8 8 7 7 8 9 10 11 12 13 14 16 17 18 19 19 19 19 20 21 22 24 26 28 29 31 32 33 33 33 32 31 31 30 29 29 29 30 30 31 31 31 30 30 30 30 30 31 32 33 33 34 34 33 33 33 33 32 32 31 31 30 30 30 30 30 30 29 28 28 27 27 26 25 25 24 24 23 22 21 20 19 18 17 16 15 13 12 11 10 10 9 9 8 7 7 6 6 6 7 7 7 7 7 7 7 7 7 8 8 8 8 7 7 6 5 4 4 3 3 2 1 0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -8 -8 -9 -9 -8 -7 10 9 8 8 9 9 10 10 11 11 11 10 9 8 7 7 7 6 5 4 2 0 -1 -2 -2 -2 -3 -3 -3 -4 -4 -6 -7 -8 -10 -11 -11 -12 -11 -10 -8 -6 -4 -2 0 2 2 1 -1 -3 -5 -4 -3 -3 -4 -5 -5 -5 -5 -7 -9 -11 -12 -13 -13 -12 -12 -11 -11 -11 -12 -12 -12 -12 -12 -11 -9 -8 -7 -7 -9 -11 -12 -13 -12 -12 -12 -12 -14 -16 -17 -18 -20 -21 -17 -14 -12 -13 -14 -15 -15 -12 -9 -9 -11 -13 -13 -12 -12 -13 -13 -12 -13 -14 -13 -12 -11 -11 -13 -13 -13 -13 -15 -16 -14 -11 -9 -9 -12 -14 -15 -14 -12 -10 -8 -8 -9 -10 -12 -12 -12 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -13 -14 -15 -14 -12 -11 -11 -13 -14 -13 -12 -10 -9 -7 -7 -6 -8 -9 -9 -8 -6 -3 -2 -1 -1 -3 -5 -6 -5 -3 -2 -2 -3 -4 -3 -3 -2 -3 -3 -2 1 5 9 12 11 9 7 5 5 5 4 3 2 0 -1 -1 3 6 8 7 3 -0 0 5 10 13 13 9 6 7 9 12 11 6 3 3 5 8 8 5 4 4 5 4 3 2 2 2 1 1 1 2 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 8 9 10 11 11 12 13 14 14 14 14 14 15 15 15 16 17 18 20 22 24 26 28 29 31 31 31 31 31 30 30 29 29 30 30 31 31 31 31 31 30 30 30 31 32 32 33 34 34 34 34 34 34 33 33 32 32 31 31 31 31 31 30 30 29 29 28 28 27 26 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 9 9 8 8 8 7 7 7 7 7 8 8 9 9 9 9 9 9 9 9 8 8 7 6 5 5 5 5 4 3 1 0 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -6 -7 -7 -8 -8 -8 -7 9 8 8 8 8 8 9 9 10 10 11 11 11 10 9 9 9 9 9 9 7 4 1 -1 -2 -3 -4 -4 -4 -3 -4 -4 -5 -6 -7 -8 -9 -11 -12 -13 -14 -14 -13 -11 -9 -6 -3 -1 0 -1 -2 -4 -5 -6 -7 -7 -6 -4 -2 -3 -5 -8 -12 -14 -15 -15 -15 -14 -14 -14 -13 -13 -12 -12 -12 -12 -11 -10 -9 -8 -8 -9 -10 -11 -12 -12 -12 -13 -16 -19 -20 -20 -19 -19 -15 -13 -13 -14 -15 -16 -14 -11 -9 -9 -12 -13 -13 -12 -13 -13 -13 -13 -14 -14 -12 -11 -11 -13 -13 -13 -14 -15 -15 -13 -9 -7 -7 -10 -14 -16 -15 -12 -10 -9 -9 -9 -11 -12 -13 -12 -12 -13 -13 -14 -13 -13 -13 -14 -14 -13 -13 -13 -13 -12 -11 -11 -13 -14 -14 -12 -10 -10 -10 -12 -13 -13 -11 -9 -7 -5 -5 -6 -8 -9 -8 -5 -2 -1 -2 -3 -4 -6 -6 -5 -3 -2 -2 -3 -4 -3 -3 -2 -3 -2 -0 3 7 11 13 11 8 4 2 2 2 2 1 -1 -2 -2 -1 3 7 8 7 3 0 2 6 10 13 12 7 4 4 7 10 11 7 2 1 4 7 8 5 3 2 3 3 2 2 1 1 0 -0 0 1 3 3 4 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 7 8 9 9 9 9 9 10 10 10 10 10 10 10 11 12 12 13 14 16 17 19 21 23 25 27 28 29 29 29 29 29 29 29 29 30 31 32 32 32 32 31 31 31 31 31 32 33 34 34 35 35 35 35 35 34 34 33 32 31 31 31 31 31 30 30 30 29 29 28 28 27 26 25 24 23 22 21 19 18 17 17 16 15 14 13 12 11 10 9 9 9 9 9 8 8 7 7 8 9 10 11 11 11 11 10 10 10 10 10 10 9 7 7 7 7 7 5 4 2 1 0 0 0 0 -0 -1 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -6 -7 -7 -8 -8 -7 7 8 9 9 9 9 9 9 9 9 10 10 10 9 8 7 7 8 8 10 11 11 10 7 3 -0 -2 -4 -4 -4 -5 -6 -7 -8 -9 -9 -9 -10 -11 -12 -14 -16 -17 -17 -16 -15 -12 -9 -6 -4 -3 -5 -6 -8 -9 -9 -8 -6 -3 -2 -3 -5 -7 -10 -12 -13 -15 -16 -17 -17 -16 -15 -14 -13 -13 -12 -12 -12 -12 -11 -9 -8 -8 -9 -10 -11 -12 -14 -17 -20 -20 -19 -17 -17 -13 -12 -13 -14 -16 -16 -12 -9 -9 -11 -13 -14 -13 -13 -13 -13 -13 -13 -14 -13 -12 -12 -13 -13 -14 -14 -15 -15 -13 -8 -6 -6 -9 -14 -17 -16 -13 -11 -10 -10 -11 -12 -13 -13 -13 -13 -13 -14 -14 -13 -13 -13 -14 -14 -14 -13 -13 -13 -12 -12 -11 -11 -13 -14 -13 -11 -9 -9 -9 -11 -12 -12 -10 -7 -5 -4 -5 -7 -9 -8 -5 -2 -1 -1 -2 -4 -6 -6 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 0 5 9 12 13 10 5 1 -0 0 1 1 -0 -2 -2 -2 1 5 8 8 6 3 1 2 6 10 11 9 6 3 3 5 8 9 7 2 0 2 5 7 6 2 0 0 1 1 1 0 -1 -2 -2 -2 0 2 4 4 4 3 2 2 2 3 3 3 3 4 4 4 4 4 4 4 4 5 5 6 7 7 7 7 7 7 6 6 6 7 7 7 8 9 9 10 11 11 12 13 14 15 17 19 21 23 25 27 28 28 28 28 27 28 28 29 30 31 32 32 32 32 32 31 31 31 32 33 34 34 35 35 35 35 36 35 35 34 32 32 31 31 31 31 31 31 31 30 30 30 29 28 27 26 25 24 23 22 20 19 18 17 16 15 14 13 12 11 11 10 10 10 10 10 9 9 8 8 8 9 11 12 13 13 13 13 12 12 12 12 11 10 9 9 9 9 8 7 5 4 2 2 2 2 2 1 0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 3 4 6 7 7 8 8 7 7 8 8 8 8 8 8 7 6 5 5 5 6 8 11 13 12 9 6 1 -2 -3 -5 -6 -8 -9 -10 -12 -13 -13 -13 -14 -14 -16 -18 -19 -19 -19 -18 -15 -12 -9 -7 -6 -7 -8 -9 -10 -10 -9 -7 -5 -4 -3 -3 -4 -6 -8 -11 -13 -15 -17 -18 -18 -17 -15 -14 -13 -13 -13 -13 -12 -11 -9 -8 -8 -8 -9 -11 -13 -17 -20 -20 -17 -15 -15 -11 -11 -13 -15 -15 -13 -9 -9 -11 -14 -15 -14 -13 -14 -13 -13 -13 -14 -14 -13 -13 -13 -14 -14 -15 -16 -15 -13 -9 -5 -6 -9 -14 -18 -18 -15 -12 -11 -12 -12 -13 -14 -15 -15 -14 -14 -14 -14 -14 -13 -13 -13 -14 -14 -13 -13 -13 -12 -12 -12 -11 -12 -12 -13 -12 -10 -9 -8 -9 -10 -11 -10 -8 -5 -3 -3 -5 -8 -9 -7 -3 -1 -1 -2 -4 -5 -6 -5 -3 -2 -2 -3 -3 -2 -2 -3 -2 -1 1 6 10 12 11 7 2 -2 -2 0 3 3 2 -1 -1 0 3 6 9 9 6 2 1 2 5 8 8 7 4 2 2 5 8 9 7 3 0 1 4 6 5 1 -1 -1 -1 -0 -1 -1 -2 -4 -4 -4 -2 1 4 4 4 3 1 1 1 2 2 3 3 3 3 4 4 4 3 3 3 4 4 5 5 5 5 5 5 4 4 4 4 4 5 5 6 7 8 8 9 9 10 10 11 12 13 15 16 18 21 23 25 26 27 27 26 26 26 26 27 28 30 31 32 32 32 32 32 32 32 32 33 33 34 35 35 36 36 36 36 35 35 33 33 32 31 31 31 31 31 31 31 31 31 30 29 28 27 26 25 24 23 21 20 18 17 16 16 15 13 13 12 11 11 11 11 11 11 10 10 9 9 9 10 11 13 14 14 14 14 14 14 14 14 13 12 11 11 11 11 10 9 7 5 4 4 4 4 3 3 1 0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -1 -1 -0 1 1 2 2 3 3 4 4 4 5 5 6 7 7 6 6 4 3 3 4 7 9 11 11 10 9 6 4 0 -3 -5 -8 -11 -12 -14 -14 -15 -16 -17 -18 -20 -21 -22 -21 -20 -17 -14 -11 -9 -8 -8 -9 -10 -11 -11 -10 -9 -7 -5 -3 -2 -2 -3 -5 -7 -9 -12 -15 -17 -18 -17 -16 -14 -14 -13 -13 -12 -11 -10 -10 -9 -9 -9 -10 -13 -16 -18 -18 -15 -13 -13 -10 -12 -14 -15 -13 -9 -8 -10 -14 -16 -15 -14 -14 -14 -13 -13 -13 -15 -14 -14 -14 -14 -14 -15 -16 -15 -13 -9 -6 -6 -10 -15 -18 -18 -16 -13 -12 -12 -13 -14 -15 -16 -16 -16 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -11 -11 -12 -13 -12 -10 -8 -8 -8 -10 -10 -9 -6 -3 -2 -3 -6 -8 -8 -5 -2 -1 -2 -3 -4 -5 -5 -3 -2 -1 -1 -1 -2 -2 -3 -2 -1 2 6 10 10 8 4 -1 -2 -0 3 6 6 4 1 -0 1 5 8 9 7 4 1 -0 2 5 7 6 4 2 1 3 6 8 9 7 4 1 1 3 4 4 1 -2 -3 -2 -2 -3 -4 -4 -6 -7 -6 -4 -0 4 5 4 3 1 0 0 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 3 3 4 5 5 6 6 7 7 7 8 8 9 10 11 13 14 16 18 21 23 24 25 25 25 25 25 25 26 27 28 29 30 31 32 32 32 32 32 32 32 33 34 34 35 36 36 36 36 36 35 35 34 33 32 32 31 32 32 32 32 32 31 31 31 30 29 28 27 25 24 22 21 19 18 17 16 15 14 13 12 12 11 11 11 11 11 11 11 11 10 11 11 12 13 14 15 15 16 16 16 16 16 15 14 13 12 12 12 11 10 8 7 6 5 5 5 5 4 3 1 -0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 1 0 -0 -1 -1 -1 -1 -1 -0 0 1 0 -0 1 2 3 4 5 6 6 5 4 3 2 3 5 6 8 9 10 10 9 7 6 3 1 -2 -6 -10 -13 -15 -17 -19 -21 -23 -24 -24 -23 -21 -18 -16 -14 -12 -11 -11 -11 -11 -12 -12 -12 -11 -9 -6 -4 -3 -2 -2 -2 -3 -5 -8 -11 -14 -16 -16 -16 -15 -14 -12 -11 -10 -10 -11 -11 -11 -11 -12 -13 -16 -17 -16 -13 -11 -12 -11 -13 -14 -13 -9 -7 -9 -14 -16 -16 -14 -14 -15 -14 -13 -13 -14 -15 -15 -15 -14 -14 -14 -14 -14 -13 -10 -7 -7 -10 -15 -18 -18 -16 -13 -12 -13 -14 -14 -15 -17 -17 -17 -16 -15 -15 -15 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -12 -12 -11 -10 -10 -11 -12 -12 -10 -8 -7 -9 -11 -11 -8 -5 -2 -1 -3 -7 -8 -7 -4 -2 -2 -3 -4 -5 -5 -4 -2 -0 1 0 -1 -2 -2 -2 -0 2 6 9 9 5 1 -2 -2 2 7 9 9 5 2 -0 1 4 7 7 5 1 -2 -1 2 5 6 5 2 1 1 4 7 9 9 6 4 1 1 2 4 3 0 -2 -3 -3 -4 -5 -6 -6 -7 -7 -7 -5 -1 3 6 6 4 2 0 -0 0 1 2 2 3 3 3 3 3 3 3 2 2 2 2 2 2 2 1 1 1 1 1 2 2 3 3 4 4 4 5 5 5 5 5 6 6 7 8 9 10 12 13 15 17 20 21 23 23 24 24 24 24 25 26 27 28 29 30 31 31 31 31 32 32 32 32 33 33 34 34 35 35 36 36 36 36 35 34 33 33 32 33 33 33 33 32 32 32 32 32 31 30 28 27 25 24 22 20 19 18 16 15 14 14 13 13 12 12 11 12 12 12 12 12 12 12 13 13 14 15 16 16 16 17 17 18 17 16 15 14 13 13 13 12 11 9 8 8 7 7 7 6 5 4 3 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 13 11 10 8 7 5 5 4 4 4 3 2 1 1 1 1 2 2 4 5 5 5 4 3 2 2 2 2 3 4 5 7 8 9 9 9 9 6 2 -3 -9 -15 -19 -22 -24 -25 -25 -24 -23 -21 -20 -19 -17 -16 -14 -13 -13 -12 -13 -13 -13 -12 -10 -9 -7 -5 -4 -2 -1 -1 -2 -4 -8 -11 -14 -15 -15 -14 -12 -11 -10 -10 -11 -12 -12 -13 -14 -15 -16 -17 -15 -13 -11 -14 -14 -15 -13 -10 -7 -7 -13 -16 -16 -14 -13 -15 -14 -13 -13 -14 -16 -16 -15 -14 -13 -12 -12 -12 -11 -9 -7 -8 -11 -16 -18 -18 -15 -12 -12 -13 -14 -15 -15 -16 -17 -17 -16 -16 -15 -15 -15 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -11 -10 -10 -10 -11 -11 -10 -8 -7 -8 -10 -12 -10 -7 -3 -1 -2 -5 -8 -8 -6 -4 -3 -3 -3 -4 -5 -5 -3 -0 1 2 1 -1 -2 -2 0 3 6 7 7 3 -1 -3 -1 4 9 12 10 6 2 -1 0 3 5 4 2 -1 -2 -1 2 5 5 4 1 0 2 5 8 10 8 5 3 1 0 1 2 2 -0 -3 -4 -4 -5 -6 -8 -8 -8 -7 -6 -5 -2 2 6 6 5 3 1 -0 -0 0 1 2 3 3 3 3 3 2 2 2 2 2 1 1 1 1 0 0 0 0 1 1 2 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 7 8 9 10 12 13 15 17 19 20 21 22 22 22 23 24 26 27 28 29 30 30 30 31 31 31 31 31 31 32 32 33 33 34 35 35 36 35 35 34 34 33 33 33 34 34 34 33 33 33 33 32 32 31 30 28 27 25 24 22 20 19 18 16 16 15 14 14 13 12 12 12 12 13 13 13 13 13 14 15 15 16 16 17 17 17 18 18 18 17 16 15 14 14 13 12 12 11 10 10 10 9 9 8 7 6 4 3 2 0 -1 -2 -2 -3 -3 -2 -2 -2 -2 -2 -1 -1 21 20 18 18 17 15 14 13 13 12 11 9 7 5 4 4 3 3 3 4 5 5 6 6 5 4 2 1 -0 -1 -1 -1 -0 1 3 6 9 12 13 9 2 -6 -13 -18 -22 -24 -24 -22 -22 -23 -23 -23 -22 -21 -19 -18 -16 -15 -14 -14 -14 -13 -13 -12 -10 -8 -7 -5 -4 -2 -1 0 -1 -4 -7 -11 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -13 -15 -16 -16 -16 -15 -15 -16 -17 -15 -10 -6 -6 -11 -16 -15 -12 -11 -13 -14 -13 -13 -14 -16 -17 -16 -14 -11 -10 -9 -9 -10 -8 -8 -9 -12 -16 -18 -17 -14 -12 -11 -13 -15 -15 -15 -16 -16 -16 -16 -15 -15 -14 -14 -15 -15 -15 -14 -14 -14 -14 -13 -13 -12 -12 -12 -11 -10 -9 -9 -10 -10 -9 -8 -8 -9 -11 -12 -9 -5 -2 -2 -4 -7 -8 -7 -6 -5 -4 -3 -3 -4 -4 -4 -2 0 2 1 -1 -2 -2 -0 3 5 6 4 -0 -4 -4 -0 6 11 13 11 6 1 -1 -1 2 3 2 1 -1 -1 1 3 5 5 3 1 1 4 7 9 9 6 3 1 1 0 1 1 0 -2 -3 -4 -4 -5 -7 -8 -9 -8 -6 -5 -3 -1 2 5 6 5 4 2 1 0 0 1 2 3 3 3 3 2 2 2 2 2 1 1 1 1 0 0 0 0 1 1 1 2 2 3 3 3 2 2 2 2 2 2 2 2 3 3 4 4 5 6 7 8 9 10 11 13 14 16 18 19 19 20 21 23 24 26 27 28 29 29 30 30 30 30 30 30 30 30 31 31 32 32 33 34 34 34 34 34 34 34 34 34 34 34 34 34 34 33 33 33 33 32 31 30 28 27 25 24 22 21 19 18 17 16 15 14 13 13 13 13 13 13 13 13 13 14 15 15 16 16 17 17 17 17 17 18 18 17 17 16 15 14 14 13 12 12 12 12 12 12 11 10 9 8 6 5 3 2 1 -0 -1 -1 -1 -1 -1 -0 0 1 2 2 16 16 16 16 16 16 16 16 16 15 14 13 11 9 8 7 6 5 4 4 4 4 5 7 7 7 6 5 3 1 -2 -4 -6 -7 -7 -6 -2 5 12 16 15 9 0 -7 -14 -18 -20 -18 -20 -22 -24 -25 -25 -24 -24 -23 -21 -19 -18 -17 -16 -15 -14 -13 -12 -10 -9 -8 -6 -5 -3 -1 0 0 -1 -4 -6 -9 -11 -13 -14 -15 -14 -13 -11 -10 -10 -11 -13 -15 -17 -19 -19 -17 -15 -11 -7 -5 -9 -14 -14 -11 -9 -10 -13 -13 -12 -13 -15 -17 -17 -14 -10 -7 -6 -7 -8 -9 -9 -10 -13 -16 -18 -15 -12 -11 -11 -14 -16 -16 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -15 -15 -14 -14 -13 -13 -13 -13 -12 -12 -12 -11 -10 -9 -9 -9 -9 -9 -8 -8 -9 -11 -11 -10 -7 -4 -3 -4 -6 -8 -7 -6 -6 -6 -5 -3 -3 -3 -3 -3 -2 -1 -1 -2 -3 -3 -1 2 4 3 1 -4 -7 -5 -0 7 12 13 9 4 -1 -3 -1 2 3 2 -0 -1 -0 2 4 4 3 2 1 2 5 7 7 6 3 0 0 0 1 1 -0 -1 -3 -4 -5 -5 -6 -7 -8 -8 -6 -4 -3 -1 -0 2 4 5 5 4 3 2 1 1 1 2 3 4 4 3 2 2 1 1 1 0 0 0 -0 -0 -0 -0 -0 0 1 1 2 2 2 2 2 1 1 0 0 0 1 1 1 1 1 2 3 3 4 5 6 7 7 8 9 10 12 13 15 16 17 18 19 20 22 24 26 27 28 29 29 29 29 30 30 29 29 29 29 30 30 31 32 32 33 33 33 33 33 34 34 34 34 34 35 35 34 34 33 33 33 32 32 31 30 29 27 26 24 22 21 19 18 17 16 15 14 14 13 13 13 13 13 13 14 14 15 16 16 17 17 17 17 17 17 17 17 17 17 17 16 15 15 14 14 14 14 14 15 15 14 13 11 10 9 7 6 4 3 2 1 0 0 1 1 2 3 4 5 6 8 8 8 7 8 8 9 9 10 10 10 10 9 9 8 7 7 6 5 4 4 4 4 5 6 7 7 8 7 6 4 1 -3 -6 -9 -12 -12 -7 0 9 15 18 16 11 4 -4 -12 -18 -21 -22 -22 -20 -20 -22 -25 -26 -25 -23 -21 -20 -20 -19 -17 -16 -14 -13 -11 -9 -8 -6 -5 -3 -1 0 1 1 0 -2 -5 -9 -12 -14 -15 -14 -13 -11 -10 -10 -12 -15 -18 -21 -21 -18 -12 -8 -5 -7 -11 -14 -11 -9 -9 -11 -13 -13 -13 -15 -17 -17 -15 -11 -8 -6 -7 -8 -10 -12 -13 -15 -16 -17 -14 -11 -10 -12 -14 -16 -16 -15 -14 -14 -14 -14 -14 -14 -14 -13 -14 -14 -15 -14 -14 -13 -13 -13 -13 -12 -12 -12 -11 -11 -10 -9 -9 -9 -9 -8 -8 -8 -10 -11 -10 -8 -5 -4 -4 -6 -7 -7 -6 -6 -7 -7 -6 -3 -2 -2 -3 -3 -3 -3 -4 -5 -4 -3 -1 0 -1 -3 -6 -8 -7 -0 7 12 12 7 -0 -4 -4 -1 3 4 2 -0 -1 0 3 5 4 2 0 -0 1 5 7 6 3 -0 -2 -1 0 1 0 -1 -3 -4 -5 -6 -6 -7 -7 -7 -6 -4 -2 0 1 1 2 3 4 4 3 2 2 2 2 2 2 3 4 3 3 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -2 -1 -1 -0 0 0 1 1 1 0 -1 -1 -1 -1 -1 -0 -0 0 0 0 1 1 2 2 3 4 5 6 6 7 8 9 10 11 12 13 14 15 16 18 20 22 24 26 27 28 29 29 29 30 30 30 29 29 29 29 30 30 31 31 31 31 31 31 32 33 33 34 34 34 34 34 34 34 34 33 33 33 33 32 32 31 29 28 26 24 23 21 20 18 17 16 15 15 14 14 13 13 13 14 14 14 15 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 16 16 16 16 16 16 17 17 16 15 14 12 11 9 8 7 5 4 3 3 3 3 4 5 6 7 8 9 1 0 -0 -0 0 1 1 1 2 3 3 2 2 3 4 4 4 4 4 4 3 3 3 3 3 4 4 5 5 6 7 7 5 3 0 -4 -8 -10 -8 -3 4 11 15 17 15 12 7 1 -5 -10 -14 -18 -21 -20 -21 -24 -26 -26 -23 -22 -21 -21 -20 -20 -19 -17 -15 -13 -11 -9 -7 -6 -4 -2 0 2 3 2 -0 -2 -5 -8 -11 -12 -12 -12 -12 -13 -15 -16 -17 -18 -18 -16 -9 -6 -6 -8 -12 -12 -9 -8 -10 -12 -13 -12 -13 -15 -17 -16 -13 -9 -8 -9 -10 -13 -15 -16 -17 -17 -16 -14 -12 -11 -12 -15 -16 -16 -15 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -9 -8 -9 -9 -8 -8 -8 -9 -10 -10 -8 -6 -5 -5 -6 -7 -8 -7 -6 -7 -7 -7 -6 -3 -2 -2 -3 -4 -4 -5 -5 -5 -4 -3 -2 -3 -6 -8 -8 -6 -1 7 11 9 4 -4 -8 -6 -1 4 6 4 -0 -1 0 3 5 3 -0 -3 -3 -1 3 6 5 1 -3 -5 -3 -1 0 -0 -2 -4 -5 -6 -6 -7 -7 -7 -6 -3 -0 2 3 3 2 2 2 2 3 2 2 2 2 2 3 2 2 2 2 1 -0 -1 -1 -1 -1 -1 -2 -3 -3 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -2 -2 -1 -1 -1 -0 -0 -0 0 0 1 1 2 3 4 5 5 6 7 8 9 9 10 10 11 12 13 15 17 20 22 24 26 27 27 28 29 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 32 33 33 34 34 34 34 34 34 33 33 33 33 33 33 32 31 30 29 27 25 23 22 20 19 17 16 16 15 14 14 14 14 14 14 14 15 16 17 18 18 18 17 16 16 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 17 16 15 13 11 10 9 8 7 6 5 5 5 6 7 9 10 10 10 5 4 4 4 4 4 4 3 3 2 0 -3 -5 -4 -2 -0 1 2 2 2 2 2 2 2 2 1 1 0 -0 -1 0 2 3 4 4 3 1 -2 -5 -6 -4 -1 3 7 10 12 13 12 10 8 4 -1 -7 -14 -19 -24 -25 -24 -23 -23 -22 -21 -21 -22 -22 -22 -20 -18 -16 -14 -11 -9 -7 -5 -2 -0 1 1 1 1 0 -1 -3 -6 -8 -11 -14 -16 -16 -15 -14 -15 -15 -13 -8 -6 -7 -9 -11 -10 -8 -8 -11 -13 -13 -12 -13 -15 -16 -14 -11 -9 -10 -12 -14 -16 -17 -17 -17 -15 -14 -12 -12 -13 -15 -16 -16 -15 -14 -14 -14 -14 -15 -15 -15 -14 -14 -14 -14 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -9 -8 -8 -9 -9 -8 -8 -9 -10 -10 -9 -7 -6 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -5 -3 -3 -3 -3 -3 -4 -5 -6 -5 -5 -4 -5 -6 -8 -9 -7 -2 4 8 6 0 -7 -11 -7 -0 6 8 6 0 -2 -1 2 3 1 -3 -6 -6 -4 0 4 3 -1 -5 -7 -6 -3 -1 -1 -3 -5 -6 -6 -7 -7 -7 -6 -4 -0 2 3 3 2 1 -0 -0 1 1 2 2 2 2 3 3 3 2 1 -0 -1 -2 -3 -3 -3 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -4 -3 -3 -3 -2 -2 -1 -1 -1 -1 -0 -0 0 1 2 2 3 4 4 5 6 6 7 7 8 8 9 10 11 13 15 18 20 22 23 24 25 26 28 29 30 30 30 30 30 30 30 30 30 30 30 29 29 29 29 30 31 32 32 33 33 34 34 34 34 34 33 33 33 33 33 33 33 32 31 30 28 26 25 23 21 20 18 16 15 15 15 15 15 15 15 15 15 16 18 18 19 18 17 16 16 16 17 17 18 18 19 19 20 20 21 20 20 20 20 20 19 19 17 16 14 13 12 11 10 9 8 8 8 8 9 10 11 12 12 11 16 17 18 18 18 18 17 15 13 10 5 -1 -8 -9 -8 -5 -3 -1 -0 -0 0 1 1 2 2 3 2 1 -0 -2 -4 -5 -4 -4 -3 -1 0 0 -1 -3 -5 -6 -6 -3 0 4 7 9 10 11 12 12 9 3 -5 -12 -18 -21 -23 -22 -22 -22 -21 -22 -22 -22 -22 -21 -19 -18 -16 -14 -11 -9 -6 -4 -3 -3 -2 -1 0 1 2 0 -2 -6 -11 -15 -14 -13 -13 -15 -16 -12 -7 -6 -8 -10 -11 -8 -7 -9 -12 -12 -12 -11 -13 -15 -14 -12 -10 -10 -12 -14 -16 -16 -16 -16 -14 -13 -13 -13 -14 -16 -17 -16 -15 -14 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -8 -7 -8 -9 -9 -8 -7 -9 -10 -10 -9 -8 -7 -6 -5 -5 -6 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -3 -3 -4 -5 -5 -5 -5 -5 -6 -8 -9 -8 -4 1 5 3 -2 -8 -11 -8 -1 6 8 6 0 -4 -3 -0 1 -1 -5 -9 -9 -6 -2 1 2 -2 -6 -9 -8 -5 -2 -3 -5 -7 -7 -7 -6 -6 -6 -5 -2 1 3 2 1 -1 -3 -4 -3 -1 -0 1 1 2 3 4 4 4 2 0 -1 -2 -3 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 3 3 4 4 5 5 5 5 6 7 8 9 11 14 16 18 19 20 21 22 24 26 27 28 29 30 31 31 30 30 30 30 30 30 29 28 28 28 28 29 30 31 32 33 33 34 34 34 33 33 33 33 33 33 34 33 33 32 32 31 29 28 26 24 22 20 18 16 15 15 16 16 16 15 15 16 17 18 19 19 19 18 18 17 16 17 17 18 19 20 20 21 22 22 22 22 22 22 21 20 20 18 17 16 14 13 12 11 11 10 10 10 11 11 12 12 12 12 11 17 17 17 16 15 14 12 8 5 3 -1 -5 -9 -9 -9 -8 -7 -5 -3 -2 -2 -1 -0 1 2 3 4 4 3 2 -1 -4 -6 -7 -8 -8 -7 -5 -4 -3 -4 -5 -6 -6 -5 -3 -2 -0 1 3 6 10 13 14 11 5 -3 -10 -17 -20 -21 -21 -21 -20 -20 -20 -20 -19 -18 -18 -17 -16 -14 -12 -10 -8 -7 -7 -6 -6 -4 -3 -1 0 -0 -3 -6 -9 -10 -10 -14 -18 -18 -11 -6 -7 -10 -11 -10 -8 -8 -11 -12 -12 -11 -11 -14 -14 -13 -11 -10 -12 -13 -15 -15 -15 -14 -13 -13 -13 -14 -15 -17 -17 -16 -15 -14 -14 -15 -15 -16 -16 -16 -15 -15 -14 -14 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -8 -7 -8 -9 -9 -8 -7 -8 -10 -10 -9 -8 -7 -6 -6 -5 -5 -5 -6 -7 -7 -6 -5 -4 -4 -5 -6 -5 -4 -3 -2 -3 -4 -5 -6 -6 -6 -7 -8 -8 -7 -3 1 1 -3 -8 -11 -9 -2 5 7 4 -1 -5 -5 -3 -2 -3 -7 -11 -11 -7 -2 0 -0 -4 -8 -10 -9 -6 -3 -3 -6 -8 -9 -7 -6 -5 -5 -3 -2 1 2 1 -2 -5 -6 -6 -4 -2 -0 1 1 2 3 4 5 5 3 1 -1 -2 -3 -4 -4 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -0 0 0 1 1 2 2 2 3 3 3 4 4 4 4 5 6 8 10 12 14 15 16 17 18 20 22 23 24 25 27 28 29 30 30 30 30 30 30 30 29 28 28 27 27 27 28 29 30 31 32 33 33 33 33 32 32 32 32 33 33 33 33 33 32 32 32 31 30 28 26 23 20 17 16 16 16 17 17 17 17 17 17 18 19 19 20 20 19 18 17 17 17 19 20 20 21 22 22 23 24 24 24 23 23 22 21 20 18 17 15 14 13 12 12 12 12 12 13 13 13 13 13 12 11 8 7 6 4 3 3 2 3 2 1 -1 -3 -6 -7 -8 -8 -8 -6 -5 -4 -4 -3 -3 -2 -1 1 2 3 4 4 3 1 -2 -4 -7 -9 -11 -11 -10 -8 -6 -5 -4 -5 -5 -6 -6 -7 -7 -6 -4 -0 4 9 12 13 11 5 -3 -12 -17 -19 -20 -19 -19 -18 -16 -15 -15 -15 -15 -16 -15 -13 -11 -10 -9 -9 -9 -9 -9 -9 -8 -7 -6 -4 -2 -2 -4 -9 -15 -19 -18 -11 -8 -10 -12 -12 -10 -9 -11 -13 -13 -11 -11 -13 -15 -14 -12 -11 -11 -13 -14 -14 -14 -13 -12 -12 -13 -14 -16 -17 -17 -16 -15 -15 -15 -15 -16 -16 -16 -16 -15 -15 -14 -14 -14 -13 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -9 -8 -8 -9 -9 -8 -7 -7 -9 -11 -10 -9 -7 -6 -6 -6 -5 -5 -6 -7 -7 -6 -4 -2 -2 -4 -6 -7 -6 -4 -2 -2 -3 -4 -5 -6 -6 -6 -7 -8 -8 -7 -4 -2 -4 -8 -10 -8 -3 3 5 2 -2 -6 -7 -5 -3 -4 -7 -10 -11 -8 -3 -1 -1 -5 -10 -11 -10 -7 -4 -3 -6 -9 -9 -8 -5 -3 -3 -2 -1 0 -0 -2 -4 -7 -8 -6 -4 -1 1 2 2 2 2 4 5 5 4 1 -1 -2 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -4 -4 -4 -3 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 0 0 1 1 1 1 2 2 3 3 3 3 3 3 4 5 7 9 11 12 13 13 14 16 18 20 21 21 22 23 25 26 27 28 29 29 30 30 30 29 28 28 27 26 26 27 27 28 30 31 32 32 32 32 32 31 31 31 31 31 32 32 32 32 33 33 33 33 31 29 26 22 19 17 17 17 18 19 19 19 19 19 19 19 20 20 20 20 19 19 18 19 19 20 21 22 22 23 23 24 25 25 25 24 23 22 21 20 18 17 16 15 14 14 14 14 14 15 15 15 14 13 11 10 8 8 7 6 5 5 5 5 4 3 1 -1 -3 -4 -6 -6 -7 -6 -5 -5 -4 -4 -4 -4 -3 -2 -1 -0 0 1 2 2 2 1 -1 -3 -7 -10 -12 -12 -10 -8 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -4 1 6 11 12 10 4 -4 -11 -16 -17 -18 -17 -16 -16 -15 -15 -15 -15 -15 -14 -13 -12 -11 -10 -10 -10 -10 -11 -12 -14 -13 -8 -1 2 -1 -7 -14 -17 -16 -12 -12 -14 -14 -13 -11 -12 -14 -14 -13 -12 -14 -16 -16 -14 -12 -11 -12 -13 -14 -14 -13 -13 -12 -13 -15 -17 -17 -17 -16 -15 -15 -15 -15 -16 -16 -15 -15 -15 -15 -14 -13 -13 -13 -12 -12 -11 -12 -12 -12 -12 -11 -11 -10 -9 -8 -8 -8 -9 -9 -7 -7 -8 -10 -11 -10 -8 -7 -6 -6 -6 -5 -5 -6 -7 -6 -3 -1 -1 -3 -6 -8 -7 -5 -3 -1 -1 -2 -4 -5 -6 -6 -6 -7 -8 -9 -8 -6 -5 -7 -9 -8 -4 1 3 -0 -5 -8 -8 -6 -3 -4 -6 -9 -10 -8 -5 -3 -3 -6 -9 -11 -10 -7 -5 -3 -5 -8 -9 -7 -5 -2 -1 -0 -0 -1 -2 -4 -6 -8 -7 -5 -1 2 5 5 4 3 2 2 3 4 2 0 -2 -4 -4 -4 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 0 0 0 0 1 1 1 2 3 3 3 3 3 3 3 4 5 6 8 10 10 11 11 12 14 16 18 18 19 19 20 22 23 24 25 27 27 28 29 29 29 28 28 27 26 26 26 27 27 28 29 29 30 31 31 31 30 30 29 29 30 30 30 31 32 32 33 34 34 33 32 29 25 22 19 18 18 19 20 21 22 21 21 20 20 20 20 20 20 20 20 20 20 21 21 22 22 23 23 24 25 26 26 26 26 25 24 23 21 20 19 18 17 16 15 16 16 16 17 16 16 14 13 11 9 8 8 7 6 5 5 5 5 5 4 3 1 -0 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -0 1 3 3 2 -0 -4 -6 -8 -9 -9 -10 -11 -11 -10 -8 -6 -5 -5 -6 -7 -8 -7 -5 -1 3 7 10 8 3 -4 -11 -16 -17 -15 -15 -15 -16 -17 -17 -16 -16 -16 -15 -15 -14 -13 -12 -12 -12 -11 -10 -9 -7 -3 -1 -4 -9 -12 -12 -11 -13 -17 -17 -15 -14 -14 -16 -17 -15 -15 -15 -17 -17 -15 -13 -12 -13 -13 -14 -15 -14 -13 -13 -13 -15 -17 -17 -17 -16 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -8 -9 -9 -8 -7 -8 -10 -11 -11 -10 -8 -7 -6 -6 -6 -6 -6 -7 -6 -3 0 1 -1 -5 -8 -9 -7 -4 -1 0 0 -1 -4 -5 -6 -5 -5 -7 -8 -9 -9 -8 -8 -8 -7 -4 -1 1 -2 -6 -9 -9 -7 -4 -3 -5 -7 -8 -7 -6 -5 -5 -7 -8 -9 -9 -7 -5 -3 -3 -5 -6 -6 -4 -2 -0 1 -0 -2 -5 -7 -8 -8 -6 -2 2 6 9 9 6 4 2 1 2 2 1 -1 -4 -5 -6 -5 -5 -6 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -3 -3 -3 -3 -2 -2 -1 -0 0 -0 -0 -0 0 1 1 2 3 3 3 3 3 3 3 4 4 6 8 9 10 10 10 11 13 14 15 16 16 17 17 18 20 21 23 24 25 26 27 28 28 28 28 27 27 27 27 27 27 27 28 28 28 29 29 29 28 28 28 28 28 29 29 30 31 31 32 33 34 34 32 30 27 24 21 20 20 21 22 23 24 24 23 22 21 21 20 20 20 21 21 21 22 22 23 23 23 24 24 24 25 26 26 27 27 26 25 24 23 23 22 21 19 18 17 17 17 17 18 17 16 15 13 11 9 7 7 6 5 5 5 5 5 5 4 3 2 2 1 -0 -1 -2 -2 -2 -2 -1 -1 -0 -0 -0 -1 -2 -3 -4 -4 -5 -5 -5 -3 -0 3 6 7 7 5 2 -1 -4 -8 -11 -13 -14 -14 -12 -10 -8 -6 -5 -5 -5 -6 -7 -6 -4 -0 3 5 5 1 -5 -13 -16 -14 -13 -13 -14 -15 -15 -15 -15 -15 -16 -16 -16 -16 -16 -16 -17 -15 -13 -11 -10 -12 -13 -13 -11 -10 -9 -13 -18 -17 -16 -16 -17 -18 -17 -16 -17 -18 -19 -17 -15 -14 -14 -14 -15 -16 -16 -14 -13 -13 -15 -17 -17 -16 -15 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -13 -13 -12 -12 -12 -12 -11 -10 -10 -10 -10 -11 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -8 -9 -11 -12 -11 -9 -8 -7 -7 -6 -6 -6 -7 -6 -4 1 2 1 -3 -8 -10 -9 -6 -3 -0 1 1 -1 -4 -5 -6 -5 -5 -7 -9 -10 -10 -9 -7 -6 -4 -2 -1 -3 -6 -9 -10 -8 -5 -3 -3 -4 -6 -6 -6 -7 -8 -9 -9 -8 -7 -6 -5 -4 -3 -2 -3 -3 -3 -3 -2 -1 -1 -4 -7 -9 -9 -7 -4 1 6 10 12 11 8 4 1 -1 -0 1 0 -2 -5 -7 -7 -6 -6 -6 -7 -7 -6 -5 -4 -5 -5 -5 -5 -4 -4 -4 -3 -2 -2 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 -0 -0 -0 0 1 2 2 3 3 3 3 3 3 3 4 4 6 8 9 9 10 10 10 11 13 13 14 14 14 15 16 17 19 21 22 23 24 25 26 27 27 27 27 27 27 27 28 28 27 27 27 27 27 27 27 26 26 26 27 27 27 28 28 29 30 31 32 33 33 32 30 27 25 23 22 22 22 23 25 26 26 25 24 23 22 21 20 21 21 22 22 23 23 24 24 24 25 25 25 25 26 26 27 27 27 27 26 25 24 24 23 22 21 19 18 18 18 17 17 17 15 14 12 10 6 6 5 5 5 5 5 5 4 3 2 1 1 1 0 -0 -1 -1 -1 -1 0 1 1 2 2 2 2 1 -0 -1 -2 -4 -5 -6 -5 -3 -0 3 6 7 8 8 7 4 1 -3 -8 -13 -16 -17 -16 -14 -11 -8 -6 -5 -6 -7 -8 -8 -6 -3 1 3 3 -2 -9 -14 -14 -11 -8 -8 -8 -10 -12 -13 -14 -15 -15 -16 -17 -18 -18 -16 -13 -10 -8 -10 -14 -16 -15 -13 -12 -13 -17 -17 -17 -18 -19 -18 -17 -17 -18 -19 -18 -17 -15 -15 -15 -16 -17 -17 -16 -14 -14 -15 -17 -17 -16 -15 -15 -15 -15 -14 -14 -14 -15 -15 -15 -14 -13 -12 -12 -12 -12 -11 -11 -10 -9 -9 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -7 -8 -9 -11 -11 -11 -10 -9 -8 -7 -7 -6 -6 -7 -7 -5 -1 3 3 -1 -6 -9 -10 -8 -6 -2 0 1 1 -2 -4 -5 -6 -5 -5 -7 -9 -9 -9 -8 -6 -5 -3 -3 -3 -5 -7 -8 -8 -6 -5 -3 -3 -3 -4 -6 -8 -10 -11 -10 -8 -6 -5 -5 -5 -3 -2 -1 -1 -2 -3 -3 -3 -3 -4 -7 -9 -8 -6 -2 3 8 12 12 10 6 1 -3 -4 -3 -1 -0 -2 -5 -8 -8 -7 -6 -6 -6 -6 -6 -5 -4 -3 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 -0 -0 -0 -0 1 1 2 2 3 3 3 3 3 3 3 4 6 7 9 9 10 10 10 11 11 12 12 12 12 13 14 15 17 18 20 21 21 22 23 25 26 27 27 27 27 27 28 28 28 27 27 26 26 26 25 25 25 25 25 26 26 27 27 27 28 29 30 31 32 31 30 27 25 24 23 24 24 25 26 27 28 27 26 25 23 22 21 21 21 22 23 23 24 24 25 25 26 26 26 26 26 26 27 27 27 27 27 26 26 25 25 24 23 21 19 18 17 17 17 17 16 15 13 11 8 7 7 7 8 8 8 7 6 4 2 1 -0 -1 -2 -3 -4 -4 -4 -3 -2 -2 -1 -0 1 1 1 1 1 2 2 1 -0 -2 -4 -5 -5 -4 -2 1 3 5 8 9 10 9 6 0 -7 -13 -17 -19 -18 -16 -13 -10 -8 -7 -8 -10 -11 -10 -8 -4 0 3 0 -5 -10 -12 -11 -7 -3 -2 -3 -6 -8 -11 -13 -14 -16 -17 -16 -14 -13 -11 -9 -8 -9 -13 -15 -16 -14 -13 -15 -17 -18 -19 -18 -17 -17 -18 -19 -19 -18 -16 -16 -15 -16 -18 -19 -17 -15 -14 -15 -17 -18 -16 -15 -15 -15 -14 -14 -13 -14 -14 -15 -15 -14 -13 -12 -11 -11 -12 -11 -11 -10 -9 -9 -9 -10 -9 -9 -9 -8 -8 -8 -7 -6 -5 -6 -8 -10 -11 -11 -10 -10 -9 -9 -8 -7 -6 -6 -6 -7 -6 -3 2 4 1 -3 -7 -9 -9 -7 -5 -2 0 1 0 -2 -4 -5 -5 -5 -5 -7 -8 -8 -7 -6 -5 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -3 -2 -3 -6 -10 -13 -12 -8 -5 -3 -4 -6 -5 -3 -1 1 0 -2 -3 -4 -4 -4 -6 -7 -8 -6 -1 4 9 11 11 7 2 -4 -7 -8 -6 -4 -1 -1 -4 -7 -9 -8 -6 -5 -5 -5 -5 -4 -3 -3 -3 -4 -4 -4 -4 -3 -3 -2 -1 -1 -2 -3 -4 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 0 0 0 -0 -0 0 1 1 2 2 3 3 3 3 3 3 4 5 7 8 9 9 9 9 10 10 11 10 10 11 11 12 14 15 16 17 18 18 19 20 22 24 25 26 26 26 27 27 27 27 27 26 26 25 25 24 24 24 23 24 24 25 25 25 25 26 27 28 29 30 30 29 27 26 24 24 25 26 27 28 29 29 29 29 27 26 24 23 22 22 22 23 23 24 24 25 25 26 27 27 27 27 27 27 27 27 27 27 27 26 26 25 25 24 22 20 18 18 17 17 17 17 16 15 13 12 12 13 13 13 13 13 12 11 9 8 6 4 1 -2 -5 -6 -7 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -1 -0 1 2 2 2 0 -1 -3 -4 -5 -5 -4 -2 1 4 7 10 11 11 7 1 -7 -13 -18 -21 -20 -17 -14 -11 -10 -10 -12 -13 -13 -12 -8 -2 2 2 -1 -7 -11 -10 -7 -2 2 2 0 -3 -7 -9 -12 -13 -13 -13 -13 -12 -11 -8 -6 -9 -13 -15 -14 -12 -14 -17 -18 -18 -17 -16 -17 -18 -19 -18 -17 -16 -15 -16 -18 -20 -19 -17 -15 -16 -18 -18 -17 -15 -15 -15 -14 -14 -13 -13 -14 -15 -15 -14 -13 -12 -11 -11 -11 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -6 -5 -4 -6 -8 -10 -11 -10 -9 -9 -9 -9 -8 -8 -7 -6 -6 -7 -6 -4 -0 3 3 -1 -5 -8 -8 -7 -6 -4 -2 0 1 0 -2 -4 -5 -5 -5 -5 -7 -7 -7 -6 -4 -5 -5 -5 -5 -4 -4 -3 -4 -5 -7 -7 -5 -3 -2 -3 -7 -11 -12 -10 -6 -3 -3 -5 -7 -6 -4 -1 0 -1 -3 -5 -5 -5 -5 -6 -7 -6 -2 3 8 10 9 5 -1 -7 -10 -10 -8 -5 -2 -0 -2 -6 -9 -9 -7 -4 -4 -4 -4 -4 -3 -2 -3 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 0 1 1 1 1 -0 -0 -0 1 2 2 3 2 2 3 3 3 4 5 7 8 9 9 9 9 9 10 10 10 9 10 10 11 12 13 14 15 15 16 17 18 20 22 24 25 25 25 26 26 26 26 26 26 25 24 24 23 23 22 22 23 23 24 24 24 24 24 25 26 28 29 29 29 28 26 25 25 26 27 28 29 30 30 30 30 29 28 27 25 24 23 23 23 24 24 24 24 25 25 26 27 28 28 27 27 27 27 27 27 27 27 26 26 25 24 22 20 19 18 18 17 17 17 16 16 14 14 15 16 15 14 13 12 12 10 10 9 7 5 2 -1 -3 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -4 -3 -1 0 1 2 2 1 -1 -3 -4 -5 -6 -5 -4 -1 2 6 9 12 11 7 0 -7 -13 -17 -18 -17 -16 -14 -13 -13 -13 -14 -15 -14 -12 -6 -0 3 2 -2 -8 -11 -8 -3 1 4 4 1 -2 -6 -9 -10 -10 -10 -10 -10 -9 -8 -10 -12 -14 -13 -11 -13 -17 -18 -17 -16 -16 -17 -18 -19 -18 -17 -15 -15 -17 -20 -21 -19 -16 -16 -18 -19 -18 -16 -14 -14 -14 -14 -13 -12 -13 -14 -15 -14 -14 -13 -12 -11 -11 -12 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -6 -4 -3 -5 -8 -11 -11 -10 -8 -8 -8 -8 -8 -8 -7 -6 -6 -6 -7 -5 -2 1 4 2 -2 -5 -6 -6 -5 -4 -3 -2 0 2 1 -2 -4 -6 -6 -5 -5 -6 -6 -6 -5 -4 -6 -6 -6 -5 -3 -2 -2 -3 -5 -7 -7 -6 -4 -3 -3 -6 -9 -9 -8 -6 -5 -5 -6 -7 -6 -4 -1 -1 -2 -4 -5 -5 -4 -4 -6 -6 -4 0 6 9 9 5 -1 -7 -11 -11 -9 -6 -3 -1 -1 -5 -8 -9 -7 -5 -3 -3 -4 -4 -3 -3 -3 -5 -6 -7 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -0 1 1 2 2 1 0 -1 -1 0 2 2 2 2 2 3 3 3 4 5 6 8 8 8 8 8 9 9 9 9 9 9 10 10 11 12 13 13 14 14 15 16 18 20 21 23 24 24 24 24 24 24 25 25 24 23 23 22 22 22 22 22 22 23 24 23 23 23 24 25 26 28 28 28 28 27 26 26 26 27 28 29 30 30 31 31 31 30 29 27 25 24 24 24 24 25 25 25 25 25 26 27 28 28 28 28 27 27 27 27 27 27 27 26 25 24 22 21 20 19 18 18 17 17 17 16 15 12 12 12 10 8 6 5 5 5 6 5 4 2 1 -1 -2 -3 -4 -5 -5 -5 -5 -4 -4 -4 -6 -7 -8 -9 -9 -8 -6 -4 -2 -1 0 1 1 1 -1 -2 -4 -5 -6 -7 -6 -3 0 5 9 11 11 7 2 -4 -9 -12 -14 -15 -16 -16 -15 -14 -14 -15 -16 -14 -10 -4 0 3 2 -2 -8 -10 -8 -3 2 4 3 -1 -6 -8 -8 -7 -7 -6 -7 -8 -10 -12 -14 -15 -13 -12 -15 -16 -16 -16 -16 -17 -18 -19 -18 -16 -14 -16 -20 -22 -20 -17 -16 -18 -19 -19 -16 -14 -14 -14 -14 -13 -12 -13 -14 -14 -14 -14 -13 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -10 -9 -8 -6 -3 -2 -4 -8 -11 -12 -10 -8 -7 -7 -8 -8 -7 -6 -5 -5 -6 -7 -6 -4 -1 2 3 1 -3 -5 -5 -5 -4 -4 -3 -2 1 3 2 -2 -5 -7 -6 -4 -4 -5 -5 -5 -5 -6 -7 -7 -6 -4 -3 -2 -2 -3 -5 -6 -7 -6 -4 -3 -3 -4 -6 -7 -7 -7 -6 -6 -6 -5 -4 -3 -2 -2 -3 -5 -5 -4 -3 -4 -6 -5 -2 2 7 9 6 0 -6 -9 -10 -8 -6 -3 -1 -1 -3 -6 -8 -7 -5 -3 -3 -4 -5 -4 -4 -4 -5 -7 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 2 2 2 1 0 -1 -1 0 2 2 2 2 2 3 3 3 4 5 6 7 8 8 8 8 9 9 9 8 8 8 9 9 10 11 11 12 12 13 13 15 16 18 19 21 22 22 22 22 22 23 23 23 23 22 22 21 21 21 21 21 22 22 23 23 23 24 24 25 26 27 27 28 27 27 27 27 27 27 28 28 29 29 30 31 31 31 30 29 27 26 25 25 25 25 25 25 25 25 26 26 28 28 28 28 28 27 27 27 27 28 27 27 25 24 22 21 20 19 19 18 18 17 17 16 16 9 9 8 7 7 7 7 8 9 10 11 10 9 8 6 5 4 3 2 -0 -2 -2 -3 -3 -4 -6 -8 -10 -11 -12 -12 -11 -9 -7 -6 -4 -3 -1 -0 1 0 -0 -2 -3 -4 -6 -7 -7 -5 -2 3 7 10 11 9 6 2 -3 -8 -13 -16 -18 -17 -15 -14 -14 -15 -14 -12 -9 -4 0 3 3 -0 -6 -12 -12 -7 -4 -4 -5 -5 -5 -6 -6 -6 -5 -6 -8 -10 -12 -13 -12 -12 -14 -15 -15 -15 -16 -17 -19 -19 -17 -15 -15 -19 -22 -22 -18 -16 -17 -19 -19 -17 -14 -14 -14 -14 -13 -12 -12 -13 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -9 -9 -9 -9 -8 -6 -3 -2 -4 -8 -11 -12 -10 -8 -7 -7 -7 -7 -6 -5 -4 -4 -5 -6 -7 -5 -2 2 3 3 -0 -3 -5 -5 -4 -4 -5 -4 -1 3 5 2 -3 -7 -8 -6 -4 -4 -5 -5 -5 -6 -7 -7 -6 -4 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -4 -4 -3 -4 -6 -7 -7 -7 -6 -4 -3 -2 -1 -1 -2 -4 -5 -4 -3 -3 -4 -6 -5 -1 4 8 7 3 -3 -7 -8 -6 -4 -3 -2 -1 -2 -4 -6 -6 -5 -3 -2 -3 -5 -5 -5 -4 -5 -7 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -0 0 1 2 2 2 2 2 2 1 -0 -0 0 2 2 2 2 2 3 3 3 4 4 5 6 7 7 7 8 8 8 8 8 8 8 8 8 9 10 10 11 11 12 13 14 14 16 17 19 20 20 20 20 21 21 21 22 22 22 21 20 20 20 20 20 21 21 22 22 23 24 24 25 25 26 26 26 27 27 27 27 27 27 27 27 27 28 28 30 31 31 31 30 29 28 27 26 26 26 26 26 26 26 26 27 27 28 29 29 28 27 27 27 27 28 28 27 26 25 23 22 21 20 19 19 18 18 17 17 16 9 7 6 6 6 6 7 7 8 10 11 12 12 12 11 11 10 10 9 7 5 3 1 -0 -2 -3 -6 -8 -10 -12 -13 -13 -12 -11 -11 -9 -8 -7 -5 -3 -1 -0 0 1 0 -1 -3 -5 -7 -7 -6 -3 1 6 9 12 13 11 7 1 -6 -12 -15 -17 -16 -14 -13 -13 -13 -12 -11 -8 -5 -1 2 4 3 -1 -7 -11 -11 -9 -6 -6 -8 -9 -8 -6 -6 -7 -9 -10 -11 -10 -10 -12 -15 -15 -15 -16 -18 -19 -18 -16 -15 -18 -22 -22 -20 -17 -16 -18 -19 -17 -15 -14 -14 -14 -13 -12 -12 -13 -14 -14 -14 -14 -13 -13 -12 -12 -13 -13 -12 -12 -13 -12 -11 -10 -9 -9 -9 -8 -6 -4 -1 -3 -7 -11 -12 -11 -8 -6 -6 -6 -6 -5 -4 -3 -4 -4 -6 -6 -5 -2 1 4 4 2 -2 -4 -4 -4 -4 -5 -5 -3 1 5 5 0 -5 -8 -7 -5 -3 -4 -5 -5 -6 -7 -7 -5 -3 -2 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -3 -3 -4 -6 -6 -6 -4 -2 -0 1 2 1 -2 -5 -5 -4 -3 -3 -5 -5 -2 2 6 8 5 0 -3 -5 -4 -2 -2 -2 -1 -1 -2 -3 -4 -4 -3 -2 -2 -4 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -1 -0 1 2 2 3 2 2 2 2 1 0 -0 1 1 2 2 2 2 2 3 3 3 4 5 5 6 7 7 7 7 7 7 7 7 7 7 8 8 9 9 10 11 11 12 12 13 14 15 17 18 18 18 18 19 20 20 20 21 21 21 20 19 19 19 19 20 20 21 22 23 23 24 24 24 24 24 25 25 26 26 27 27 27 27 26 26 26 27 28 29 30 31 31 31 30 29 28 27 27 27 27 27 27 27 27 27 28 29 29 29 28 27 27 28 28 28 28 28 27 25 23 22 21 20 20 19 19 18 18 17 7 5 4 4 4 4 5 5 5 5 7 8 9 10 10 10 10 11 12 12 11 9 7 6 4 2 -0 -2 -4 -6 -8 -10 -11 -12 -12 -12 -12 -12 -10 -8 -6 -4 -3 -2 -1 -0 -0 -1 -2 -4 -5 -6 -5 -3 0 4 9 12 14 12 8 2 -4 -9 -14 -16 -15 -13 -11 -10 -10 -10 -9 -8 -5 -2 1 3 2 -2 -5 -8 -9 -9 -9 -8 -8 -7 -8 -9 -8 -9 -9 -11 -9 -9 -10 -12 -14 -16 -17 -17 -16 -16 -17 -20 -22 -20 -17 -16 -17 -18 -17 -15 -14 -14 -14 -13 -12 -12 -13 -14 -15 -15 -14 -14 -13 -13 -13 -13 -13 -13 -13 -14 -14 -13 -11 -9 -9 -9 -8 -7 -5 -3 -3 -7 -10 -11 -10 -8 -6 -6 -6 -6 -5 -4 -3 -3 -4 -5 -6 -5 -2 2 5 6 4 0 -3 -4 -4 -3 -4 -5 -4 -0 4 6 3 -3 -7 -8 -6 -4 -3 -4 -5 -6 -7 -6 -5 -2 1 1 0 -2 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -4 -4 -3 -2 0 2 3 3 1 -3 -5 -6 -5 -4 -4 -4 -2 1 5 7 6 2 -1 -3 -2 -1 -1 -2 -2 -2 -1 -1 -2 -3 -2 -2 -2 -4 -5 -5 -5 -4 -5 -6 -7 -6 -6 -6 -7 -7 -6 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -0 1 2 3 2 2 2 2 2 2 1 0 1 1 2 2 2 2 2 3 3 3 3 4 4 5 6 6 7 7 7 7 7 7 7 7 7 7 8 9 9 10 11 11 12 12 13 14 15 16 17 17 17 18 18 19 19 20 20 20 20 19 18 18 18 18 19 20 20 21 22 22 22 23 23 23 24 24 24 25 26 27 27 27 26 25 25 26 27 28 29 30 31 31 31 30 29 28 28 28 28 27 27 27 27 28 28 29 30 30 29 28 28 28 28 29 29 29 28 27 25 24 23 22 22 21 20 20 19 19 6 4 3 3 3 3 3 3 2 2 3 3 4 5 5 5 6 7 8 9 10 10 10 10 9 8 7 6 4 3 1 -1 -3 -5 -7 -9 -11 -12 -12 -11 -10 -9 -7 -6 -5 -4 -3 -2 -1 -2 -3 -4 -5 -5 -4 -2 2 6 10 13 13 11 8 4 -3 -10 -13 -13 -12 -10 -9 -9 -10 -11 -10 -8 -5 -2 0 1 -1 -4 -7 -8 -8 -7 -6 -7 -8 -9 -8 -8 -8 -10 -9 -7 -7 -8 -11 -14 -15 -15 -15 -15 -17 -20 -20 -18 -16 -15 -17 -17 -15 -14 -14 -13 -13 -12 -12 -13 -14 -15 -15 -15 -15 -14 -14 -13 -13 -13 -14 -14 -14 -15 -14 -12 -10 -9 -9 -9 -8 -6 -5 -5 -7 -10 -10 -9 -7 -6 -6 -6 -6 -5 -4 -3 -3 -4 -6 -6 -4 -1 3 7 8 6 3 -2 -4 -3 -2 -2 -3 -4 -2 2 5 5 -1 -6 -8 -7 -4 -3 -3 -4 -6 -6 -7 -5 -2 1 3 2 0 -2 -3 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -1 0 1 2 2 2 -1 -4 -6 -7 -6 -5 -4 -1 3 6 8 7 3 -1 -2 -1 0 -0 -3 -5 -4 -2 -0 -1 -2 -2 -2 -2 -3 -5 -6 -5 -4 -4 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -2 -1 1 2 2 1 1 1 2 3 2 1 0 1 2 3 3 3 2 3 3 3 3 3 4 4 5 5 6 6 6 6 6 6 6 6 6 6 7 7 8 9 9 10 11 11 12 13 13 14 15 16 16 16 17 17 18 18 18 19 19 19 19 18 18 17 18 18 19 19 20 20 20 21 22 22 23 23 23 23 23 24 25 26 26 26 25 25 26 26 27 28 29 30 31 31 31 30 29 28 28 28 28 28 28 28 28 29 29 30 30 30 29 29 29 29 30 30 30 29 28 26 25 24 23 23 22 22 22 21 20 5 5 3 3 3 3 3 2 1 0 1 1 0 0 1 1 2 2 3 4 5 6 7 7 7 7 7 7 7 7 7 6 5 4 2 -0 -3 -6 -8 -9 -10 -10 -9 -8 -7 -7 -6 -5 -4 -3 -3 -3 -3 -4 -4 -3 -2 1 4 8 10 12 12 12 9 4 -4 -9 -11 -11 -10 -9 -9 -10 -10 -9 -8 -7 -5 -2 -1 -2 -3 -5 -6 -6 -6 -6 -8 -9 -9 -8 -8 -9 -8 -5 -4 -6 -8 -12 -13 -13 -13 -15 -17 -19 -18 -16 -15 -15 -16 -15 -15 -14 -13 -13 -12 -12 -13 -14 -15 -16 -16 -16 -15 -14 -14 -14 -14 -14 -15 -15 -15 -14 -13 -11 -10 -9 -10 -10 -9 -7 -6 -7 -9 -9 -8 -7 -6 -6 -7 -7 -6 -4 -3 -4 -5 -6 -6 -5 -1 4 8 10 8 4 -1 -4 -3 -2 -1 -1 -3 -3 0 4 4 1 -5 -8 -7 -5 -3 -2 -3 -5 -6 -7 -6 -3 0 2 2 1 -1 -2 -2 -2 -3 -4 -5 -5 -5 -4 -4 -3 -3 -3 -3 -2 -1 0 1 1 1 1 -0 -2 -5 -6 -7 -7 -5 -2 3 7 9 8 5 -0 -2 -1 1 0 -3 -6 -6 -3 0 1 -2 -3 -3 -2 -3 -5 -6 -6 -5 -4 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -1 -0 1 1 0 0 1 2 2 2 1 0 1 2 3 3 3 3 3 3 3 3 3 4 4 5 5 5 6 6 6 6 6 6 5 5 5 5 6 7 8 8 9 10 11 11 12 13 13 14 15 15 16 16 16 17 17 17 18 18 19 19 19 19 18 18 18 18 18 18 19 19 20 21 22 22 22 22 22 22 23 24 25 26 26 26 26 26 26 27 28 29 30 30 31 31 31 30 29 28 28 28 28 28 28 28 29 30 30 30 30 30 30 30 30 30 30 30 29 28 27 26 25 24 24 23 23 23 23 22 5 4 3 2 1 1 1 1 -0 -1 -1 -1 -2 -2 -1 -1 0 1 1 2 2 2 2 2 2 2 2 3 3 4 4 5 6 6 6 5 5 3 -0 -3 -6 -8 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -1 1 4 6 8 10 12 14 15 9 1 -6 -10 -11 -10 -9 -8 -7 -7 -7 -8 -8 -6 -5 -3 -2 -3 -5 -6 -7 -8 -8 -9 -9 -8 -8 -7 -5 -3 -2 -2 -4 -8 -10 -11 -12 -13 -16 -18 -17 -16 -15 -15 -16 -15 -15 -14 -14 -13 -13 -14 -14 -15 -16 -17 -16 -16 -15 -14 -14 -14 -15 -15 -16 -16 -15 -13 -12 -11 -11 -12 -12 -11 -9 -8 -7 -8 -8 -8 -7 -7 -8 -8 -7 -6 -5 -4 -4 -5 -7 -7 -5 -1 3 8 10 8 4 -1 -5 -4 -1 1 1 -1 -3 -2 2 3 2 -3 -8 -8 -5 -3 -2 -3 -4 -6 -6 -6 -4 -2 1 1 -1 -2 -3 -2 -1 -1 -2 -3 -5 -6 -5 -4 -3 -2 -3 -3 -3 -2 -1 0 -0 -1 -1 -1 -2 -4 -5 -7 -8 -7 -4 1 7 10 11 7 2 -2 -2 0 1 -1 -6 -6 -3 -0 1 -1 -4 -5 -4 -3 -4 -6 -7 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 -0 -0 0 1 1 1 1 0 0 1 2 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 4 4 4 5 6 6 7 8 9 10 11 11 12 13 13 14 14 15 15 16 16 16 17 17 17 18 19 20 20 20 19 19 18 18 18 18 19 20 21 22 22 21 21 21 21 22 22 23 24 25 25 26 26 26 26 27 28 29 29 30 30 30 30 29 28 28 27 27 28 28 29 29 30 30 31 31 31 31 30 30 30 30 29 28 27 27 26 25 25 24 23 24 24 24 24 5 4 2 1 -0 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -2 -1 -0 1 2 2 2 1 0 -0 -1 -1 -1 -1 -1 0 1 2 3 4 5 5 6 5 3 -0 -3 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -4 -3 -1 1 2 4 6 7 9 11 16 18 14 6 -3 -8 -10 -9 -7 -6 -6 -6 -7 -7 -7 -6 -5 -4 -4 -4 -6 -8 -9 -9 -8 -8 -7 -6 -5 -5 -2 0 1 1 -2 -6 -8 -9 -12 -16 -17 -17 -16 -15 -15 -16 -16 -16 -15 -15 -15 -15 -15 -16 -17 -17 -17 -16 -15 -14 -14 -14 -15 -15 -16 -16 -15 -14 -12 -13 -14 -15 -15 -13 -11 -9 -8 -7 -7 -7 -7 -8 -9 -9 -9 -8 -6 -5 -5 -5 -7 -7 -5 -1 3 7 8 6 2 -3 -6 -5 -0 3 4 2 -2 -3 -1 2 1 -2 -6 -7 -6 -4 -3 -3 -4 -6 -6 -6 -5 -3 -1 -1 -2 -4 -5 -4 -3 -2 -1 -2 -3 -5 -6 -6 -4 -3 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -3 -4 -6 -8 -8 -7 -3 4 10 12 10 5 -1 -3 -1 0 -0 -3 -6 -4 -0 2 0 -4 -6 -4 -3 -3 -5 -7 -6 -5 -5 -6 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -7 -7 -7 -7 -8 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -1 -1 -0 -0 0 1 1 1 0 0 1 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 6 7 8 9 9 10 11 12 12 13 13 14 14 15 15 15 16 16 17 17 18 20 20 21 20 20 19 19 19 19 19 20 21 21 21 21 20 20 20 20 21 22 23 23 24 24 25 25 26 27 27 28 28 29 29 29 29 29 28 27 27 26 27 28 29 29 30 30 31 31 31 31 31 31 30 30 29 28 27 26 26 25 25 24 24 23 24 24 24 9 8 7 5 3 1 -0 -2 -3 -3 -2 -2 -2 -2 -3 -4 -4 -3 -1 -0 1 2 1 1 -0 -1 -2 -3 -3 -4 -3 -3 -2 -1 -0 0 1 3 4 4 3 1 -1 -4 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -4 -2 -1 1 3 5 6 6 7 10 16 20 18 10 0 -6 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -7 -8 -7 -6 -5 -4 -3 -3 -5 -6 -3 0 2 2 0 -3 -6 -10 -14 -16 -15 -14 -15 -16 -17 -16 -16 -15 -15 -16 -16 -16 -17 -18 -18 -17 -15 -14 -14 -14 -15 -15 -16 -16 -16 -15 -13 -13 -15 -18 -19 -17 -14 -10 -8 -7 -7 -7 -7 -9 -10 -11 -10 -9 -7 -6 -5 -6 -6 -7 -5 -2 2 6 7 4 -1 -5 -7 -6 -1 5 6 4 -0 -3 -3 -1 -0 -2 -4 -6 -5 -4 -3 -3 -4 -6 -6 -7 -6 -4 -2 -2 -3 -5 -6 -6 -5 -4 -3 -2 -3 -4 -5 -6 -6 -5 -3 -1 -0 -1 -2 -3 -3 -3 -2 -2 -1 -1 -2 -4 -7 -9 -9 -6 -1 6 11 12 9 3 -2 -2 -1 -0 -2 -4 -4 -1 2 1 -2 -6 -6 -3 -3 -4 -6 -7 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -2 -2 -1 -0 -0 -0 -0 0 1 1 0 0 1 2 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 3 3 4 4 4 5 6 6 7 8 8 9 10 11 12 12 13 13 13 13 14 14 15 16 16 17 18 19 20 21 21 21 20 20 19 19 20 20 20 21 20 20 19 19 19 20 20 21 22 22 22 23 24 25 26 27 27 28 28 28 28 29 29 28 27 26 25 26 27 28 29 30 30 30 31 31 31 31 31 31 30 30 29 28 27 26 25 25 24 24 23 24 24 24 13 13 13 12 10 8 5 2 0 -0 0 1 1 1 -1 -2 -3 -4 -3 -3 -1 0 1 1 1 0 -1 -2 -3 -4 -4 -4 -3 -3 -4 -4 -4 -3 -1 0 2 2 1 -1 -3 -5 -7 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -5 -3 -1 1 3 5 6 6 6 10 16 21 20 14 3 -3 -6 -7 -7 -7 -6 -5 -6 -6 -6 -5 -5 -6 -7 -8 -9 -8 -6 -5 -2 0 3 1 -1 1 4 6 8 9 5 -1 -6 -10 -11 -11 -12 -13 -15 -15 -15 -14 -14 -15 -16 -16 -16 -17 -17 -17 -16 -15 -14 -14 -14 -15 -16 -16 -16 -15 -14 -14 -16 -19 -21 -21 -17 -13 -9 -8 -7 -7 -7 -8 -10 -11 -11 -10 -8 -6 -5 -6 -6 -7 -6 -2 2 5 6 3 -2 -7 -9 -7 -1 5 8 6 1 -3 -5 -4 -2 -2 -3 -4 -4 -3 -3 -4 -5 -6 -6 -7 -6 -5 -4 -3 -4 -5 -6 -7 -6 -5 -4 -3 -4 -4 -5 -6 -6 -6 -5 -3 -1 0 -0 -2 -3 -4 -4 -2 -1 -0 -0 -2 -5 -8 -10 -9 -6 0 8 12 12 7 2 -2 -2 -1 -1 -3 -3 -1 2 2 -1 -5 -6 -4 -3 -3 -5 -7 -6 -6 -7 -8 -9 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -3 -3 -3 -4 -4 -3 -2 -0 -0 -1 -2 -2 -1 -0 -0 -1 -0 0 1 1 1 0 1 1 2 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 3 3 4 4 4 5 5 6 6 7 8 8 9 10 11 11 11 12 12 12 13 14 14 14 14 15 16 18 19 20 21 21 21 20 20 20 20 20 20 20 20 19 19 19 19 19 20 20 20 21 21 22 24 25 26 27 27 27 27 27 28 28 28 27 26 25 24 25 26 28 29 30 30 31 31 31 31 31 31 31 30 30 29 27 26 26 25 25 24 24 23 24 24 10 11 11 12 11 11 9 7 5 3 4 4 4 4 4 3 1 -1 -2 -3 -3 -1 -0 1 1 2 1 0 -1 -3 -4 -4 -4 -4 -5 -5 -6 -6 -5 -4 -3 -1 -0 -0 -1 -3 -5 -6 -7 -8 -8 -9 -9 -10 -10 -10 -9 -8 -6 -4 -2 0 2 4 6 6 8 11 16 19 19 14 8 2 -3 -6 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -7 -6 -2 3 9 11 7 5 5 8 12 15 12 6 -0 -3 -5 -6 -7 -9 -11 -11 -11 -11 -12 -13 -14 -14 -14 -15 -15 -15 -15 -14 -14 -14 -15 -15 -16 -17 -16 -15 -15 -16 -19 -22 -22 -19 -16 -12 -10 -8 -7 -7 -8 -10 -11 -11 -11 -9 -7 -5 -5 -6 -6 -6 -3 1 4 5 3 -2 -8 -10 -8 -3 4 8 7 2 -2 -5 -5 -4 -4 -4 -3 -3 -2 -3 -4 -5 -6 -6 -6 -6 -6 -5 -4 -4 -5 -6 -7 -6 -6 -5 -4 -4 -5 -6 -7 -6 -6 -6 -5 -4 -2 0 -0 -2 -4 -5 -4 -2 -0 1 0 -2 -6 -9 -10 -9 -5 2 9 12 11 6 1 -2 -3 -2 -2 -2 -1 1 2 -1 -4 -6 -5 -3 -3 -5 -7 -7 -6 -6 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -5 -3 -2 -2 -3 -3 -2 -1 0 0 -0 -1 -1 -1 -0 -0 -1 -0 1 2 2 2 1 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 7 8 8 9 10 10 10 10 11 11 12 12 12 12 13 14 15 17 18 20 21 21 21 21 20 20 20 20 20 19 19 19 18 18 19 19 19 19 19 19 20 22 24 25 26 26 26 26 26 27 27 27 27 26 25 24 24 25 26 27 29 29 30 30 30 30 30 30 30 30 30 29 28 27 26 26 25 24 24 23 23 24 4 5 6 7 7 8 8 7 6 5 5 5 6 6 7 7 5 4 2 1 -0 -1 -1 -0 1 2 2 2 1 -1 -3 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -5 -3 -3 -2 -3 -4 -5 -6 -7 -8 -8 -9 -10 -10 -11 -11 -12 -11 -9 -7 -4 -2 1 3 5 6 8 11 13 15 16 14 11 5 -0 -4 -5 -5 -4 -4 -5 -5 -6 -7 -8 -8 -8 -4 1 6 10 14 19 22 21 19 19 20 21 22 20 14 6 3 1 -0 -2 -4 -6 -6 -7 -8 -10 -11 -11 -12 -12 -13 -13 -14 -14 -14 -14 -14 -15 -16 -17 -17 -16 -16 -16 -19 -21 -21 -19 -17 -14 -12 -11 -9 -7 -7 -8 -10 -11 -11 -9 -7 -5 -5 -5 -6 -5 -4 -0 3 5 4 -1 -7 -11 -10 -4 2 7 7 2 -2 -5 -6 -6 -5 -5 -4 -3 -2 -2 -4 -6 -7 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -6 -6 -6 -6 -4 -2 -1 -1 -2 -4 -4 -3 -2 0 1 0 -3 -6 -9 -10 -8 -4 3 10 12 9 4 -1 -4 -4 -3 -2 -1 1 2 -0 -3 -6 -6 -4 -2 -4 -6 -7 -7 -6 -7 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -8 -8 -7 -8 -8 -8 -9 -9 -10 -10 -9 -7 -5 -2 -1 -1 -1 -2 -2 -0 1 1 0 -0 -1 -1 -1 -0 -0 -0 1 2 3 2 1 1 1 2 3 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 7 8 8 9 9 9 10 10 10 11 11 11 11 11 12 14 15 17 19 20 21 21 21 20 20 20 19 19 18 18 18 18 18 18 18 18 18 18 19 20 22 24 25 26 26 26 26 26 26 26 26 26 25 24 24 24 25 25 27 28 28 29 29 30 30 30 30 30 30 30 29 29 28 27 26 25 24 23 23 23 2 2 3 3 3 4 5 5 5 5 5 5 4 5 6 6 7 6 6 5 4 3 2 2 2 2 3 3 3 1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -6 -6 -7 -7 -8 -9 -10 -11 -12 -13 -14 -13 -12 -10 -8 -5 -3 0 2 4 6 8 9 12 14 14 12 8 2 -2 -4 -4 -5 -5 -6 -7 -7 -8 -7 -4 9 16 20 22 24 26 30 30 28 27 28 29 28 25 20 14 10 8 5 2 0 -1 -1 -3 -5 -6 -8 -8 -9 -10 -11 -12 -12 -13 -13 -14 -14 -15 -16 -16 -16 -16 -16 -18 -19 -19 -18 -16 -15 -13 -13 -11 -9 -8 -7 -8 -10 -10 -9 -7 -5 -4 -4 -5 -5 -4 -2 2 5 4 0 -6 -11 -11 -5 1 5 6 2 -2 -5 -6 -6 -6 -6 -5 -4 -3 -2 -3 -5 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -3 -2 -2 -3 -3 -3 -3 -1 -0 0 -1 -3 -6 -9 -9 -7 -2 5 10 10 7 1 -3 -5 -4 -2 -0 2 3 1 -3 -5 -6 -4 -2 -3 -5 -6 -7 -6 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -8 -8 -8 -9 -9 -9 -10 -10 -9 -8 -5 -2 0 1 0 -1 -1 -0 1 1 1 0 -1 -1 -1 -0 0 0 1 3 3 3 2 1 2 2 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 7 7 8 8 9 9 9 9 9 9 10 10 10 11 12 14 15 17 18 19 20 20 20 19 19 18 18 17 17 17 17 17 17 17 17 17 17 18 20 21 23 24 25 26 26 25 25 25 25 26 26 25 25 24 24 24 24 25 26 27 28 29 29 29 29 29 29 29 29 29 29 28 26 25 24 23 23 23 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 5 5 5 5 6 5 5 5 5 6 6 5 3 1 -1 -2 -2 -2 -3 -3 -2 -2 -3 -4 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -9 -10 -12 -13 -14 -15 -15 -14 -13 -11 -9 -6 -3 -0 2 3 4 6 9 12 13 12 8 2 -2 -5 -6 -8 -8 -10 -6 0 5 9 20 26 29 29 30 33 37 37 35 33 32 33 31 30 27 24 18 15 11 8 6 4 3 1 -1 -3 -4 -6 -7 -8 -9 -9 -11 -12 -12 -13 -13 -14 -15 -15 -15 -15 -16 -17 -18 -17 -16 -15 -14 -13 -12 -10 -9 -8 -8 -9 -9 -9 -7 -5 -4 -3 -4 -5 -5 -3 0 4 5 2 -4 -9 -11 -7 -1 3 4 2 -2 -5 -5 -6 -6 -6 -6 -5 -4 -3 -3 -5 -6 -7 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -6 -7 -6 -5 -4 -3 -3 -3 -3 -3 -2 -1 -0 -0 -2 -4 -6 -8 -7 -5 0 7 9 8 4 -1 -5 -4 -3 0 3 4 3 -1 -4 -6 -5 -3 -2 -3 -5 -6 -6 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -5 -1 1 2 2 0 -1 -1 0 2 2 1 -1 -2 -1 -0 1 1 1 2 3 3 3 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 7 7 8 8 8 9 9 8 8 8 8 9 9 9 10 12 13 15 17 18 19 19 19 18 17 17 16 16 16 15 15 16 16 16 16 17 17 18 19 21 22 24 25 25 25 25 25 24 25 25 26 25 25 24 23 22 23 24 25 26 27 28 28 28 28 28 28 29 29 29 28 27 26 25 23 23 23 7 8 8 7 7 6 6 6 5 5 5 5 5 4 3 3 3 2 2 2 3 3 4 4 5 5 6 7 8 8 7 6 4 3 1 0 -0 -1 -0 -0 -0 -2 -4 -6 -6 -7 -6 -6 -7 -7 -7 -7 -7 -7 -7 -9 -10 -11 -13 -14 -15 -16 -16 -15 -14 -12 -8 -5 -3 -0 1 2 3 6 9 11 11 6 1 -4 -8 -9 -9 -5 3 13 20 22 26 30 32 34 36 40 44 44 41 38 36 35 34 33 33 32 27 24 20 16 13 10 8 5 3 1 -1 -3 -4 -5 -6 -7 -8 -10 -11 -11 -12 -12 -13 -13 -13 -14 -15 -16 -16 -15 -15 -14 -13 -12 -10 -10 -9 -9 -9 -8 -7 -6 -4 -3 -3 -4 -5 -5 -4 -2 2 4 2 -3 -7 -10 -7 -2 2 2 1 -2 -4 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -7 -8 -7 -7 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -7 -6 -6 -5 -4 -5 -6 -6 -6 -6 -5 -4 -4 -4 -3 -3 -3 -2 -1 -1 -1 -2 -4 -6 -6 -5 -2 2 6 7 4 0 -3 -5 -3 0 3 5 5 2 -2 -5 -5 -3 -2 -2 -4 -5 -6 -6 -6 -7 -7 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -7 -4 -0 3 4 3 1 -1 -1 0 2 3 1 -1 -2 -1 0 1 1 1 2 3 3 3 3 2 2 2 2 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 4 4 5 5 5 5 5 5 6 6 7 7 8 8 8 8 8 7 7 7 8 8 8 9 10 12 13 15 16 17 17 17 16 15 15 14 14 14 14 14 15 15 16 16 17 17 18 19 20 22 23 24 24 24 24 24 24 24 25 25 26 25 23 21 21 22 23 24 25 26 27 27 27 27 27 28 28 29 29 28 27 25 24 23 22 6 6 7 7 7 7 7 7 6 6 6 7 7 7 6 6 5 5 4 3 2 2 1 1 1 2 3 5 7 8 8 8 8 7 5 4 2 1 1 2 2 1 -1 -4 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -7 -7 -8 -9 -11 -12 -14 -15 -17 -17 -17 -16 -13 -10 -7 -4 -3 -2 -1 1 4 7 9 8 4 -1 -6 -9 -7 10 18 22 25 27 31 34 37 39 42 46 49 47 45 43 41 40 39 37 37 37 36 33 29 25 21 17 14 11 8 6 4 1 -1 -3 -4 -5 -6 -7 -8 -9 -10 -10 -10 -11 -11 -12 -12 -13 -14 -14 -13 -13 -11 -10 -9 -9 -9 -10 -9 -7 -5 -3 -2 -2 -3 -4 -5 -5 -3 -0 2 2 -2 -6 -8 -7 -3 -0 1 -0 -2 -4 -4 -5 -5 -6 -6 -6 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -7 -7 -7 -5 -4 -4 -4 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 -1 -2 -4 -5 -5 -3 -1 3 4 3 1 -2 -3 -2 1 4 6 6 4 -0 -3 -4 -4 -3 -2 -3 -4 -5 -5 -6 -6 -7 -7 -7 -7 -6 -6 -7 -7 -8 -8 -8 -8 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -6 -3 1 4 5 4 1 -1 -1 1 3 3 0 -2 -2 -2 -0 1 1 1 1 2 3 3 3 2 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 6 6 7 7 8 8 8 7 7 7 7 7 7 7 7 8 9 10 11 13 14 15 16 15 14 13 13 12 12 12 13 13 14 15 16 16 16 17 18 19 20 21 22 23 23 24 23 23 23 23 24 26 25 23 21 20 20 21 22 23 24 25 26 26 26 26 26 27 28 28 28 27 26 24 23 22 1 1 2 3 4 4 5 5 5 5 6 6 7 7 7 7 7 7 6 6 5 4 2 1 0 -1 -1 1 2 4 6 7 7 7 7 6 4 3 2 3 4 4 3 0 -2 -3 -4 -4 -5 -6 -7 -8 -9 -8 -7 -7 -7 -7 -8 -10 -11 -13 -15 -17 -17 -17 -15 -13 -11 -9 -6 -5 -4 -3 -2 1 3 5 4 2 -3 -7 -10 9 20 26 30 33 36 39 41 44 48 52 51 49 48 47 47 47 46 45 44 42 41 40 38 35 30 26 22 18 15 12 9 6 3 1 -1 -2 -3 -5 -6 -7 -7 -8 -8 -8 -9 -9 -9 -10 -10 -11 -11 -10 -9 -8 -8 -9 -9 -9 -8 -6 -3 -1 -1 -2 -3 -5 -5 -4 -1 1 1 -2 -5 -7 -7 -4 -1 -1 -1 -2 -3 -4 -4 -6 -6 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -7 -7 -7 -6 -5 -4 -3 -4 -5 -6 -6 -5 -4 -4 -4 -4 -5 -5 -4 -2 -0 0 -1 -3 -5 -5 -4 -3 -1 1 1 -0 -2 -2 -1 2 5 7 7 5 2 -2 -4 -4 -3 -3 -3 -4 -5 -5 -5 -6 -6 -7 -7 -6 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -5 -2 2 5 5 3 0 -2 -1 1 3 2 -0 -2 -3 -2 -0 1 1 1 1 2 2 3 3 3 2 2 2 2 3 3 3 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 7 7 7 7 7 7 7 6 6 6 6 6 7 7 8 9 10 12 13 14 14 13 12 12 11 11 11 11 12 13 14 15 15 15 16 17 18 19 20 21 22 22 23 23 22 22 22 23 24 25 24 22 20 19 20 20 21 23 24 25 25 25 25 25 25 26 27 27 27 26 25 24 23 -1 -1 -1 -0 1 1 2 3 3 4 4 5 5 5 6 6 6 7 7 7 7 6 5 4 3 1 -1 -1 -1 1 2 3 4 5 5 5 4 3 3 3 4 5 6 5 3 1 -0 -1 -2 -2 -4 -5 -7 -9 -8 -7 -7 -6 -7 -8 -9 -11 -13 -15 -17 -17 -16 -15 -13 -11 -10 -8 -7 -6 -6 -4 -2 -0 1 1 -0 -4 -9 -6 11 24 30 35 38 40 41 44 49 53 52 50 49 48 49 50 50 49 49 48 48 47 44 42 38 34 30 26 22 19 15 11 8 5 3 1 -1 -2 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -7 -8 -9 -8 -7 -5 -2 -1 -1 -2 -3 -4 -4 -2 -0 0 -1 -4 -6 -6 -4 -3 -2 -2 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -8 -7 -6 -4 -3 -2 -3 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -4 -2 -1 -0 -1 -3 -5 -5 -4 -3 -2 -1 -2 -2 -1 0 3 6 8 8 6 2 -1 -3 -4 -4 -3 -3 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -9 -9 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -4 -0 3 5 5 2 -1 -2 -1 1 2 1 -1 -2 -3 -2 -1 0 1 1 1 1 2 2 3 3 3 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 7 7 7 7 7 6 6 6 6 6 6 6 6 7 7 8 9 11 12 12 12 12 11 10 10 10 10 11 12 13 14 14 15 15 16 17 18 19 20 21 21 22 22 22 21 21 21 23 24 24 24 22 20 19 19 20 21 22 23 24 24 24 24 24 25 25 26 26 26 25 24 23 -1 -1 -1 -1 -1 -0 0 1 2 2 3 3 3 3 3 4 4 4 5 5 6 7 7 7 6 5 3 1 -0 -0 1 1 1 2 2 3 3 2 2 2 3 4 6 7 6 5 3 2 2 1 1 -1 -3 -6 -8 -8 -6 -6 -6 -6 -6 -7 -9 -12 -15 -17 -17 -16 -14 -13 -11 -10 -9 -8 -8 -8 -7 -5 -3 -3 -3 -4 -6 -9 -3 11 25 33 38 41 43 45 49 52 52 51 50 49 48 45 44 44 45 44 42 44 46 45 43 39 36 32 28 25 21 16 13 9 7 4 2 1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -5 -6 -7 -6 -5 -4 -2 -1 -1 -2 -3 -3 -1 0 0 -1 -3 -5 -5 -4 -3 -3 -3 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -8 -7 -6 -4 -2 -2 -2 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -3 -5 -5 -5 -4 -3 -2 -1 -0 2 4 7 9 9 6 2 -1 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -9 -9 -8 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -5 -3 1 3 4 3 1 -2 -2 -2 0 1 0 -1 -2 -2 -2 -1 0 1 1 1 1 1 1 2 3 3 3 2 2 2 2 2 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 7 7 7 7 6 6 6 6 6 6 6 6 6 6 7 8 9 10 11 11 11 10 9 9 9 9 10 11 12 13 13 14 15 16 17 18 19 19 20 21 21 21 21 21 20 20 21 23 24 24 23 21 19 18 19 20 21 22 22 23 23 23 23 24 24 25 25 26 26 25 24 -0 -0 -0 -0 -0 -0 0 1 1 2 2 2 2 2 2 2 2 2 2 3 3 4 5 5 6 6 6 5 3 2 2 2 2 2 2 2 2 2 2 2 2 3 4 5 5 4 3 2 2 3 3 3 1 -3 -6 -7 -6 -5 -5 -5 -5 -5 -6 -8 -11 -15 -17 -17 -16 -15 -13 -11 -10 -9 -9 -9 -8 -6 -5 -4 -5 -6 -7 -9 -9 0 17 33 43 50 52 51 50 51 51 51 50 46 42 39 39 42 44 45 43 43 45 47 46 43 40 37 33 30 26 22 18 14 11 9 6 4 3 1 1 1 1 1 1 1 1 1 2 2 3 3 2 1 -1 -3 -4 -4 -3 -3 -2 -2 -2 -1 -1 0 1 1 -0 -2 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -6 -7 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -7 -7 -7 -6 -6 -6 -7 -7 -7 -6 -6 -6 -5 -5 -6 -7 -7 -8 -7 -5 -3 -2 -1 -2 -3 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -4 -3 -1 1 3 6 8 10 8 6 2 -1 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -9 -8 -7 -6 -5 -5 -5 -6 -7 -8 -8 -8 -7 -6 -4 -2 1 3 3 2 -0 -2 -2 -2 -0 1 1 -0 -1 -2 -2 -1 0 1 1 0 0 0 1 1 2 3 3 3 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 7 7 7 6 6 6 6 6 5 5 5 5 5 6 6 7 8 10 10 10 10 9 8 8 8 9 10 11 11 12 13 14 15 17 17 18 19 19 20 21 21 21 21 20 20 21 22 23 24 24 22 20 19 18 19 20 20 21 21 22 22 23 23 23 24 25 25 25 25 24 -0 -0 -0 -0 -0 -0 0 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 3 3 3 2 2 3 3 3 3 2 2 1 1 1 1 1 2 3 4 3 2 1 1 2 3 4 4 2 -2 -6 -7 -6 -5 -4 -4 -4 -4 -4 -7 -10 -13 -15 -15 -15 -14 -13 -11 -9 -7 -5 -4 -3 -1 -1 -2 -4 -5 -8 -9 -3 12 31 43 49 51 50 47 45 42 42 42 39 34 33 35 39 43 45 45 44 47 49 49 46 43 40 37 34 31 27 23 20 17 14 11 9 7 6 5 5 5 5 5 5 5 5 5 6 7 7 7 5 3 1 -0 -1 -1 -1 -1 -1 -1 1 2 3 3 1 -1 -3 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -5 -6 -7 -8 -8 -6 -5 -3 -1 -1 -2 -3 -4 -5 -5 -5 -5 -4 -3 -2 -2 -3 -4 -5 -5 -4 -4 -4 -5 -4 -3 -0 2 5 7 9 10 8 5 2 -1 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -6 -6 -6 -7 -8 -9 -8 -7 -5 -5 -5 -5 -5 -6 -7 -9 -9 -8 -7 -6 -4 -2 0 1 1 1 -1 -2 -2 -2 -1 1 1 0 -1 -1 -1 -0 1 1 0 0 0 0 0 0 1 2 3 3 2 1 0 0 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 5 5 6 7 8 9 10 9 8 7 7 7 8 9 10 10 11 12 13 15 16 17 17 18 19 19 20 20 21 21 21 21 21 21 22 23 24 23 22 20 19 18 19 20 20 21 21 21 22 22 22 23 24 24 25 25 24 -1 -2 -2 -2 -2 -1 -1 -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 1 1 1 1 1 0 -0 -1 -1 -1 -0 0 2 2 2 1 0 0 1 3 5 5 3 -2 -6 -7 -7 -5 -4 -4 -3 -3 -3 -5 -9 -11 -13 -14 -13 -10 -6 -3 0 2 3 3 4 5 4 3 1 -1 -1 3 12 25 34 37 38 37 34 30 25 29 32 33 31 32 34 38 42 46 47 48 50 51 50 48 46 44 41 38 35 32 29 26 23 20 18 16 13 12 10 10 10 10 10 10 10 10 10 10 10 11 10 10 8 6 4 3 2 1 0 0 1 2 3 3 2 0 -2 -3 -4 -5 -5 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -8 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -7 -7 -6 -4 -2 -1 -1 -2 -3 -3 -4 -5 -6 -5 -4 -3 -1 -1 -3 -5 -6 -6 -5 -5 -4 -3 -2 1 4 6 8 9 9 8 5 2 -1 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -7 -6 -4 -4 -4 -5 -5 -6 -8 -9 -9 -8 -7 -6 -4 -3 -1 0 0 -0 -1 -2 -2 -2 -1 1 1 0 -1 -1 -1 0 1 0 0 -0 -0 0 0 -0 0 1 2 3 2 1 0 -0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 3 3 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 5 5 6 7 8 9 9 8 7 6 6 7 8 8 9 10 11 13 14 15 15 16 17 17 18 19 20 21 21 22 22 21 21 22 22 23 23 23 21 20 19 19 19 20 20 20 20 21 21 22 22 23 24 24 24 24 -3 -3 -4 -4 -4 -3 -3 -2 -1 0 1 0 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -1 1 1 1 -0 -1 -1 1 3 5 6 3 -2 -6 -8 -7 -5 -4 -4 -3 -2 -3 -4 -7 -10 -12 -11 -7 -1 5 9 10 10 9 10 10 10 10 9 10 11 13 16 20 22 22 22 20 17 13 13 20 27 32 34 36 37 40 43 47 50 52 52 51 49 48 48 46 44 42 39 36 34 31 29 27 25 23 20 18 17 16 16 16 16 16 15 15 14 14 14 13 13 13 12 11 9 7 5 4 3 3 2 2 2 2 1 0 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -5 -3 -2 -1 -1 -2 -3 -3 -3 -4 -5 -5 -4 -3 -1 -1 -3 -4 -5 -6 -5 -4 -3 -0 2 5 7 9 9 8 7 4 1 -1 -3 -4 -4 -5 -5 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -8 -7 -5 -4 -4 -4 -4 -5 -7 -9 -10 -9 -8 -7 -6 -5 -3 -2 -1 -0 -0 -1 -2 -3 -2 -1 0 1 -0 -1 -1 -1 0 1 0 -0 -1 -0 0 0 -0 -0 0 1 2 2 1 1 0 0 0 0 0 0 0 0 -0 -0 -0 -0 0 0 0 1 1 0 0 0 0 1 1 1 2 2 2 2 2 3 3 4 4 5 5 6 6 6 6 6 6 5 6 6 6 6 6 5 5 5 4 4 4 4 5 5 6 7 8 8 8 7 6 5 6 6 7 8 9 11 12 13 14 14 15 16 16 17 18 19 20 21 22 23 23 22 22 22 23 23 23 22 21 19 19 19 19 20 20 20 20 21 21 21 22 23 24 24 24 -1 -1 -1 -1 -1 -1 -0 1 1 2 1 0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -5 -5 -5 -6 -5 -4 -2 -1 -1 -1 -2 -2 -1 0 3 6 7 3 -2 -7 -9 -7 -6 -5 -4 -4 -3 -3 -4 -7 -10 -12 -9 -2 5 11 15 15 15 15 14 14 13 13 14 16 19 20 20 19 16 15 13 11 8 13 21 29 35 39 41 42 43 45 48 50 51 51 49 47 47 49 49 47 45 43 40 38 36 35 33 32 30 28 26 24 23 22 22 21 21 21 20 19 18 17 16 16 15 15 14 13 11 10 8 7 5 4 3 2 2 1 0 -0 -1 -2 -2 -3 -4 -4 -5 -6 -6 -7 -7 -8 -8 -9 -9 -8 -7 -7 -7 -7 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -7 -7 -6 -4 -3 -1 -1 -2 -3 -3 -3 -3 -4 -5 -5 -4 -3 -1 -1 -2 -3 -4 -4 -4 -2 0 3 6 7 8 8 7 5 3 0 -2 -3 -3 -4 -5 -5 -5 -4 -4 -5 -6 -6 -7 -8 -8 -8 -7 -6 -6 -6 -6 -7 -6 -6 -7 -8 -9 -10 -10 -8 -6 -5 -4 -4 -4 -4 -5 -7 -9 -10 -10 -9 -8 -7 -6 -4 -2 -1 -0 -0 -1 -2 -3 -3 -1 -0 -0 -1 -1 -1 -1 0 1 0 -0 -1 -0 -0 -0 -0 -0 -0 0 1 1 2 1 1 0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 0 -0 -0 -0 0 1 1 1 1 1 2 2 3 3 4 4 5 6 6 7 7 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 5 6 6 7 7 7 6 5 5 4 5 6 7 8 10 11 12 13 13 14 15 15 16 17 19 20 22 23 24 24 24 24 23 23 23 23 23 22 20 19 19 19 19 20 20 20 20 20 21 21 22 23 24 24 3 4 5 5 5 6 6 7 7 7 6 5 3 1 0 -1 -1 -0 -0 -0 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -2 -3 -4 -6 -7 -7 -7 -7 -8 -8 -7 -5 -4 -3 -2 -3 -3 -3 -3 -1 3 7 8 4 -2 -8 -9 -7 -6 -5 -5 -4 -4 -4 -5 -7 -9 -10 -9 -3 5 12 16 18 18 17 16 14 14 16 18 20 23 24 23 21 18 15 13 11 13 21 29 35 40 43 44 45 45 46 47 49 49 47 46 48 50 50 50 49 46 44 42 40 39 39 37 36 34 32 30 29 28 27 26 26 25 25 24 22 21 20 19 18 17 16 15 15 14 12 10 8 6 4 3 2 1 0 0 0 0 -0 -2 -3 -4 -5 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -7 -7 -8 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -7 -6 -5 -3 -2 -1 -1 -2 -3 -3 -3 -3 -4 -4 -4 -4 -2 -1 -1 -2 -2 -3 -3 -2 0 2 4 5 5 5 4 3 1 -1 -2 -3 -3 -4 -5 -5 -5 -4 -4 -5 -6 -7 -8 -8 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -10 -11 -11 -10 -8 -6 -5 -4 -4 -4 -4 -6 -8 -9 -10 -10 -10 -9 -8 -6 -5 -3 -1 -1 -1 -2 -3 -3 -3 -2 -1 -1 -2 -2 -2 -1 0 1 0 0 -0 -0 -0 -0 -0 -0 -0 -0 0 1 1 1 1 0 -0 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -0 -0 0 0 1 1 1 2 2 3 3 4 4 5 6 6 7 6 6 6 6 6 6 6 6 6 5 4 4 4 4 4 4 5 5 5 6 7 7 6 5 4 4 4 5 6 7 8 10 11 12 12 13 14 14 15 17 18 20 22 23 24 25 26 25 25 24 24 24 24 23 21 19 18 18 19 19 19 19 19 20 20 20 21 22 23 23 5 6 6 7 8 8 10 11 11 12 12 11 9 6 4 2 0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -1 -2 -3 -5 -8 -9 -9 -9 -9 -10 -9 -8 -7 -6 -5 -6 -6 -6 -6 -5 -2 2 7 8 4 -4 -9 -9 -8 -7 -6 -6 -5 -5 -5 -6 -7 -8 -8 -6 -1 5 10 13 16 18 18 17 17 17 18 20 23 25 25 25 23 21 18 14 13 16 21 27 34 41 44 44 44 44 44 48 50 52 51 48 47 49 51 51 49 47 45 44 43 42 41 40 38 37 35 34 33 32 31 30 29 28 27 26 25 23 22 20 19 18 17 17 17 16 14 12 10 8 6 3 2 1 1 1 1 1 -0 -1 -3 -4 -5 -6 -6 -7 -7 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -4 -2 -1 -1 -2 -3 -3 -3 -3 -3 -3 -4 -4 -3 -2 -1 -1 -1 -2 -3 -2 -1 1 2 3 2 1 1 -0 -1 -2 -3 -3 -3 -4 -5 -5 -5 -4 -4 -4 -6 -7 -8 -9 -9 -9 -8 -8 -7 -7 -7 -8 -8 -7 -8 -9 -10 -11 -12 -12 -10 -8 -6 -5 -4 -4 -4 -5 -6 -8 -9 -10 -11 -11 -10 -9 -7 -5 -3 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 0 1 1 0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 1 1 1 -0 -1 -2 -2 -2 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 0 0 1 1 2 3 3 4 4 5 5 6 6 6 6 5 5 6 6 6 5 5 4 4 3 3 4 4 4 4 5 5 6 6 6 5 4 3 3 4 5 6 7 8 9 10 11 12 12 13 14 16 17 19 21 23 24 25 26 27 26 26 25 25 24 24 22 20 18 17 18 18 18 18 18 18 19 19 20 21 21 22 2 3 3 4 5 6 8 9 11 12 12 13 12 11 8 6 3 2 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 -1 -3 -6 -9 -10 -10 -11 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -8 -5 1 5 5 1 -6 -10 -10 -9 -8 -7 -6 -5 -5 -5 -6 -8 -9 -7 -4 1 5 6 9 14 18 21 22 20 20 21 23 25 26 26 26 25 23 19 15 13 13 15 21 33 40 44 45 45 44 46 49 50 50 47 46 47 50 52 51 49 48 47 46 45 45 43 42 40 39 38 37 35 34 33 32 31 30 29 28 26 24 23 21 20 19 18 18 17 16 16 14 12 9 6 4 2 2 2 2 2 1 0 -1 -2 -4 -5 -6 -6 -7 -7 -7 -6 -6 -6 -5 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -3 -1 -1 -1 -2 -3 -4 -3 -3 -3 -3 -3 -3 -2 -1 0 -1 -2 -2 -2 -1 0 1 1 0 -1 -2 -2 -2 -2 -3 -3 -3 -4 -5 -6 -5 -4 -3 -4 -6 -7 -8 -9 -10 -9 -9 -8 -8 -8 -8 -8 -9 -8 -8 -9 -10 -12 -13 -13 -12 -9 -7 -6 -4 -3 -3 -4 -5 -6 -8 -9 -11 -12 -12 -11 -9 -8 -6 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 1 1 0 -0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -2 -2 -3 -3 -4 -4 -3 -3 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -2 -1 -1 -1 -1 -1 -0 0 0 1 1 2 2 3 4 4 4 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 4 4 5 5 6 6 5 4 3 3 3 3 5 6 7 8 9 10 11 11 12 13 14 16 18 20 22 24 25 27 27 27 27 27 26 25 25 23 21 18 17 17 17 17 17 17 17 17 18 19 19 20 21 -2 -2 -2 -2 -1 1 2 4 5 6 7 9 10 10 9 8 7 5 3 1 -1 -3 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -3 -5 -7 -9 -11 -11 -12 -13 -13 -13 -12 -13 -13 -13 -14 -14 -14 -13 -10 -6 -1 2 1 -3 -9 -11 -11 -10 -10 -10 -8 -7 -6 -5 -6 -8 -8 -6 -2 1 3 6 10 14 19 23 23 23 24 25 26 27 28 28 27 26 23 18 14 10 9 13 26 37 43 46 46 42 43 44 46 49 51 49 48 49 51 52 51 50 49 48 48 47 46 45 43 42 41 40 38 37 36 35 34 33 31 30 28 27 25 24 22 21 20 19 18 18 18 18 16 13 10 7 5 4 4 3 2 2 2 1 0 -2 -3 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -5 -5 -6 -6 -6 -4 -2 -1 -0 -1 -2 -3 -4 -3 -3 -3 -3 -3 -2 -0 0 0 -1 -2 -3 -2 -0 1 1 -0 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -4 -3 -4 -6 -7 -8 -9 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -9 -10 -11 -12 -13 -14 -13 -11 -9 -7 -5 -4 -2 -3 -3 -5 -6 -8 -10 -12 -13 -14 -12 -10 -8 -7 -6 -5 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -0 0 1 1 2 2 2 3 3 3 3 3 4 4 3 3 3 3 3 2 2 2 2 2 3 3 4 4 5 5 5 5 5 4 3 2 3 4 5 6 7 7 8 9 10 11 12 13 15 17 19 21 23 25 26 27 28 28 28 27 27 26 24 22 19 16 16 16 16 16 15 15 16 16 17 18 18 19 -6 -7 -7 -8 -7 -4 -1 -0 0 1 1 1 2 3 4 5 7 7 6 4 2 -0 -3 -5 -6 -7 -6 -6 -5 -5 -5 -4 -4 -5 -5 -5 -5 -5 -6 -8 -10 -11 -12 -13 -13 -14 -13 -13 -13 -13 -14 -15 -16 -16 -14 -10 -6 -3 -2 -2 -3 -7 -11 -13 -13 -13 -14 -13 -12 -10 -7 -6 -6 -6 -5 -3 -1 1 4 7 11 14 18 20 21 22 25 27 29 30 30 29 29 27 22 17 12 10 12 24 35 42 45 43 40 41 40 43 48 51 50 48 48 50 52 53 51 51 50 50 50 49 48 46 45 44 43 41 40 39 37 36 35 33 32 31 29 28 27 26 24 22 20 20 20 20 20 19 17 15 12 10 8 6 4 4 3 3 3 2 1 -1 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -5 -5 -6 -6 -5 -3 -1 -0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -2 -1 0 1 0 -1 -2 -2 -1 1 1 0 -2 -3 -3 -2 -3 -3 -4 -4 -5 -6 -6 -5 -4 -4 -4 -6 -7 -8 -9 -9 -10 -9 -9 -9 -9 -10 -11 -11 -11 -11 -11 -11 -12 -14 -15 -14 -13 -10 -8 -6 -4 -2 -1 -2 -3 -5 -6 -8 -11 -13 -14 -14 -13 -10 -9 -8 -7 -7 -6 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -6 -5 -4 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -0 0 0 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 3 4 4 4 5 5 5 4 3 2 2 3 4 5 6 6 7 8 9 10 11 12 14 16 18 20 22 24 25 27 28 28 29 29 28 27 26 24 21 17 15 15 15 14 14 14 14 15 15 16 17 17 -10 -11 -12 -12 -9 -4 2 3 2 1 -0 -2 -4 -5 -5 -2 1 3 5 6 6 5 3 1 -1 -3 -4 -5 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -8 -10 -12 -14 -14 -15 -15 -14 -13 -12 -12 -12 -13 -15 -15 -14 -9 -3 -1 -2 -4 -4 -7 -10 -13 -15 -17 -18 -19 -18 -16 -14 -11 -7 -5 -3 -1 1 3 5 7 9 10 12 13 13 15 18 23 27 30 31 31 31 29 27 22 18 16 19 27 36 40 42 41 40 41 40 43 47 50 51 49 49 50 51 52 52 52 52 52 52 51 50 49 48 46 46 44 43 42 40 39 37 36 34 33 32 31 30 29 27 25 23 22 22 21 21 20 19 18 17 14 12 9 7 6 5 5 4 4 3 1 -1 -3 -4 -4 -5 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -5 -5 -6 -5 -4 -2 -1 -0 -0 -1 -3 -3 -3 -3 -3 -3 -3 -2 -0 1 1 -0 -2 -2 -1 0 2 1 -1 -3 -3 -3 -2 -3 -4 -5 -5 -6 -6 -5 -4 -4 -4 -6 -7 -8 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -12 -12 -12 -12 -13 -14 -15 -15 -14 -12 -10 -8 -6 -4 -1 0 -1 -2 -5 -7 -9 -12 -14 -15 -15 -13 -11 -9 -9 -8 -8 -7 -5 -4 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -2 -2 -2 -3 -4 -4 -4 -5 -5 -6 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -4 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -0 -0 0 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 2 3 3 3 4 4 4 3 3 2 2 2 3 4 5 5 6 7 8 9 10 11 13 15 17 19 21 22 24 25 27 28 28 29 29 29 28 25 23 19 16 14 14 13 13 13 13 13 14 15 15 16 -10 -11 -11 -8 -4 0 1 1 1 -0 -1 -4 -6 -7 -7 -6 -4 -2 0 2 4 4 4 4 3 1 -0 -1 -2 -2 -2 -2 -2 -2 -3 -4 -5 -5 -6 -7 -9 -11 -14 -15 -16 -17 -16 -15 -13 -11 -10 -10 -11 -11 -11 -8 -2 0 -1 -3 -5 -6 -8 -11 -14 -17 -22 -23 -23 -23 -23 -20 -13 -7 -2 3 6 7 9 9 9 9 8 7 5 4 6 12 19 26 29 31 32 32 30 28 25 24 27 32 36 39 40 41 42 43 43 46 49 51 53 53 52 51 50 50 50 52 53 53 54 53 52 51 50 49 48 48 47 45 44 42 40 38 37 35 34 34 33 32 30 28 27 25 24 23 22 21 21 21 20 18 16 13 11 9 8 7 7 6 5 3 1 -1 -2 -3 -4 -4 -4 -4 -5 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -2 -1 -0 -1 -2 -3 -3 -4 -3 -3 -3 -2 -1 0 1 0 -1 -2 -1 -0 1 1 -1 -2 -3 -3 -3 -3 -5 -5 -6 -6 -6 -5 -4 -4 -4 -5 -7 -8 -8 -8 -9 -9 -9 -9 -10 -11 -12 -13 -13 -13 -12 -12 -13 -14 -15 -15 -15 -13 -11 -9 -8 -6 -3 0 1 0 -2 -5 -7 -10 -13 -15 -16 -15 -13 -11 -10 -9 -9 -9 -7 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -7 -6 -6 -4 -3 -2 -2 -2 -3 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -6 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 0 1 1 1 1 1 1 1 0 0 1 1 2 2 3 3 3 3 3 3 2 2 1 2 2 3 4 4 5 6 7 8 9 10 12 14 16 18 19 21 22 24 25 26 27 29 29 29 29 27 25 21 17 15 13 13 12 12 12 12 12 13 14 14 -3 -2 -1 -0 2 3 3 3 3 3 2 0 -1 -2 -3 -4 -4 -4 -3 -2 -1 -0 0 1 1 1 0 -1 -1 -2 -2 -2 -1 -1 -1 -2 -3 -3 -4 -5 -6 -8 -11 -13 -16 -17 -18 -18 -16 -14 -12 -9 -8 -8 -8 -7 -3 -0 1 -1 -3 -4 -5 -7 -10 -13 -21 -19 -18 -18 -19 -19 -15 -9 -2 5 9 11 11 11 10 8 7 5 2 -1 -2 -1 5 14 23 29 32 33 33 33 33 32 33 34 36 40 43 44 44 45 47 49 51 52 54 55 55 54 53 51 50 51 53 54 55 55 54 53 52 51 51 51 50 49 47 45 43 41 40 38 37 36 36 35 33 32 30 28 27 25 24 23 23 22 22 21 19 17 15 13 11 10 9 8 7 5 4 2 -0 -2 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -0 -1 -2 -3 -4 -4 -3 -3 -2 -2 -1 -0 0 -0 -1 -2 -1 1 1 0 -2 -3 -4 -3 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -5 -7 -7 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -13 -13 -13 -13 -13 -14 -15 -16 -15 -14 -12 -11 -10 -9 -6 -2 2 3 2 -1 -5 -8 -11 -13 -15 -16 -15 -14 -12 -10 -10 -9 -9 -7 -6 -4 -3 -3 -3 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -7 -6 -4 -3 -2 -2 -3 -4 -5 -5 -6 -6 -6 -6 -7 -8 -8 -8 -7 -5 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -0 0 0 1 1 1 1 0 -0 0 1 1 2 2 2 2 2 2 2 1 1 1 1 1 2 3 4 4 5 5 6 8 9 11 13 15 16 18 20 21 22 24 25 26 27 28 29 29 28 26 23 19 16 13 12 12 12 11 11 11 12 12 12 4 4 5 6 6 7 7 7 7 6 6 5 4 3 1 -0 -2 -3 -4 -4 -4 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -2 -2 -3 -4 -5 -7 -9 -11 -14 -16 -18 -19 -19 -16 -13 -10 -8 -7 -5 -3 0 2 2 -0 -3 -4 -5 -6 -8 -10 9 17 23 29 20 -1 -3 2 7 11 12 12 11 8 6 6 6 3 -1 -5 -6 -4 1 11 21 31 35 37 39 40 39 37 36 39 44 47 47 44 44 45 45 45 46 48 51 56 60 61 58 53 51 52 54 56 56 56 55 54 54 53 53 53 52 51 49 47 45 43 41 40 40 39 38 36 35 33 31 29 28 27 26 25 25 24 23 22 21 19 17 15 13 11 10 9 8 6 5 2 0 -1 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -3 -4 -4 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 0 1 0 -1 -3 -4 -4 -4 -5 -6 -6 -5 -5 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -8 -8 -9 -10 -11 -12 -13 -14 -14 -14 -14 -14 -15 -15 -16 -16 -15 -13 -12 -12 -11 -10 -7 -2 3 4 3 -1 -4 -8 -11 -14 -16 -16 -16 -14 -13 -11 -10 -10 -9 -8 -6 -5 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -7 -6 -4 -3 -3 -3 -4 -5 -6 -7 -7 -7 -6 -7 -8 -9 -9 -9 -7 -4 -3 -3 -3 -4 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -0 0 1 1 0 -0 -0 -0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 2 3 3 4 4 5 6 8 9 11 13 15 17 18 20 21 23 24 25 26 27 28 29 29 28 25 21 17 14 13 12 12 11 11 10 11 11 11 3 3 4 4 4 4 4 4 4 5 4 4 4 3 2 0 -1 -2 -3 -4 -5 -6 -6 -6 -6 -5 -4 -4 -5 -5 -5 -5 -5 -5 -4 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -7 -10 -14 -17 -20 -20 -18 -15 -12 -10 -8 -5 -2 1 4 5 2 -2 -5 -7 -8 -10 16 26 29 30 27 10 8 11 13 14 14 13 11 8 4 3 5 4 3 1 -2 -6 -5 1 12 24 35 41 45 47 46 43 41 41 44 44 40 38 38 38 40 43 48 51 49 50 53 56 54 51 50 50 53 56 57 57 56 56 56 56 56 56 55 54 52 50 48 46 45 44 43 42 41 39 38 36 34 32 31 30 29 28 27 27 26 25 24 22 21 19 17 15 13 12 10 9 7 5 3 1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -1 -1 -2 -3 -4 -4 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -0 0 0 -1 -2 -3 -3 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -8 -9 -10 -11 -12 -13 -14 -14 -14 -14 -15 -15 -16 -16 -16 -16 -15 -14 -13 -13 -13 -11 -7 -1 4 6 4 0 -4 -8 -11 -13 -16 -17 -17 -16 -14 -12 -11 -10 -9 -8 -6 -5 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -8 -9 -10 -10 -8 -6 -4 -3 -3 -4 -5 -5 -5 -4 -4 -4 -5 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -0 0 0 -0 -0 -1 -1 -0 0 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 3 4 5 6 8 9 11 13 15 17 19 20 22 23 24 25 26 27 28 29 29 27 24 20 15 13 12 12 11 11 10 10 10 10 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 -0 -0 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -5 -3 -2 -1 -2 -3 -5 -5 -5 -5 -5 -5 -5 -6 -10 -14 -19 -20 -19 -16 -14 -11 -10 -8 -5 -1 3 6 4 -0 -6 -10 -12 -0 14 22 23 22 13 14 16 18 19 18 16 14 11 8 5 3 3 3 3 2 2 1 1 6 17 29 39 47 51 52 51 49 45 42 37 32 30 29 31 35 40 44 46 46 46 49 53 55 53 52 51 51 50 52 56 57 58 57 58 58 58 58 57 55 53 51 49 48 47 46 45 44 42 41 39 37 35 34 32 32 31 31 30 29 28 27 26 24 23 21 18 16 15 13 12 10 8 5 3 1 -0 -2 -4 -5 -5 -5 -4 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -2 -3 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -1 -2 -3 -3 -3 -4 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -10 -11 -12 -13 -14 -15 -15 -15 -15 -16 -16 -17 -17 -16 -16 -15 -15 -15 -15 -14 -11 -7 -0 5 7 5 1 -3 -7 -10 -13 -15 -17 -18 -16 -15 -13 -11 -10 -9 -7 -6 -5 -4 -4 -5 -5 -6 -6 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -10 -10 -10 -9 -8 -7 -6 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -9 -10 -10 -9 -7 -5 -3 -3 -4 -5 -5 -5 -4 -4 -4 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -1 -1 -0 -0 -1 -1 -1 -1 -1 0 0 1 0 -1 -1 -2 -2 -2 -2 -2 -2 -1 0 1 2 2 2 3 4 5 7 9 11 14 16 18 19 21 23 24 25 25 26 27 28 29 28 26 22 18 14 13 12 11 11 10 10 10 9 -2 -3 -3 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -5 -4 -3 -1 0 0 -1 -4 -5 -5 -6 -7 -7 -6 -5 -5 -7 -12 -16 -18 -18 -16 -14 -13 -12 -11 -9 -5 -0 4 4 1 -6 -12 -9 9 20 18 12 14 17 19 20 21 21 19 16 13 10 6 1 -1 0 2 3 3 3 4 8 15 21 30 38 44 47 47 47 44 36 28 21 18 18 24 31 37 41 44 44 45 47 50 54 55 54 54 53 51 50 52 56 58 59 59 60 60 60 60 58 56 53 52 50 50 49 48 46 45 44 42 40 38 36 35 34 34 34 33 33 32 30 29 28 26 25 22 20 18 16 14 12 10 8 6 4 1 -1 -3 -4 -4 -4 -3 -3 -4 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -1 -1 -2 -4 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -1 -1 -2 -3 -3 -4 -4 -5 -5 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -11 -12 -13 -15 -15 -16 -16 -16 -16 -17 -17 -17 -16 -16 -16 -16 -16 -16 -15 -14 -12 -7 0 6 8 6 2 -2 -5 -8 -11 -14 -17 -18 -17 -16 -14 -12 -10 -8 -7 -6 -5 -4 -4 -4 -5 -5 -6 -6 -5 -5 -6 -6 -7 -8 -8 -8 -7 -7 -8 -8 -9 -9 -10 -10 -11 -10 -10 -9 -8 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -10 -10 -10 -8 -6 -4 -4 -4 -5 -6 -6 -5 -4 -4 -4 -5 -6 -8 -8 -9 -9 -10 -10 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 -1 -1 -2 -2 -1 -1 -0 0 -0 -1 -2 -3 -4 -4 -3 -3 -3 -2 -1 -0 0 1 1 1 2 3 4 6 9 12 14 16 18 20 22 23 25 25 26 26 27 28 29 28 25 21 16 13 12 12 11 11 10 9 9 -0 0 0 0 0 0 0 0 0 0 -0 -1 -1 -1 -1 -1 -2 -2 -4 -5 -6 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -5 -4 -2 -0 1 0 -2 -4 -5 -5 -6 -7 -8 -7 -6 -5 -6 -10 -14 -17 -17 -16 -15 -14 -14 -14 -13 -10 -5 0 2 -0 -6 -9 1 15 21 16 20 21 20 19 19 19 17 15 12 9 4 -3 -5 -4 -1 2 3 3 4 6 11 16 21 27 31 33 33 32 28 21 14 12 13 15 21 29 35 39 42 43 45 47 50 52 54 53 53 52 52 52 53 54 56 59 60 61 62 62 62 60 58 56 54 53 52 51 50 49 48 46 45 43 41 39 38 37 36 36 36 35 35 33 32 31 30 28 27 24 22 19 17 15 13 11 8 6 3 1 -1 -2 -3 -3 -2 -3 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -2 -3 -4 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -4 -5 -5 -4 -4 -4 -5 -5 -6 -6 -7 -7 -6 -6 -6 -7 -8 -9 -10 -11 -13 -14 -16 -16 -17 -17 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -15 -12 -7 0 7 9 7 3 -1 -4 -7 -10 -13 -15 -17 -17 -16 -15 -12 -10 -8 -7 -6 -5 -3 -3 -3 -4 -5 -6 -6 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -11 -12 -11 -11 -10 -9 -8 -7 -7 -7 -7 -6 -6 -6 -7 -8 -9 -9 -10 -9 -8 -6 -5 -5 -5 -6 -6 -5 -4 -4 -3 -4 -6 -8 -9 -10 -10 -10 -11 -11 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 -5 -4 -3 -2 -2 -1 -1 -2 -2 -2 -2 -2 -1 -0 -1 -1 -3 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -0 -0 -0 0 1 2 4 7 9 12 14 17 19 21 22 24 25 26 26 27 28 29 29 28 24 19 15 12 12 11 11 10 9 9 3 3 3 3 2 2 1 1 1 1 0 -0 -1 -1 -2 -4 -5 -7 -8 -9 -11 -12 -12 -12 -10 -9 -9 -10 -12 -13 -14 -14 -13 -11 -9 -8 -6 -4 -1 -0 -1 -3 -5 -5 -5 -5 -6 -8 -9 -8 -6 -6 -9 -12 -15 -15 -15 -15 -15 -16 -17 -17 -15 -10 -5 -1 -1 -5 -5 2 13 26 27 25 22 19 18 15 12 10 8 6 1 -5 -8 -8 -5 -1 3 3 3 3 5 10 15 19 21 19 15 11 8 5 4 7 16 18 23 29 33 37 41 44 46 48 50 51 51 50 49 49 50 52 53 53 53 54 57 61 63 64 63 62 60 58 56 55 54 53 52 51 50 49 48 46 44 42 41 40 39 38 38 37 37 36 35 34 33 31 30 28 26 23 20 17 15 13 10 7 5 2 0 -1 -1 -1 -2 -3 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 -2 -3 -4 -5 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -5 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -7 -6 -6 -7 -8 -9 -10 -11 -12 -14 -15 -17 -17 -18 -18 -18 -18 -17 -17 -16 -16 -17 -17 -17 -16 -16 -16 -15 -13 -8 -0 6 9 8 4 0 -2 -5 -8 -10 -13 -15 -16 -16 -15 -13 -11 -9 -7 -6 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -9 -9 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -12 -11 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -7 -6 -5 -5 -5 -6 -6 -5 -4 -3 -3 -5 -7 -8 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -7 -6 -6 -5 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -2 -3 -5 -6 -6 -6 -6 -6 -5 -5 -3 -2 -2 -1 -1 -1 -1 0 2 5 7 10 12 15 17 19 21 23 24 25 26 26 27 28 29 29 26 21 17 13 12 11 11 10 9 9 3 3 2 1 -0 -2 -3 -4 -4 -5 -6 -6 -7 -8 -9 -11 -12 -12 -11 -10 -9 -9 -9 -10 -9 -8 -9 -11 -13 -16 -18 -18 -18 -16 -15 -13 -11 -8 -6 -3 -2 -2 -4 -5 -5 -4 -3 -5 -7 -9 -9 -7 -7 -9 -11 -13 -14 -14 -14 -15 -16 -18 -20 -20 -17 -12 -5 -2 -3 -8 -6 19 27 27 25 22 20 13 8 6 5 4 1 -3 -8 -10 -10 -7 -2 3 6 5 3 2 7 12 14 12 6 -0 -3 -2 -0 4 15 20 25 29 34 38 42 45 47 48 49 50 49 47 46 46 48 50 52 53 52 51 53 57 60 62 64 63 61 59 58 56 55 54 54 53 52 51 50 48 46 45 44 42 41 40 39 39 38 38 37 36 35 34 33 31 29 26 23 20 17 15 12 9 6 3 2 1 1 0 -1 -2 -3 -4 -5 -5 -6 -6 -7 -7 -6 -6 -5 -5 -4 -3 -2 -1 -2 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -2 -4 -5 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -13 -15 -16 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -18 -17 -17 -16 -17 -16 -14 -9 -1 6 9 8 5 1 -1 -3 -5 -8 -11 -13 -15 -15 -15 -13 -11 -9 -7 -6 -4 -2 -1 -0 -1 -3 -4 -5 -5 -5 -5 -6 -6 -7 -8 -9 -9 -9 -9 -8 -7 -7 -8 -9 -11 -12 -13 -13 -13 -12 -11 -10 -9 -8 -8 -7 -7 -6 -5 -4 -4 -5 -7 -9 -10 -9 -7 -6 -5 -5 -5 -6 -6 -5 -4 -3 -4 -5 -7 -9 -10 -11 -11 -11 -11 -12 -12 -12 -12 -11 -11 -10 -10 -9 -9 -8 -7 -5 -4 -4 -3 -2 -2 -3 -3 -4 -4 -4 -2 -2 -2 -3 -5 -6 -6 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -2 -2 -1 0 3 5 8 10 13 15 17 18 20 22 24 24 25 26 27 28 28 27 24 19 15 12 11 11 10 9 9 -3 -3 -4 -5 -7 -8 -9 -9 -10 -11 -11 -12 -12 -13 -14 -14 -14 -12 -9 -7 -5 -3 -2 -2 -2 -3 -3 -5 -7 -10 -13 -16 -17 -18 -18 -17 -16 -14 -11 -7 -4 -3 -4 -5 -6 -5 -2 -1 -2 -5 -9 -10 -9 -8 -9 -11 -12 -13 -14 -14 -14 -15 -18 -21 -23 -22 -18 -10 -4 -2 -5 -9 16 25 26 26 24 22 13 8 6 5 4 0 -6 -12 -14 -14 -11 -5 1 7 9 7 3 0 2 5 6 5 -3 -6 -5 -0 7 18 25 31 35 40 44 47 49 50 49 48 47 47 48 49 51 53 54 55 55 55 54 54 55 58 61 62 61 61 59 58 56 55 55 55 54 53 51 50 48 47 46 45 44 42 41 40 40 39 38 38 37 36 35 33 32 29 26 23 20 17 14 11 8 5 3 3 2 2 1 -1 -2 -3 -4 -5 -6 -7 -7 -6 -6 -6 -5 -5 -4 -3 -2 -1 -2 -2 -3 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -3 -5 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -12 -14 -16 -17 -18 -18 -18 -18 -18 -19 -19 -20 -21 -21 -21 -20 -19 -18 -18 -18 -17 -15 -11 -3 4 8 8 5 2 0 -2 -4 -6 -9 -11 -13 -14 -14 -13 -11 -10 -8 -6 -4 -2 0 1 0 -1 -3 -4 -5 -5 -5 -5 -5 -6 -7 -9 -10 -10 -9 -8 -8 -7 -7 -8 -10 -11 -13 -14 -14 -13 -12 -11 -10 -9 -9 -9 -8 -7 -5 -3 -2 -2 -4 -7 -9 -9 -8 -6 -5 -4 -5 -6 -6 -6 -4 -3 -3 -4 -5 -7 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -10 -9 -7 -6 -5 -5 -4 -3 -2 -3 -4 -4 -4 -5 -4 -3 -2 -3 -4 -6 -7 -8 -8 -8 -8 -8 -7 -5 -4 -3 -3 -3 -3 -2 -1 1 3 6 8 11 13 14 16 18 20 22 23 24 25 25 26 27 27 25 22 17 13 11 11 10 9 9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -12 -11 -11 -11 -10 -8 -6 -3 -1 2 3 5 6 5 4 3 2 1 -1 -3 -6 -10 -13 -15 -16 -17 -17 -15 -12 -9 -5 -4 -4 -5 -6 -4 -0 2 2 -2 -6 -10 -10 -10 -9 -10 -12 -14 -14 -13 -13 -14 -16 -20 -23 -23 -21 -15 -8 -3 -3 -5 10 21 26 27 26 23 18 14 12 12 12 13 12 10 6 0 -13 -13 -5 2 7 7 3 -2 -4 -3 -1 -3 -7 -8 -4 -0 5 18 29 36 41 47 51 53 53 51 48 48 50 53 54 55 56 57 58 58 58 57 58 58 57 56 57 60 61 61 60 58 56 56 56 56 54 53 51 50 49 48 47 46 45 43 42 41 40 40 39 39 38 37 35 34 32 29 26 23 19 16 13 10 7 5 4 3 3 2 1 -1 -2 -3 -5 -5 -6 -6 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -2 -3 -4 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -10 -11 -12 -13 -15 -17 -18 -18 -17 -17 -17 -18 -19 -21 -22 -23 -23 -22 -21 -20 -20 -19 -19 -18 -16 -12 -4 3 8 8 6 3 1 -0 -2 -4 -6 -9 -10 -12 -12 -12 -11 -10 -8 -7 -5 -2 -0 1 2 1 -1 -3 -4 -4 -5 -5 -5 -6 -7 -8 -9 -10 -10 -9 -8 -7 -7 -8 -9 -11 -12 -13 -14 -14 -14 -13 -11 -10 -10 -10 -10 -9 -6 -2 -0 -0 -2 -5 -8 -9 -9 -7 -5 -4 -4 -5 -6 -6 -6 -4 -3 -2 -3 -5 -7 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -8 -7 -6 -6 -5 -4 -3 -3 -4 -4 -4 -4 -5 -4 -3 -3 -4 -5 -7 -8 -9 -9 -9 -8 -8 -7 -5 -4 -3 -3 -3 -3 -2 -1 1 4 6 9 11 13 15 16 18 19 21 22 23 23 24 25 26 25 24 20 15 12 10 10 9 9 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 1 2 4 5 6 7 7 7 7 6 5 4 4 4 3 0 -3 -7 -11 -14 -16 -16 -16 -13 -10 -7 -4 -4 -4 -5 -3 1 5 7 4 -2 -7 -10 -10 -9 -10 -12 -14 -14 -13 -12 -13 -15 -18 -20 -22 -20 -16 -10 -5 -4 -3 1 11 24 26 25 22 18 15 14 14 15 15 15 13 11 5 -2 -9 -12 -5 -1 -0 -3 -6 -6 -2 -1 -3 -6 -9 -7 -2 1 12 29 39 45 50 54 56 57 52 50 52 53 49 43 43 48 53 57 61 61 61 62 63 63 61 60 61 62 61 59 58 57 57 57 56 54 52 51 50 50 49 48 47 46 44 42 41 41 40 40 39 38 37 35 34 32 29 26 22 18 15 12 9 7 5 4 4 3 2 1 -1 -2 -3 -4 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -0 0 -0 -1 -2 -3 -3 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -9 -10 -11 -11 -12 -13 -14 -16 -17 -17 -17 -16 -16 -16 -18 -19 -21 -23 -23 -23 -22 -22 -22 -21 -21 -20 -19 -17 -13 -6 2 7 9 6 3 2 1 -1 -2 -4 -6 -8 -9 -10 -10 -10 -9 -8 -7 -6 -3 -1 1 2 2 1 -1 -3 -4 -4 -4 -5 -5 -6 -8 -9 -10 -10 -9 -8 -7 -7 -7 -8 -9 -11 -13 -14 -15 -15 -14 -13 -12 -11 -11 -11 -10 -8 -4 -1 1 -0 -3 -7 -9 -9 -8 -6 -4 -4 -4 -6 -7 -7 -5 -3 -2 -2 -3 -5 -7 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -9 -8 -7 -6 -6 -6 -5 -4 -4 -4 -5 -4 -4 -4 -5 -3 -4 -5 -7 -8 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -2 -0 2 4 7 9 12 13 15 16 18 19 20 21 22 22 23 24 24 24 21 16 12 10 9 9 9 -4 -4 -3 -2 -2 -1 -1 -0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 -1 -1 0 2 3 2 1 -3 -7 -11 -13 -14 -14 -12 -10 -7 -5 -4 -4 -5 -3 0 5 8 7 3 -3 -7 -8 -7 -8 -9 -11 -12 -11 -11 -13 -15 -17 -18 -17 -15 -11 -7 -6 -8 -10 -9 -2 19 24 23 19 16 14 14 14 14 14 14 13 10 4 -5 -13 -16 -10 -6 -7 -10 -11 -9 -5 -2 -2 -6 -12 -10 -6 -2 6 25 35 42 49 56 61 60 59 57 51 39 28 26 35 45 51 53 56 60 63 64 65 63 62 64 65 63 61 59 58 58 58 57 55 53 51 51 51 51 50 49 48 46 44 43 42 41 41 40 39 38 37 35 34 32 29 25 21 18 15 12 9 7 6 5 4 3 2 1 -0 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -1 1 1 1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 -7 -8 -8 -9 -10 -11 -11 -11 -12 -14 -16 -17 -17 -17 -16 -15 -15 -16 -17 -19 -21 -22 -22 -22 -22 -22 -22 -22 -22 -21 -19 -17 -13 -7 1 7 9 7 4 2 2 1 -1 -2 -4 -6 -7 -8 -9 -9 -9 -8 -7 -6 -4 -2 0 2 3 2 1 -1 -3 -3 -4 -4 -5 -6 -7 -8 -9 -10 -10 -9 -8 -7 -7 -7 -8 -10 -12 -13 -15 -15 -15 -15 -13 -12 -11 -11 -11 -10 -7 -3 -0 0 -2 -5 -8 -9 -9 -8 -5 -4 -4 -5 -7 -8 -7 -5 -3 -1 -1 -3 -5 -7 -8 -9 -10 -10 -11 -11 -11 -11 -12 -12 -13 -12 -11 -10 -8 -7 -7 -7 -7 -6 -5 -5 -4 -5 -4 -4 -4 -5 -5 -4 -5 -6 -8 -9 -10 -10 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -2 -0 2 4 7 10 12 14 16 17 18 19 20 20 21 21 22 23 23 21 17 13 9 8 9 9 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 0 -1 -2 -3 -5 -6 -7 -7 -8 -9 -9 -9 -7 -5 -3 -2 -3 -5 -7 -7 -5 -3 -1 0 -0 -2 -4 -7 -9 -10 -11 -10 -9 -7 -5 -4 -4 -4 -4 -1 4 7 8 6 1 -3 -4 -4 -4 -5 -6 -8 -9 -11 -13 -15 -15 -14 -11 -7 -3 -4 -11 -15 -17 -17 -5 16 22 20 17 14 13 12 12 12 12 11 9 5 -2 -11 -17 -14 -10 -9 -11 -13 -11 -10 -6 -2 -2 -9 -11 -9 -7 -5 5 15 26 35 44 52 57 57 49 34 16 6 3 12 25 38 46 51 54 57 62 66 67 66 67 67 65 63 61 60 59 59 58 56 54 52 52 52 52 52 51 50 48 46 44 43 42 42 41 40 39 38 37 35 33 31 28 25 21 18 14 11 9 7 6 5 5 4 3 2 0 -1 -2 -2 -2 -2 -3 -3 -3 -3 -2 -0 1 1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -7 -8 -8 -9 -10 -11 -11 -11 -12 -14 -15 -17 -17 -17 -16 -15 -15 -15 -16 -17 -18 -19 -20 -21 -21 -21 -21 -22 -22 -21 -20 -19 -17 -13 -8 -1 6 9 8 5 3 2 2 1 -0 -2 -4 -5 -6 -7 -7 -8 -7 -7 -6 -5 -3 -1 1 3 3 2 0 -1 -2 -3 -3 -4 -5 -6 -7 -9 -9 -10 -10 -9 -8 -7 -7 -7 -9 -11 -13 -14 -15 -16 -16 -14 -13 -12 -11 -11 -10 -9 -6 -2 0 -1 -4 -6 -8 -9 -8 -7 -5 -4 -5 -6 -8 -8 -7 -4 -2 -0 -1 -3 -5 -6 -7 -8 -8 -8 -9 -9 -10 -11 -12 -13 -13 -12 -11 -10 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -4 -4 -4 -6 -6 -5 -6 -8 -9 -10 -10 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -2 -1 2 5 8 11 13 15 16 17 18 19 20 20 20 20 21 21 21 18 14 9 8 8 9 -1 -2 -2 -3 -3 -4 -4 -4 -4 -5 -6 -7 -8 -10 -11 -12 -13 -14 -15 -16 -16 -15 -15 -13 -10 -6 -3 -2 -2 -5 -8 -8 -6 -4 -2 -1 -1 -1 -2 -4 -6 -8 -8 -9 -8 -7 -6 -5 -4 -4 -4 -2 2 6 8 7 3 2 1 1 0 -1 -3 -6 -9 -13 -15 -15 -12 -8 -3 1 0 -9 -14 -17 -19 -22 -2 13 19 18 16 13 12 10 10 9 8 6 3 -2 -8 -14 -13 -10 -7 -7 -10 -11 -11 -10 -6 -2 -2 -7 -9 -9 -9 -7 -1 5 12 19 24 26 18 13 7 -1 -3 -5 -1 7 20 34 43 48 53 58 64 69 71 71 69 67 65 62 60 60 60 59 57 55 53 52 53 53 53 53 52 50 48 46 45 44 43 42 41 40 39 38 36 35 33 31 28 25 21 17 14 11 8 7 6 6 6 5 4 2 1 -0 -1 -1 -1 -2 -2 -2 -2 -1 -0 0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -6 -6 -7 -7 -8 -9 -10 -10 -11 -11 -12 -14 -15 -17 -18 -18 -17 -16 -15 -15 -16 -17 -17 -18 -19 -19 -19 -19 -20 -20 -20 -21 -20 -19 -18 -17 -14 -8 -2 5 10 9 6 4 3 3 3 1 -0 -1 -3 -4 -5 -6 -6 -7 -7 -6 -5 -4 -2 0 3 3 3 2 -0 -2 -2 -3 -3 -4 -5 -7 -8 -9 -10 -10 -10 -8 -7 -7 -7 -8 -10 -12 -14 -15 -16 -16 -15 -14 -13 -11 -10 -10 -10 -8 -5 -1 -1 -3 -5 -8 -9 -9 -7 -6 -5 -5 -6 -8 -9 -8 -7 -3 -1 0 -0 -2 -3 -5 -5 -5 -6 -6 -6 -7 -9 -10 -12 -13 -13 -12 -11 -10 -9 -8 -8 -8 -8 -8 -7 -6 -6 -5 -5 -4 -5 -7 -7 -6 -7 -9 -10 -9 -9 -8 -7 -6 -5 -4 -3 -2 -2 -3 -3 -3 -3 -2 -0 3 6 9 12 14 15 17 18 19 20 20 20 20 20 20 20 19 15 10 7 8 9 -5 -5 -5 -5 -5 -5 -5 -6 -8 -9 -10 -10 -11 -11 -12 -12 -13 -14 -15 -15 -15 -15 -15 -14 -12 -10 -7 -4 -2 -2 -5 -7 -7 -5 -3 -2 -1 -1 -1 -2 -3 -5 -6 -7 -8 -8 -7 -6 -5 -5 -5 -5 -3 -0 3 6 6 5 5 5 5 3 1 -2 -6 -11 -15 -16 -13 -7 -1 3 3 -3 -9 -13 -16 -22 -21 1 16 18 18 15 12 10 8 7 6 5 3 -0 -5 -9 -10 -9 -5 -3 -4 -9 -10 -11 -10 -6 -0 -4 -7 -10 -11 -12 -9 -9 -6 -2 -2 -4 -13 -13 -9 -6 -4 -4 -4 -1 8 21 33 42 49 55 63 70 73 71 67 63 60 59 60 61 61 60 58 56 54 54 54 54 54 54 53 51 50 48 46 45 44 43 43 42 40 39 38 36 35 33 31 28 25 21 17 13 10 8 7 7 7 7 6 5 3 2 1 1 0 -0 -1 -1 -1 -0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -8 -9 -10 -11 -12 -12 -14 -15 -17 -19 -19 -18 -17 -17 -16 -17 -17 -18 -18 -18 -19 -19 -19 -19 -19 -18 -19 -19 -19 -18 -17 -16 -14 -9 -3 5 10 10 8 6 5 4 4 3 2 0 -1 -2 -3 -4 -5 -6 -6 -6 -5 -5 -3 -1 2 3 4 3 1 -1 -1 -2 -3 -3 -4 -5 -7 -8 -9 -10 -10 -9 -8 -7 -7 -7 -9 -11 -13 -14 -15 -16 -16 -15 -14 -12 -11 -11 -10 -10 -8 -4 -2 -2 -4 -7 -8 -9 -8 -7 -6 -5 -6 -7 -9 -9 -9 -6 -3 0 2 2 0 -2 -2 -3 -3 -3 -3 -4 -6 -8 -10 -12 -13 -13 -12 -11 -10 -9 -9 -9 -9 -9 -9 -8 -7 -7 -6 -6 -6 -7 -8 -7 -7 -8 -9 -9 -9 -8 -7 -6 -5 -3 -2 -1 -1 -2 -2 -3 -3 -3 -2 0 3 7 10 13 15 16 17 19 20 20 20 20 20 20 20 19 17 12 7 7 8 -5 -5 -5 -4 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -9 -10 -10 -10 -10 -9 -7 -5 -3 -4 -6 -7 -6 -4 -3 -2 -1 -1 -1 -2 -3 -4 -5 -7 -8 -8 -8 -8 -7 -6 -6 -6 -4 -2 -0 2 4 6 7 9 9 5 1 -2 -7 -12 -15 -13 -6 2 6 5 2 -5 -10 -8 -12 -17 -0 13 15 17 17 14 11 8 6 4 3 2 0 -2 -5 -8 -8 -6 -3 -0 -3 -8 -10 -10 -9 -5 -1 -5 -10 -12 -15 -13 -11 -10 -8 -8 -9 -9 -8 -6 -6 -5 -5 -4 -0 7 16 26 36 45 55 64 72 73 70 66 61 58 58 60 61 61 61 59 57 56 55 55 55 55 55 54 53 51 50 48 47 46 45 44 43 42 40 39 37 36 35 33 31 28 24 20 16 13 10 9 9 9 8 8 7 5 4 3 3 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 2 1 1 1 0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -17 -19 -20 -20 -19 -18 -18 -18 -18 -19 -19 -19 -19 -19 -19 -19 -19 -18 -18 -17 -17 -17 -17 -17 -16 -14 -10 -4 3 10 12 10 7 6 5 5 5 3 2 1 -0 -2 -3 -4 -5 -5 -5 -5 -5 -4 -2 1 3 4 4 3 1 -0 -1 -2 -2 -3 -4 -5 -7 -8 -10 -10 -10 -9 -7 -7 -7 -8 -9 -11 -13 -14 -15 -16 -15 -14 -13 -12 -11 -11 -10 -9 -6 -3 -2 -3 -6 -8 -9 -8 -7 -6 -5 -6 -7 -8 -10 -10 -9 -5 -1 3 5 4 2 1 -0 -0 -0 -0 -1 -3 -5 -8 -10 -12 -13 -13 -12 -11 -10 -10 -10 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -9 -8 -7 -7 -9 -9 -9 -8 -7 -6 -4 -2 -1 -0 -0 -0 -1 -2 -2 -3 -3 -1 1 4 8 11 14 16 17 18 19 20 21 21 21 20 20 20 19 14 8 6 7 -3 -3 -2 -2 -2 -2 -2 -3 -3 -2 -2 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -4 -5 -7 -8 -9 -8 -7 -6 -7 -7 -6 -5 -4 -2 -1 -1 -1 -2 -2 -3 -5 -6 -7 -8 -9 -10 -10 -10 -9 -8 -6 -4 -4 -4 -2 1 5 9 13 12 5 -1 -2 0 -6 -5 2 10 11 8 5 0 -1 4 13 20 19 15 14 15 17 16 13 9 6 4 2 1 0 -1 -2 -5 -8 -9 -8 -4 -1 -4 -7 -9 -9 -10 -4 -2 -6 -13 -14 -15 -14 -12 -11 -11 -12 -12 -11 -8 -5 -5 -6 -5 -0 10 20 28 36 47 60 71 78 78 73 68 64 62 60 59 58 58 59 60 59 57 56 56 56 56 56 55 54 53 51 50 48 47 46 45 45 43 42 40 38 37 36 35 33 31 27 23 19 16 13 12 11 11 11 10 9 8 7 6 5 5 4 4 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 1 0 -0 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -8 -9 -10 -12 -13 -14 -15 -17 -18 -20 -21 -21 -20 -19 -19 -19 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -18 -17 -16 -16 -16 -16 -15 -14 -11 -6 2 10 13 12 9 7 6 6 6 5 4 2 1 -0 -1 -2 -4 -4 -5 -5 -4 -4 -2 -0 2 4 5 4 3 1 -0 -1 -2 -2 -3 -4 -5 -7 -8 -9 -9 -9 -8 -7 -6 -7 -8 -10 -12 -13 -15 -15 -15 -15 -14 -13 -12 -11 -11 -10 -8 -5 -2 -2 -4 -7 -8 -8 -7 -6 -5 -5 -6 -8 -10 -11 -11 -8 -4 2 6 8 6 4 3 2 2 2 2 0 -2 -5 -8 -11 -12 -13 -12 -12 -11 -11 -11 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -9 -6 -6 -7 -9 -9 -8 -6 -5 -3 -1 0 1 1 1 1 -0 -1 -2 -3 -3 -1 2 6 9 12 15 16 17 19 20 22 23 23 22 22 21 21 17 10 6 5 -2 -2 -2 -1 -2 -2 -2 -3 -2 -2 -1 -1 -1 -1 -1 -0 -0 0 1 1 1 1 1 -0 -2 -4 -7 -9 -10 -9 -9 -8 -7 -6 -6 -5 -3 -2 -1 -1 -1 -2 -3 -4 -5 -6 -7 -8 -10 -12 -13 -12 -10 -7 -4 -4 -5 -5 -4 -1 3 9 13 11 4 -6 -13 7 14 17 17 14 9 7 4 1 2 27 29 25 19 15 13 15 17 15 11 7 5 3 2 0 -1 -1 -3 -5 -9 -10 -9 -5 -4 -5 -7 -9 -11 -8 -4 -2 -5 -10 -13 -14 -14 -12 -11 -11 -10 -9 -8 -6 -6 -8 -7 0 14 27 35 44 58 73 87 88 83 77 72 69 64 57 52 49 50 55 58 58 57 57 56 56 57 57 56 56 55 53 52 50 49 48 47 46 45 43 41 40 39 37 36 35 33 30 26 22 19 16 15 14 14 13 13 12 11 10 9 8 7 7 6 6 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 2 1 1 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -3 -3 -4 -5 -6 -8 -9 -11 -12 -13 -14 -16 -17 -19 -20 -21 -20 -20 -19 -19 -19 -20 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -18 -17 -16 -15 -14 -14 -14 -12 -7 -0 8 13 13 11 8 7 7 7 6 5 4 3 1 0 -1 -3 -3 -4 -4 -4 -4 -3 -1 1 3 5 6 5 3 1 -0 -1 -2 -2 -3 -4 -5 -6 -8 -8 -8 -8 -7 -6 -6 -7 -8 -10 -12 -13 -14 -15 -15 -14 -13 -13 -12 -11 -10 -9 -6 -3 -1 -2 -5 -7 -8 -7 -6 -5 -5 -6 -7 -9 -11 -12 -11 -7 -1 6 10 10 8 6 4 4 5 4 3 1 -2 -6 -9 -11 -13 -13 -12 -12 -11 -12 -12 -13 -14 -14 -14 -13 -13 -12 -12 -12 -11 -9 -5 -4 -5 -7 -8 -7 -5 -4 -2 -0 1 2 2 2 2 1 0 -1 -2 -3 -3 -1 3 7 10 13 15 17 18 19 21 23 24 24 24 23 23 21 14 7 4 -3 -3 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -4 -6 -7 -8 -9 -10 -11 -11 -9 -6 -5 -5 -6 -6 -5 -4 -3 -1 -1 -1 -2 -4 -5 -6 -7 -9 -10 -11 -12 -11 -9 -7 -4 -3 -4 -4 -4 -4 -0 5 9 9 3 -6 -10 -15 -16 -12 -4 -1 3 7 7 3 -0 21 24 21 17 14 14 15 15 13 9 7 5 4 3 1 0 -1 -3 -6 -8 -10 -8 -6 -6 -7 -9 -10 -10 -8 -5 -4 -6 -10 -13 -13 -13 -11 -10 -8 -7 -5 -4 -4 -8 -6 4 23 37 46 57 72 86 93 90 85 80 75 69 60 52 47 48 51 54 53 53 55 57 57 57 57 57 58 57 57 55 53 51 50 49 48 48 46 45 43 42 40 39 38 37 35 32 28 25 21 18 17 17 16 16 16 15 14 13 12 11 10 9 9 8 8 7 7 7 7 7 7 7 6 6 6 6 6 5 5 3 2 1 0 0 0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -4 -6 -7 -9 -10 -12 -13 -14 -16 -17 -18 -19 -19 -19 -19 -18 -18 -19 -19 -20 -20 -21 -21 -21 -21 -21 -21 -21 -21 -19 -18 -16 -15 -14 -14 -13 -12 -8 -3 6 12 14 13 10 8 8 8 7 6 5 4 3 1 0 -1 -3 -3 -4 -4 -3 -3 -2 0 2 5 6 6 5 3 1 -0 -1 -2 -2 -3 -3 -4 -6 -6 -7 -7 -6 -5 -5 -6 -7 -8 -10 -12 -13 -14 -15 -14 -14 -13 -12 -11 -11 -9 -7 -4 -1 -1 -3 -5 -7 -7 -5 -4 -4 -5 -6 -8 -10 -12 -12 -10 -5 2 9 12 12 9 7 6 7 7 6 4 1 -3 -6 -10 -12 -13 -12 -12 -12 -12 -12 -14 -15 -16 -16 -16 -15 -14 -14 -13 -13 -10 -4 -1 -1 -3 -5 -5 -4 -2 -0 1 2 3 3 3 3 3 2 0 -1 -3 -3 -2 0 4 8 12 14 16 17 19 21 23 25 26 26 26 26 24 18 10 4 -5 -4 -3 -3 -4 -4 -5 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -10 -12 -13 -14 -13 -13 -13 -13 -12 -10 -8 -6 -6 -7 -7 -6 -6 -5 -4 -3 -2 -2 -2 -4 -6 -8 -9 -9 -10 -11 -12 -11 -10 -8 -6 -5 -5 -5 -6 -6 -3 1 5 6 2 -5 -12 -16 -15 -11 -7 -1 6 10 7 -4 -0 2 7 12 13 13 14 14 13 11 10 8 7 6 5 3 1 -1 -3 -5 -8 -8 -8 -7 -8 -9 -10 -10 -10 -8 -6 -6 -9 -11 -12 -12 -12 -11 -9 -6 -3 0 2 1 6 18 36 49 60 72 82 89 91 89 84 79 72 64 54 49 48 51 56 60 61 59 56 55 57 57 58 58 58 59 58 57 55 53 51 51 50 49 48 46 45 43 42 41 40 38 36 34 30 27 23 21 19 19 18 18 18 18 17 16 15 14 13 12 11 10 9 9 9 9 9 9 9 8 8 8 8 8 8 7 6 5 4 2 1 1 1 1 1 1 0 -0 -1 -1 -1 -1 -2 -2 -3 -5 -7 -8 -10 -11 -13 -14 -15 -16 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -19 -20 -20 -20 -20 -21 -21 -21 -21 -20 -19 -17 -16 -14 -14 -13 -12 -9 -4 4 11 15 14 11 9 9 9 9 8 7 6 4 3 1 -0 -1 -2 -3 -3 -3 -3 -2 -1 1 3 6 7 7 6 4 1 -1 -2 -2 -2 -2 -3 -4 -4 -5 -5 -5 -5 -4 -5 -5 -7 -9 -11 -12 -13 -14 -14 -14 -14 -13 -12 -11 -10 -7 -5 -1 1 -0 -3 -4 -5 -4 -3 -3 -3 -5 -7 -10 -12 -13 -12 -9 -2 6 12 14 12 9 8 9 10 10 8 5 0 -4 -7 -10 -12 -12 -12 -12 -12 -12 -14 -16 -17 -18 -18 -18 -16 -14 -13 -13 -11 -2 3 5 4 1 -1 -1 0 2 3 4 4 4 3 3 3 3 2 -0 -2 -3 -3 -2 1 5 9 12 15 16 18 19 22 25 27 28 29 29 27 22 14 5 -5 -5 -4 -5 -6 -7 -8 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -15 -17 -18 -18 -16 -14 -13 -14 -16 -14 -11 -9 -8 -8 -7 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -5 -8 -9 -10 -10 -12 -13 -14 -13 -12 -10 -8 -7 -6 -6 -7 -8 -6 -3 1 3 1 -5 -9 -10 -10 -9 -5 2 8 9 -0 -8 -8 -1 6 7 6 9 11 11 11 12 11 10 10 9 7 4 2 -0 -2 -5 -7 -8 -9 -10 -10 -10 -11 -11 -10 -9 -8 -8 -10 -11 -12 -13 -11 -10 -8 -4 2 9 14 21 35 52 68 76 82 85 87 88 85 79 72 66 59 54 53 56 58 61 64 66 65 61 56 51 51 55 58 59 59 60 58 56 54 53 52 51 51 49 48 47 45 44 43 41 40 38 36 33 29 26 23 21 20 20 20 20 20 20 19 18 17 15 14 13 12 11 11 10 10 10 10 10 10 9 9 9 9 9 9 8 6 5 4 3 2 2 2 2 2 2 1 0 -0 -1 -1 -1 -2 -3 -4 -6 -8 -10 -11 -13 -14 -14 -15 -15 -15 -15 -16 -16 -16 -16 -15 -16 -16 -17 -18 -19 -19 -19 -19 -19 -20 -20 -20 -20 -19 -17 -15 -14 -13 -12 -10 -6 2 10 15 16 13 11 10 10 10 9 8 7 6 5 3 2 0 -1 -2 -2 -2 -2 -2 -1 -0 2 4 6 7 7 6 4 1 -0 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -3 -4 -4 -6 -8 -9 -11 -12 -13 -14 -14 -14 -14 -13 -11 -10 -8 -6 -3 1 2 0 -2 -3 -3 -2 -1 -1 -3 -5 -8 -11 -13 -14 -13 -8 1 10 15 15 12 10 11 12 13 12 9 4 -0 -4 -8 -10 -11 -12 -12 -12 -13 -14 -16 -18 -20 -21 -19 -15 -11 -9 -12 -13 -2 8 11 11 8 5 3 3 4 5 5 5 5 4 4 4 3 3 1 -1 -2 -3 -3 -1 1 5 10 13 15 17 18 21 24 27 29 31 31 30 27 19 8 -5 -5 -5 -7 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -11 -12 -14 -17 -19 -22 -23 -24 -22 -18 -14 -11 -9 -8 -12 -13 -9 -6 -7 -9 -8 -8 -7 -7 -7 -7 -7 -6 -5 -5 -4 -5 -7 -9 -10 -11 -12 -14 -16 -17 -16 -15 -13 -11 -8 -7 -7 -9 -11 -10 -7 -3 -1 -3 -6 -8 -8 -9 -7 -2 4 7 2 -6 -7 -3 3 5 2 5 7 9 10 12 12 12 12 11 10 8 4 1 -1 -3 -6 -8 -10 -11 -10 -10 -11 -11 -11 -10 -9 -9 -9 -11 -12 -13 -12 -11 -9 -7 -1 9 21 32 46 63 80 84 84 82 80 79 78 74 69 64 62 63 65 64 61 58 57 62 65 63 58 52 51 51 49 49 54 59 60 58 56 54 53 53 52 51 50 48 47 46 45 43 42 40 38 35 31 28 25 23 22 22 22 22 22 22 22 21 20 18 16 15 14 13 12 12 12 12 12 11 11 11 11 11 11 10 9 8 7 6 5 4 4 3 3 3 3 3 2 2 1 0 -0 -1 -1 -2 -4 -5 -7 -9 -12 -13 -14 -14 -14 -15 -15 -16 -16 -16 -16 -16 -16 -15 -15 -16 -16 -17 -18 -18 -18 -17 -17 -18 -18 -19 -19 -18 -16 -15 -14 -13 -11 -7 1 9 15 17 15 13 12 11 11 11 10 9 8 7 5 3 2 1 -0 -1 -2 -2 -1 -1 -1 0 2 4 6 8 8 6 4 2 -0 -1 -2 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -5 -6 -8 -10 -11 -12 -13 -14 -14 -14 -13 -12 -11 -9 -7 -4 -1 2 3 2 -0 -1 -1 0 1 -0 -3 -6 -9 -12 -14 -15 -12 -5 5 13 17 15 13 12 14 15 15 13 9 4 -1 -5 -8 -10 -11 -12 -12 -13 -14 -16 -19 -21 -22 -19 -12 -6 -3 -7 -14 -3 11 17 18 15 11 8 7 6 7 7 7 7 6 5 4 4 3 2 0 -1 -3 -3 -3 -1 2 6 10 14 16 18 19 22 25 29 32 33 33 30 24 13 -5 -4 -6 -9 -10 -10 -9 -9 -9 -9 -9 -8 -8 -10 -12 -15 -17 -19 -19 -19 -23 -26 -26 -22 -17 -12 -8 -4 -2 -4 -9 -7 -3 -3 -6 -9 -10 -9 -9 -9 -10 -10 -9 -9 -8 -7 -7 -7 -9 -10 -12 -13 -15 -17 -19 -19 -19 -18 -16 -13 -10 -8 -10 -13 -14 -13 -10 -6 -5 -6 -7 -7 -7 -6 -3 2 7 6 -5 -9 -6 1 9 10 5 4 7 9 10 12 12 11 11 11 10 6 3 -1 -4 -5 -7 -9 -11 -11 -11 -11 -11 -11 -11 -10 -9 -10 -11 -12 -13 -13 -12 -11 -9 -6 3 19 34 49 64 78 76 74 70 68 70 72 73 70 67 69 75 75 69 61 54 52 54 56 56 54 51 50 49 47 47 51 54 55 56 57 56 54 54 53 52 51 50 49 48 46 45 44 42 39 36 33 30 27 25 24 23 23 24 24 24 24 23 22 21 19 17 16 15 14 13 13 13 13 13 13 12 12 12 12 11 10 9 8 7 6 6 6 5 5 5 5 4 4 3 2 1 0 -0 -1 -2 -4 -5 -7 -10 -12 -14 -14 -14 -15 -15 -16 -17 -17 -17 -17 -17 -16 -16 -16 -16 -17 -17 -18 -18 -18 -17 -16 -15 -16 -16 -17 -17 -17 -16 -15 -14 -12 -8 -1 8 15 19 18 15 14 13 13 13 12 11 10 9 7 6 4 2 1 0 -1 -1 -1 -1 -1 -0 1 3 5 6 8 8 7 5 2 0 -1 -1 -1 -0 -0 -1 -1 -1 -1 -2 -2 -4 -5 -7 -9 -10 -12 -13 -13 -14 -14 -14 -13 -11 -10 -8 -6 -3 1 4 4 3 1 1 2 3 2 -0 -4 -7 -11 -14 -16 -15 -10 -1 9 17 17 16 14 15 17 18 17 13 9 4 -1 -5 -7 -9 -11 -12 -12 -14 -16 -18 -21 -23 -19 -10 0 3 -1 -8 -1 13 21 24 22 17 13 10 10 9 9 9 8 7 6 5 4 4 3 1 -1 -2 -3 -3 -3 -1 3 7 11 15 17 18 20 23 28 32 34 35 34 29 19 -4 -4 -6 -9 -9 -8 -8 -7 -7 -7 -8 -9 -10 -13 -16 -17 -16 -15 -16 -20 -22 -23 -21 -17 -13 -10 -7 -3 1 3 -1 -4 -4 -2 -3 -7 -9 -11 -11 -12 -12 -13 -13 -12 -11 -10 -10 -10 -10 -11 -12 -13 -15 -17 -19 -21 -21 -21 -21 -19 -16 -11 -10 -13 -16 -16 -14 -11 -9 -7 -7 -7 -6 -5 -3 1 7 12 3 -7 -10 -5 4 12 12 8 5 8 7 9 10 10 9 9 9 7 4 1 -2 -3 -5 -7 -9 -11 -13 -13 -12 -11 -11 -11 -10 -10 -10 -11 -12 -12 -11 -11 -11 -10 -6 7 25 43 56 60 53 51 51 51 59 66 69 67 64 69 77 76 69 61 53 49 49 48 47 46 44 45 47 48 49 53 57 57 56 53 52 53 54 54 53 52 52 51 50 48 47 45 43 41 38 35 32 29 27 26 25 25 25 25 25 26 25 25 23 22 20 18 17 16 15 15 15 15 15 15 14 14 14 13 12 10 9 8 8 8 8 8 8 7 7 7 6 5 5 4 3 2 1 -1 -2 -3 -5 -8 -11 -13 -14 -14 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -16 -17 -17 -18 -18 -19 -19 -18 -18 -16 -15 -14 -14 -14 -15 -15 -15 -15 -14 -13 -10 -3 6 15 21 20 17 16 15 15 15 14 13 12 11 10 8 6 5 3 2 1 -0 -1 -1 -1 -0 1 2 3 5 7 8 8 7 6 3 1 0 -0 -0 -0 0 -0 -0 -0 -0 -1 -2 -4 -5 -8 -9 -11 -12 -13 -14 -14 -14 -14 -12 -11 -9 -8 -5 -1 3 6 6 4 3 3 5 5 3 -1 -5 -9 -12 -15 -16 -14 -8 3 14 18 18 16 16 17 20 20 17 13 8 3 -1 -5 -8 -10 -11 -12 -13 -15 -18 -21 -23 -19 -9 4 8 5 -0 2 13 23 27 27 23 18 15 13 12 12 11 10 9 7 6 5 5 4 2 0 -2 -3 -4 -3 -2 -0 3 7 12 15 17 19 22 25 30 34 36 36 33 25 -3 -3 -5 -7 -7 -7 -7 -7 -8 -8 -10 -12 -14 -15 -16 -18 -17 -16 -15 -16 -15 -14 -12 -11 -10 -9 -8 -6 -2 2 4 -0 -4 -5 -3 -4 -7 -10 -12 -13 -14 -15 -15 -14 -12 -11 -12 -13 -14 -14 -14 -15 -16 -17 -19 -20 -21 -21 -21 -22 -21 -17 -12 -13 -15 -16 -15 -14 -12 -9 -8 -7 -6 -5 -4 -1 5 14 13 2 -7 -9 -4 9 14 14 9 3 0 1 5 9 11 10 9 9 8 6 4 -0 -3 -6 -8 -10 -13 -13 -13 -12 -11 -11 -10 -9 -9 -10 -10 -10 -10 -11 -11 -10 -10 -6 6 24 37 34 23 21 23 26 37 47 52 49 46 52 60 62 59 55 52 47 45 45 44 42 40 42 45 47 50 55 61 62 59 54 50 51 54 55 54 54 53 53 52 50 49 47 45 42 39 36 33 31 29 28 27 27 27 27 27 27 27 27 26 24 23 21 19 18 17 17 17 17 17 17 17 16 16 14 13 11 10 9 9 9 9 10 10 10 9 9 8 7 6 5 4 3 2 1 -1 -3 -6 -8 -11 -13 -14 -13 -13 -13 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -17 -18 -19 -19 -19 -19 -19 -18 -16 -15 -13 -12 -12 -12 -13 -13 -14 -14 -11 -5 4 14 22 23 20 18 17 17 17 16 16 15 14 13 11 9 7 5 4 2 1 0 -0 -0 0 1 2 2 3 5 6 8 8 8 6 4 2 1 0 0 0 1 1 1 1 1 -0 -1 -3 -6 -8 -10 -11 -12 -13 -14 -14 -14 -13 -12 -10 -9 -7 -4 0 5 7 6 5 5 6 7 6 3 -2 -6 -11 -15 -17 -17 -13 -5 8 17 20 19 17 17 20 21 21 17 12 7 2 -2 -6 -9 -10 -11 -12 -14 -17 -20 -22 -19 -10 4 11 11 7 5 9 22 29 30 27 23 19 17 15 14 13 12 10 9 8 7 7 6 4 1 -2 -4 -4 -4 -3 -2 -0 3 8 12 16 19 21 24 28 32 35 36 34 29 -1 -3 -6 -8 -8 -8 -8 -8 -8 -9 -10 -13 -15 -17 -16 -15 -15 -14 -11 -8 -6 -5 -5 -6 -7 -8 -9 -9 -8 -5 -1 2 0 -4 -7 -6 -6 -8 -10 -12 -13 -13 -14 -14 -11 -5 -5 -8 -13 -17 -19 -19 -18 -18 -19 -20 -21 -13 -9 -10 -15 -20 -17 -14 -13 -14 -14 -13 -13 -11 -9 -7 -7 -6 -5 -3 1 9 15 11 1 -8 -7 1 10 13 12 4 -7 -2 -2 -1 4 9 10 10 11 10 8 4 -1 -5 -8 -10 -11 -13 -14 -13 -11 -11 -11 -10 -9 -9 -9 -9 -9 -10 -10 -10 -9 -10 -10 -7 -2 -9 -10 -12 -13 -13 -6 8 15 14 12 18 27 31 32 33 36 35 41 45 47 46 44 45 46 48 50 54 59 62 63 61 56 54 56 57 57 56 55 55 54 53 51 49 46 44 41 38 35 32 31 30 29 29 29 29 29 30 30 29 29 27 26 24 22 21 20 19 19 19 19 19 19 19 18 16 15 13 12 11 11 11 11 12 12 12 12 11 10 9 8 7 6 5 3 2 1 -2 -5 -8 -11 -13 -12 -11 -11 -12 -13 -13 -14 -14 -14 -14 -14 -14 -15 -15 -16 -17 -18 -19 -20 -20 -19 -19 -18 -16 -15 -13 -11 -10 -10 -10 -12 -13 -12 -8 1 12 23 26 24 21 19 19 19 19 18 17 16 15 14 12 10 8 6 4 3 1 1 0 1 2 2 2 3 3 4 6 7 8 8 7 5 3 2 1 1 1 1 1 2 2 2 1 -0 -3 -5 -8 -10 -11 -12 -13 -14 -14 -14 -13 -11 -10 -8 -6 -3 2 7 8 8 7 7 8 8 6 2 -3 -8 -13 -16 -18 -17 -12 -0 12 20 21 19 17 19 22 23 21 16 11 5 -0 -4 -8 -9 -10 -12 -13 -15 -18 -21 -20 -12 2 11 14 12 9 7 21 29 32 31 27 23 20 18 16 15 14 12 10 9 9 10 9 6 2 -1 -4 -5 -4 -4 -3 -2 -0 4 9 13 17 20 23 26 30 33 34 33 30 -3 -6 -8 -9 -8 -8 -8 -8 -8 -9 -10 -12 -14 -15 -13 -10 -7 -5 -3 -3 -2 -2 -2 -2 -3 -4 -6 -8 -10 -10 -9 -4 1 2 -1 -6 -6 -7 -7 -8 -9 -10 -10 -11 -12 -11 1 8 8 3 -6 -17 -21 -21 -9 11 10 9 7 4 -1 -7 -13 -15 -14 -13 -13 -12 -12 -11 -10 -8 -8 -7 -6 -4 -1 4 13 15 8 -2 -8 -5 3 10 12 8 -4 -2 -1 -3 -4 0 7 10 11 11 9 6 1 -3 -6 -8 -11 -13 -14 -14 -12 -9 -11 -11 -10 -9 -8 -8 -9 -10 -10 -9 -9 -9 -10 -9 -8 -9 -9 -9 -9 -8 -7 -7 -6 -6 -7 -8 -10 -9 -6 0 11 12 26 40 50 50 47 47 48 49 48 48 50 56 61 64 64 63 62 61 60 58 58 58 57 55 53 51 49 46 43 39 37 34 33 32 31 31 31 31 32 32 32 32 31 30 29 27 25 23 22 21 21 21 21 21 21 21 20 18 17 15 14 13 13 13 14 14 14 14 14 13 12 11 10 9 7 6 5 4 2 -0 -4 -7 -10 -11 -10 -9 -9 -10 -12 -13 -13 -13 -13 -13 -13 -13 -14 -14 -15 -16 -18 -18 -19 -20 -20 -19 -19 -18 -16 -15 -13 -10 -9 -8 -8 -10 -11 -9 -3 8 21 28 27 24 22 21 21 21 20 19 18 18 17 15 13 11 9 7 5 3 2 1 1 2 3 3 3 3 3 4 5 7 7 7 7 5 4 2 1 1 1 1 2 3 4 4 3 1 -2 -5 -7 -9 -11 -12 -13 -14 -14 -14 -13 -11 -10 -8 -6 -2 4 8 9 9 8 9 10 9 6 1 -5 -10 -15 -18 -19 -16 -9 4 16 22 21 18 18 21 23 23 20 14 9 3 -3 -7 -9 -10 -11 -12 -14 -17 -20 -20 -15 -3 9 15 17 14 9 19 28 34 34 31 26 23 21 19 17 16 14 12 11 12 12 12 9 5 0 -4 -5 -5 -4 -4 -3 -2 1 5 10 15 19 22 26 29 32 33 32 30 -6 -7 -8 -9 -8 -8 -8 -7 -8 -9 -10 -11 -9 -6 -3 -2 -2 -3 -4 -4 -3 -3 -2 -0 1 0 -1 -3 -5 -7 -8 -7 -4 -1 1 -0 -2 -4 -5 -6 -7 -7 -6 -6 -5 -6 -6 -3 7 15 13 7 1 0 7 17 16 13 11 8 6 4 -2 -9 -13 -14 -13 -12 -11 -10 -10 -9 -8 -8 -7 -5 -4 0 9 15 13 4 -6 -7 -2 3 8 9 3 -4 -3 -1 -4 -5 -1 5 10 11 11 8 4 0 -3 -6 -9 -11 -13 -14 -13 -10 -9 -10 -11 -10 -8 -8 -8 -9 -9 -9 -8 -8 -8 -7 -8 -8 -8 -8 -9 -9 -9 -10 -10 -11 -11 -12 -12 -11 -9 -5 1 5 6 20 39 50 50 49 50 50 48 43 45 50 52 54 56 61 61 60 59 57 57 57 58 58 56 53 51 49 46 42 39 36 35 34 33 33 33 33 34 34 35 35 34 33 32 30 28 26 25 24 24 23 23 24 23 23 22 20 19 17 16 15 15 15 16 16 16 16 16 15 14 13 11 10 9 8 6 5 4 1 -2 -5 -8 -8 -7 -7 -8 -10 -11 -12 -12 -13 -13 -13 -13 -13 -14 -14 -15 -16 -17 -18 -18 -19 -20 -20 -19 -18 -18 -16 -15 -12 -10 -8 -6 -7 -9 -9 -5 3 17 27 30 27 24 23 23 23 22 21 20 20 19 18 16 14 11 9 7 6 4 3 2 3 3 4 4 4 4 4 4 4 5 6 6 6 6 4 3 2 1 0 0 2 4 6 7 6 3 -1 -4 -7 -9 -10 -12 -13 -14 -15 -14 -13 -11 -10 -8 -6 -0 5 9 10 9 9 10 10 9 5 -1 -7 -13 -17 -20 -19 -15 -5 8 20 23 19 18 18 22 24 22 18 12 6 -1 -5 -8 -10 -11 -11 -12 -15 -18 -20 -17 -6 6 15 20 19 14 16 25 33 37 34 30 26 23 21 19 17 15 14 13 14 15 15 13 9 3 -2 -4 -5 -5 -4 -4 -3 -2 1 6 11 16 21 25 29 33 34 33 31 -7 -8 -8 -8 -8 -9 -9 -10 -10 -8 -6 -3 -2 -1 -3 -5 -6 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -4 -2 -1 -1 -2 -4 -5 -5 -5 -5 -4 -2 -1 -1 -1 3 9 16 19 16 13 12 13 13 11 8 6 6 6 5 -0 -6 -11 -12 -12 -10 -9 -8 -8 -8 -8 -7 -7 -5 -3 4 11 13 8 -2 -5 -5 -2 2 6 7 -1 -4 -3 -1 -5 -6 -2 5 10 12 10 7 3 0 -2 -5 -8 -11 -14 -14 -12 -9 -7 -8 -10 -9 -9 -8 -8 -8 -9 -8 -8 -8 -7 -7 -7 -7 -8 -9 -10 -11 -11 -11 -11 -12 -13 -12 -11 -9 -7 -4 1 4 8 18 37 49 48 48 47 43 39 40 42 45 46 44 43 42 42 42 42 42 47 53 57 57 55 54 52 49 46 42 39 37 36 35 35 35 35 36 37 37 37 37 36 34 33 31 29 28 27 26 26 26 26 26 25 24 22 21 19 18 18 18 18 18 18 18 18 17 16 15 14 13 12 11 9 8 7 5 3 0 -3 -5 -5 -5 -5 -6 -8 -10 -11 -11 -12 -12 -12 -13 -14 -14 -15 -15 -16 -16 -17 -18 -19 -19 -20 -19 -19 -18 -17 -16 -14 -12 -10 -7 -6 -6 -7 -6 -1 12 25 31 30 27 24 24 24 24 23 22 22 21 21 19 17 15 12 10 8 6 5 4 4 4 4 5 5 5 4 3 3 2 3 4 5 6 6 5 3 1 -0 -1 -1 2 5 8 10 8 5 1 -3 -6 -8 -10 -11 -13 -14 -15 -14 -13 -11 -10 -8 -4 1 7 10 10 9 9 10 11 8 3 -3 -9 -15 -20 -20 -18 -12 -2 14 22 21 18 17 19 22 22 20 15 9 2 -4 -8 -10 -11 -11 -12 -13 -16 -19 -18 -9 3 14 21 24 20 15 21 31 39 38 33 29 26 23 21 19 17 15 15 16 18 19 18 14 7 1 -2 -4 -5 -5 -4 -4 -4 -2 2 7 12 18 23 29 33 35 35 33 -8 -9 -10 -10 -8 -7 -7 -6 -5 -4 -4 -4 -6 -8 -9 -10 -9 -7 -6 -6 -5 -5 -5 -6 -6 -7 -7 -6 -6 -5 -4 -4 -5 -5 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -4 -2 1 3 4 6 11 12 17 17 14 12 10 8 6 4 4 4 6 4 0 -4 -8 -10 -9 -8 -7 -6 -7 -8 -8 -8 -7 -5 -1 6 12 11 3 -4 -5 -4 -2 2 5 4 -2 -5 -2 -2 -5 -6 -2 5 11 11 9 6 4 2 -1 -5 -10 -14 -15 -15 -11 -7 -6 -7 -9 -9 -9 -8 -8 -8 -8 -7 -7 -8 -8 -7 -8 -8 -9 -10 -11 -11 -10 -10 -11 -11 -11 -10 -9 -7 -5 -1 4 7 11 19 31 31 32 35 37 34 32 32 33 34 35 39 43 44 42 41 40 41 43 45 49 56 56 55 52 49 45 42 39 38 37 37 37 37 38 39 39 40 39 39 37 35 33 32 31 30 30 29 29 28 28 27 26 25 23 22 21 20 20 20 20 20 20 20 19 18 17 15 14 13 12 11 10 9 7 5 2 0 -2 -2 -3 -3 -5 -7 -8 -9 -9 -10 -10 -11 -12 -13 -14 -15 -15 -15 -15 -16 -17 -18 -19 -19 -19 -19 -19 -18 -17 -16 -14 -12 -9 -6 -5 -5 -6 -3 6 19 29 33 30 27 26 26 26 25 24 23 23 23 22 20 18 15 13 11 9 7 6 5 5 5 6 6 6 5 4 3 2 1 1 2 4 5 5 5 3 0 -2 -3 -1 2 7 11 12 10 6 2 -2 -5 -7 -9 -11 -13 -15 -15 -14 -13 -12 -10 -8 -3 3 8 10 9 9 9 11 11 7 1 -5 -12 -18 -20 -19 -16 -10 3 17 22 20 16 16 19 21 21 18 13 6 -1 -6 -10 -11 -11 -12 -13 -15 -17 -18 -11 0 12 22 28 26 19 19 27 38 40 37 32 28 25 23 22 19 17 16 17 20 22 22 18 12 5 0 -3 -4 -4 -5 -5 -5 -4 -2 3 8 14 20 26 32 36 37 36 -8 -7 -7 -6 -6 -7 -8 -8 -8 -7 -8 -8 -9 -10 -10 -10 -8 -7 -7 -7 -7 -8 -9 -10 -11 -10 -10 -9 -9 -8 -7 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 -3 1 6 10 10 7 11 15 17 16 13 10 7 5 3 2 3 3 3 1 -3 -6 -7 -7 -6 -6 -6 -6 -8 -8 -8 -8 -6 1 9 12 7 -3 -6 -5 -2 -1 0 3 3 -2 -7 -2 -2 -5 -7 -4 6 11 10 8 7 6 3 -1 -6 -11 -15 -15 -13 -10 -6 -4 -7 -9 -9 -8 -8 -8 -8 -7 -6 -7 -8 -8 -9 -9 -10 -10 -10 -10 -9 -9 -8 -9 -10 -9 -8 -7 -4 -0 4 8 11 13 13 10 9 8 5 4 17 22 23 20 19 24 32 39 41 40 38 38 39 40 42 48 54 56 55 52 49 45 42 40 39 39 39 39 40 41 41 42 41 41 40 38 36 35 34 34 33 33 32 31 30 30 28 27 26 24 23 22 22 22 22 22 22 21 21 20 18 17 16 15 14 13 12 10 9 7 5 3 1 0 -1 -2 -3 -5 -5 -6 -6 -7 -8 -9 -11 -13 -14 -15 -15 -14 -14 -15 -15 -16 -17 -18 -19 -19 -19 -18 -17 -17 -16 -14 -12 -9 -6 -5 -5 -5 1 13 25 33 33 29 28 28 28 28 26 25 25 24 24 23 21 19 16 14 12 10 8 7 6 6 6 6 6 5 4 3 2 0 -1 -1 0 2 5 5 5 2 -1 -4 -4 -2 3 10 14 14 12 7 3 -1 -3 -6 -8 -11 -14 -15 -15 -15 -13 -12 -11 -8 -3 4 8 9 8 9 10 12 10 5 -1 -8 -15 -19 -19 -18 -15 -9 8 19 22 18 15 16 19 20 20 16 10 2 -4 -8 -11 -11 -12 -13 -14 -16 -17 -12 -3 9 21 30 31 25 20 20 34 40 40 36 31 28 26 24 21 19 17 18 21 24 25 23 17 10 4 -0 -2 -4 -5 -5 -6 -5 -4 -1 4 9 15 22 28 34 37 38 -6 -8 -9 -10 -10 -9 -8 -7 -7 -7 -7 -8 -9 -9 -9 -8 -7 -7 -7 -8 -9 -10 -12 -13 -14 -14 -12 -11 -11 -10 -9 -9 -8 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -7 -9 -9 -7 -5 0 7 14 16 11 10 13 18 20 17 13 9 7 3 1 0 0 0 0 -1 -4 -5 -6 -6 -6 -6 -6 -8 -10 -11 -10 -4 5 12 12 1 -6 -7 -4 -2 -3 -2 2 3 -1 -9 -2 -1 -4 -8 -8 4 9 10 9 8 6 2 -3 -7 -11 -13 -12 -12 -10 -5 -3 -6 -8 -9 -8 -8 -7 -6 -6 -6 -7 -9 -10 -11 -10 -9 -9 -9 -9 -8 -8 -8 -9 -9 -8 -8 -6 0 5 9 13 14 6 1 -0 -4 -12 -11 -1 11 17 16 12 11 17 25 31 33 34 32 31 32 35 41 44 47 51 54 53 48 44 42 40 40 41 41 42 42 43 43 43 43 42 40 39 38 37 37 37 36 35 34 33 32 31 30 28 27 26 25 24 24 24 23 23 23 22 21 20 19 18 16 15 14 13 12 10 8 6 5 3 2 1 -1 -2 -2 -2 -2 -3 -4 -5 -7 -9 -11 -12 -13 -13 -13 -12 -12 -13 -14 -15 -17 -18 -19 -19 -19 -18 -17 -16 -16 -14 -12 -9 -6 -4 -4 -1 7 19 31 36 33 31 30 30 30 29 27 26 25 25 25 24 22 20 17 15 13 11 9 8 7 7 6 6 6 5 3 2 0 -1 -2 -1 0 2 5 6 4 1 -3 -5 -5 -2 5 12 16 17 13 8 4 0 -2 -5 -8 -11 -14 -15 -16 -15 -14 -13 -11 -8 -2 5 8 9 8 9 12 12 9 4 -3 -10 -16 -19 -18 -15 -14 -3 11 21 21 16 15 16 17 18 18 13 7 -1 -6 -10 -11 -12 -13 -13 -15 -15 -12 -5 6 19 30 34 32 25 18 28 39 41 39 34 30 29 26 24 20 18 18 22 26 28 28 22 15 8 3 -0 -2 -4 -5 -6 -7 -6 -4 0 5 11 17 23 30 35 38 -7 -7 -6 -6 -7 -8 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -7 -9 -10 -12 -13 -15 -15 -14 -13 -12 -11 -11 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -8 -6 -1 7 16 20 17 8 2 16 18 17 14 12 8 3 -0 -2 -2 -1 -0 -1 -3 -5 -6 -7 -7 -6 -7 -9 -12 -12 -9 -1 9 14 8 -2 -7 -7 -6 -4 -5 -4 -1 2 -0 -8 -3 0 -4 -8 -9 -0 6 8 7 6 4 1 -3 -6 -9 -10 -10 -10 -10 -3 -3 -6 -8 -9 -8 -7 -6 -6 -6 -7 -9 -10 -11 -11 -9 -8 -9 -10 -10 -9 -7 -6 -6 -7 -8 -8 -3 4 10 14 15 10 0 3 5 -4 -8 -10 -3 8 16 14 9 9 12 16 21 23 23 23 23 26 31 35 38 42 46 49 49 47 44 42 42 43 43 44 44 44 45 45 45 44 43 42 41 40 40 40 39 38 37 36 35 33 32 31 30 29 28 27 26 25 25 25 25 24 24 23 21 20 19 17 16 15 13 12 10 8 6 5 4 2 1 0 0 1 1 1 -1 -2 -4 -6 -7 -9 -9 -10 -9 -9 -9 -10 -11 -12 -14 -16 -17 -18 -18 -18 -17 -16 -16 -15 -14 -12 -9 -6 -4 -3 3 13 26 36 36 34 32 32 32 31 30 28 27 26 26 26 25 23 21 18 16 14 12 10 9 8 7 6 6 5 3 2 0 -1 -2 -2 -1 1 3 6 6 3 -0 -4 -6 -6 -1 7 15 19 18 13 8 4 1 -2 -5 -8 -11 -14 -16 -16 -15 -15 -13 -12 -7 -1 5 8 9 9 11 12 11 8 2 -5 -11 -16 -18 -15 -13 -12 -1 15 23 20 16 14 14 15 16 15 10 4 -3 -8 -10 -12 -13 -13 -13 -14 -12 -7 3 15 27 35 37 32 22 22 34 42 42 37 33 31 29 26 22 18 18 22 26 31 32 27 20 13 7 3 0 -2 -4 -6 -7 -7 -6 -3 1 6 12 18 24 30 35 -5 -5 -6 -8 -8 -7 -7 -6 -5 -4 -4 -3 -4 -4 -4 -4 -5 -6 -7 -9 -10 -11 -13 -14 -14 -13 -12 -12 -11 -11 -11 -10 -10 -9 -8 -7 -7 -7 -7 -7 -6 -7 -7 -8 -8 -8 -9 -9 -8 -6 -2 6 16 21 19 10 -5 -4 -3 0 5 7 6 3 0 -2 -3 -2 -1 -1 -3 -6 -8 -8 -7 -7 -9 -11 -13 -12 -7 1 11 13 5 -3 -8 -8 -7 -7 -7 -6 -3 1 -3 -5 -1 2 -5 -6 -7 -2 6 7 6 6 4 1 -2 -5 -7 -10 -11 -11 -8 -3 -3 -6 -9 -8 -6 -6 -6 -7 -8 -9 -9 -10 -10 -10 -10 -10 -12 -13 -11 -7 -4 -3 -3 -6 -9 -7 -1 7 14 17 14 -2 1 11 6 -6 -7 -10 -6 8 15 13 10 7 8 11 15 17 17 17 16 18 23 29 34 38 43 44 44 44 44 44 44 45 46 46 46 46 47 47 46 46 45 44 43 43 42 42 41 40 39 38 36 35 34 33 32 30 29 27 27 26 26 26 26 26 25 24 22 21 20 18 17 15 13 11 9 8 6 5 4 2 2 2 3 3 2 0 -1 -2 -3 -4 -5 -5 -6 -6 -5 -5 -5 -6 -8 -11 -13 -15 -17 -17 -17 -16 -16 -16 -16 -15 -14 -12 -9 -6 -4 -0 7 19 33 38 37 34 33 33 33 32 31 29 28 28 27 27 25 24 21 19 17 14 12 11 9 8 7 6 4 3 1 -0 -1 -2 -2 -1 0 3 5 6 5 3 -1 -5 -7 -6 0 9 17 20 17 13 8 4 2 -1 -4 -8 -11 -14 -15 -16 -16 -15 -14 -12 -7 0 6 9 9 10 12 12 11 6 1 -6 -12 -16 -16 -12 -11 -8 1 20 22 19 14 12 11 12 13 12 8 1 -5 -9 -11 -12 -13 -12 -12 -11 -7 -1 10 23 33 40 39 31 21 28 38 43 40 35 34 32 28 23 19 19 21 27 33 35 32 26 18 11 7 3 1 -2 -5 -7 -8 -8 -6 -3 2 7 12 18 24 30 -8 -7 -6 -6 -5 -3 -1 -0 0 0 -0 -1 -2 -2 -3 -3 -4 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -10 -10 -11 -12 -11 -11 -10 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -10 -10 -9 -6 -1 8 16 20 16 2 -7 -8 -4 -1 0 -3 2 3 0 -2 -2 -1 -1 -3 -5 -7 -8 -8 -9 -10 -11 -12 -14 -12 -6 4 12 11 2 -5 -5 -7 -9 -9 -9 -7 -4 -0 -4 -3 3 2 -5 -6 -5 -1 8 8 8 7 5 2 -1 -5 -9 -11 -11 -10 -5 -3 -4 -7 -9 -7 -6 -6 -7 -8 -8 -8 -8 -9 -10 -11 -11 -12 -12 -11 -10 -7 -2 0 -1 -6 -10 -9 -2 8 15 17 6 3 8 15 5 -6 -8 -9 -10 8 14 14 11 9 10 14 17 17 15 11 10 13 19 25 31 36 39 41 42 44 45 46 47 47 47 47 48 48 49 49 49 48 47 46 46 45 44 43 42 42 41 40 39 38 36 35 33 31 29 28 27 27 27 28 28 27 26 25 24 22 21 19 17 15 13 11 9 7 6 5 4 3 3 3 1 -0 -2 -3 -2 -2 -2 -2 -2 -3 -3 -2 -2 -1 -2 -3 -6 -9 -12 -15 -16 -16 -15 -15 -15 -15 -15 -15 -14 -12 -9 -6 -3 3 11 25 36 39 37 34 34 34 34 33 31 30 29 29 28 28 26 24 22 20 17 15 12 11 9 8 6 5 3 1 -1 -2 -3 -3 -2 0 2 5 6 7 5 2 -3 -6 -8 -6 1 10 18 20 17 12 8 5 2 -1 -4 -7 -11 -13 -15 -16 -16 -16 -15 -12 -6 1 8 10 10 11 12 12 10 5 0 -6 -12 -16 -13 -9 -9 -10 7 20 21 17 12 8 7 9 10 9 5 -1 -6 -10 -12 -12 -11 -10 -9 -7 -2 5 17 28 38 42 38 27 24 31 42 42 38 36 34 31 25 20 19 21 27 34 38 37 32 24 16 11 7 4 1 -3 -6 -7 -8 -7 -5 -2 3 8 13 18 23 -7 -5 -2 0 1 1 1 0 -1 -3 -3 -3 -3 -3 -3 -4 -5 -7 -8 -8 -9 -10 -11 -10 -10 -9 -10 -9 -9 -9 -11 -13 -13 -11 -9 -7 -7 -7 -7 -7 -6 -7 -8 -9 -9 -9 -9 -10 -11 -11 -10 -7 1 9 15 16 9 -7 -8 -6 -3 1 -1 -4 -2 1 1 -0 -1 -2 -3 -5 -7 -8 -9 -9 -10 -10 -12 -13 -14 -12 -5 6 10 7 -0 -5 -2 -6 -9 -10 -9 -8 -2 -2 -3 -2 7 -1 -4 -6 -4 4 9 9 9 9 6 2 -3 -7 -10 -11 -10 -8 -4 -3 -4 -7 -8 -7 -6 -6 -7 -8 -8 -7 -8 -11 -12 -12 -12 -12 -12 -12 -10 -6 -1 0 -2 -8 -11 -9 -3 7 12 11 2 -3 12 15 5 -5 -11 -11 -7 10 17 16 12 12 16 19 20 19 17 13 11 13 18 24 30 35 38 39 41 44 47 48 49 49 49 49 50 51 51 51 51 50 49 48 47 46 45 45 44 43 43 42 41 39 37 35 33 31 30 29 29 29 29 30 30 29 28 26 25 24 22 20 18 15 13 11 8 7 5 4 4 3 1 -1 -4 -6 -6 -5 -4 -4 -4 -5 -5 -4 -3 -1 1 2 1 -1 -4 -8 -11 -13 -14 -14 -14 -13 -14 -15 -16 -16 -14 -12 -9 -5 -1 5 16 29 38 40 38 35 35 35 35 34 33 31 30 30 30 29 27 25 22 20 17 15 12 10 9 7 5 3 1 -1 -3 -5 -4 -3 -1 2 5 7 7 7 4 0 -4 -7 -8 -6 0 11 18 20 17 12 8 5 2 -1 -4 -7 -10 -13 -15 -17 -17 -16 -15 -12 -6 4 9 10 10 10 11 11 9 5 -0 -6 -12 -13 -10 -7 -7 -10 8 20 21 14 8 4 3 4 6 6 2 -3 -7 -11 -12 -11 -9 -7 -5 -3 3 11 21 32 41 42 34 26 24 35 41 39 38 36 34 27 22 20 22 26 34 40 41 38 30 22 15 11 7 4 1 -3 -6 -8 -8 -7 -5 -1 3 8 13 17 2 3 3 1 -1 -4 -5 -6 -7 -8 -7 -6 -6 -5 -6 -7 -9 -10 -11 -12 -12 -12 -13 -13 -14 -13 -12 -10 -9 -9 -8 -9 -10 -10 -9 -7 -6 -6 -6 -5 -5 -6 -7 -8 -9 -9 -9 -11 -12 -12 -12 -11 -6 2 9 14 13 -2 -6 -6 -4 -2 1 -4 -6 -4 -0 1 1 -1 -3 -5 -6 -8 -9 -9 -9 -10 -11 -13 -14 -14 -11 -2 6 8 4 -4 0 -1 -5 -8 -9 -9 -6 -1 -2 -5 4 4 -3 -6 -5 -3 7 10 10 9 8 4 -0 -4 -7 -10 -10 -9 -7 -4 -2 -5 -8 -8 -6 -5 -5 -7 -7 -7 -7 -11 -13 -13 -12 -12 -13 -12 -12 -11 -8 -4 -3 -6 -9 -10 -8 -3 4 8 7 1 -5 12 13 5 -5 -13 -12 2 15 21 17 13 17 21 23 23 20 18 16 15 17 21 26 30 32 34 35 41 46 49 50 50 50 51 52 53 54 54 54 53 52 51 49 48 47 46 46 46 46 45 44 43 40 38 35 33 31 30 30 30 31 31 32 31 30 29 28 26 24 22 20 18 15 12 10 8 6 5 4 2 -1 -4 -7 -8 -7 -6 -6 -7 -8 -10 -11 -10 -9 -6 -2 1 3 3 1 -2 -6 -10 -12 -13 -13 -12 -13 -14 -16 -17 -16 -15 -12 -9 -5 0 8 19 31 40 41 38 36 36 37 37 35 34 32 32 31 31 30 28 25 22 20 17 15 12 10 8 6 4 2 -0 -3 -6 -6 -5 -3 1 4 7 8 8 6 3 -2 -5 -8 -9 -7 1 11 18 20 17 12 8 5 2 -0 -3 -6 -10 -13 -16 -17 -18 -17 -16 -12 -4 6 11 11 9 8 9 9 8 5 -0 -7 -12 -12 -8 -3 -8 -3 8 20 18 11 5 -0 -2 -0 3 3 0 -4 -9 -12 -11 -9 -5 -3 -0 2 7 15 24 34 40 38 31 23 24 37 40 40 39 36 30 25 22 22 26 34 40 44 43 37 28 20 15 11 8 5 1 -3 -6 -8 -9 -7 -4 -1 3 7 12 1 -2 -5 -8 -9 -9 -9 -8 -8 -8 -7 -6 -6 -7 -9 -11 -13 -15 -16 -15 -13 -11 -9 -9 -10 -11 -10 -9 -8 -7 -5 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -8 -9 -11 -12 -13 -14 -11 -6 2 9 13 7 -2 -5 -4 -7 -4 -3 -6 -8 -5 -1 1 1 -1 -3 -5 -6 -7 -8 -9 -9 -11 -12 -13 -13 -13 -8 -1 5 6 2 -4 1 1 -3 -8 -10 -8 -4 -2 -3 -4 6 1 -5 -8 -7 2 8 10 9 8 7 3 -1 -5 -7 -9 -9 -9 -6 -3 -3 -6 -7 -7 -5 -4 -6 -6 -6 -7 -10 -12 -13 -13 -13 -13 -13 -14 -14 -13 -10 -7 -8 -9 -9 -9 -7 -3 2 6 5 -2 -1 8 10 3 -8 -12 -8 7 20 21 16 18 22 26 26 24 22 20 19 21 24 27 28 28 29 32 37 43 48 51 52 52 52 53 55 56 56 56 55 54 53 51 50 49 48 48 48 48 48 47 46 43 41 38 35 33 32 31 32 32 33 33 33 33 32 30 29 27 25 22 20 17 14 11 9 7 5 4 1 -2 -6 -7 -7 -5 -5 -6 -8 -10 -13 -15 -16 -15 -13 -10 -5 -1 3 4 2 -1 -5 -8 -10 -11 -11 -12 -13 -15 -17 -17 -17 -15 -12 -9 -4 2 10 21 32 41 41 38 37 37 38 37 36 35 34 33 33 32 30 28 25 22 20 17 14 12 10 8 6 4 1 -3 -6 -8 -8 -6 -2 3 7 9 10 9 5 1 -3 -7 -9 -10 -6 1 10 19 20 16 12 8 5 3 -0 -3 -6 -9 -13 -16 -18 -18 -18 -16 -11 -1 8 12 10 6 5 6 8 8 5 -1 -7 -11 -11 -5 -4 -7 -4 10 18 14 8 1 -5 -7 -4 -1 0 -2 -6 -11 -12 -10 -5 -1 2 4 7 11 17 26 33 37 36 29 19 30 38 43 42 39 33 28 24 23 25 32 39 45 46 43 35 27 20 15 11 8 5 1 -4 -7 -9 -9 -7 -5 -1 3 7 -11 -12 -12 -12 -11 -9 -8 -7 -6 -6 -6 -7 -8 -10 -10 -11 -11 -11 -12 -12 -12 -10 -8 -7 -6 -6 -4 -1 1 0 0 1 2 1 0 -0 -0 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -6 -8 -11 -13 -14 -14 -12 -6 2 9 12 2 -3 -3 -4 -10 -8 -7 -6 -8 -6 -2 0 1 -1 -2 -4 -5 -7 -8 -9 -11 -11 -11 -12 -12 -10 -4 2 6 5 -3 -3 0 1 -4 -9 -10 -8 -4 -2 -8 2 4 -2 -9 -7 -4 5 10 9 8 8 6 3 -1 -5 -7 -8 -9 -7 -6 -3 -3 -5 -6 -6 -5 -5 -5 -6 -7 -9 -11 -13 -14 -14 -14 -14 -14 -15 -15 -15 -13 -12 -10 -9 -9 -9 -7 -3 1 4 4 -3 -1 4 7 1 -7 -10 -4 9 21 20 20 23 27 28 26 25 22 21 22 25 28 29 29 29 31 35 40 45 50 53 53 54 55 56 58 59 59 58 57 55 54 52 51 50 50 50 51 51 50 49 46 43 40 38 35 34 33 33 34 34 35 35 35 33 32 30 29 27 24 22 19 16 13 10 8 6 4 0 -3 -5 -5 -3 -2 -3 -5 -8 -11 -14 -17 -19 -20 -19 -16 -12 -8 -4 -1 1 2 -0 -3 -6 -9 -10 -10 -11 -13 -16 -18 -18 -17 -15 -13 -8 -2 4 11 20 32 40 41 39 38 38 38 38 37 36 35 34 33 32 30 28 25 23 20 17 14 12 10 8 5 2 -1 -5 -8 -10 -10 -6 0 6 9 11 11 8 4 -1 -5 -9 -11 -11 -7 0 11 19 20 16 12 8 5 3 1 -2 -5 -8 -13 -16 -19 -19 -19 -16 -8 3 12 13 7 2 1 3 7 8 4 -2 -8 -12 -9 -3 -5 -8 -4 10 13 10 4 -3 -8 -10 -8 -4 -1 -3 -9 -12 -12 -8 -1 3 6 8 10 12 17 24 30 35 36 25 24 33 44 47 42 36 30 26 23 23 28 36 43 47 47 41 33 25 19 15 12 9 5 0 -4 -8 -10 -10 -8 -5 -1 3 -11 -11 -11 -10 -8 -7 -6 -5 -5 -5 -7 -9 -11 -12 -12 -10 -8 -8 -10 -12 -13 -11 -10 -8 -7 -7 -4 1 6 9 8 7 7 7 6 6 5 4 3 1 -0 -2 -2 -3 -2 -2 -1 -3 -5 -8 -12 -14 -15 -15 -13 -7 1 9 9 -0 -7 -3 -5 -10 -11 -9 -8 -7 -6 -4 -2 -1 -1 -1 -3 -5 -7 -9 -11 -11 -11 -10 -11 -10 -6 -1 4 6 5 -6 -5 0 1 -5 -10 -11 -9 -4 -3 -5 2 2 -5 -11 -8 1 9 12 10 9 7 5 1 -2 -5 -7 -8 -8 -8 -6 -2 -2 -4 -5 -6 -5 -5 -6 -7 -8 -9 -11 -13 -15 -15 -15 -14 -14 -14 -16 -16 -15 -12 -11 -10 -10 -8 -6 -3 1 3 0 -5 -4 2 5 -0 -8 -10 -3 12 21 24 26 28 29 28 26 25 24 23 24 27 30 32 33 33 35 39 44 50 55 55 56 57 58 59 61 61 60 59 58 56 54 53 52 52 52 53 53 53 51 49 46 43 40 38 35 34 34 35 36 36 37 36 35 33 31 30 28 26 24 21 18 15 12 9 6 4 0 -2 -2 -1 1 1 -1 -4 -7 -10 -14 -17 -20 -21 -22 -20 -18 -15 -12 -8 -5 -2 -0 -0 -2 -5 -8 -9 -10 -12 -15 -17 -18 -18 -18 -16 -13 -7 -1 4 10 18 30 38 41 40 39 39 40 40 39 38 37 35 34 33 31 28 26 23 20 17 14 12 9 7 5 1 -3 -7 -11 -13 -11 -4 3 9 13 13 11 7 2 -2 -7 -10 -12 -12 -8 0 12 19 20 16 11 7 5 3 1 -1 -4 -8 -13 -18 -20 -20 -19 -14 -4 9 16 11 4 -2 -4 1 6 7 3 -4 -11 -11 -6 -4 -6 -11 -0 7 9 6 -0 -6 -9 -11 -10 -6 -2 -6 -11 -13 -11 -4 1 6 9 11 11 12 15 20 29 38 36 26 28 40 51 45 39 33 28 23 21 23 29 38 44 47 45 39 32 24 19 16 12 8 4 -0 -4 -9 -11 -12 -9 -5 -1 -8 -8 -8 -7 -7 -6 -5 -4 -5 -6 -9 -12 -14 -14 -13 -10 -9 -9 -10 -11 -12 -10 -9 -8 -8 -9 -10 -6 1 9 13 13 12 11 10 10 9 9 8 6 5 3 1 -0 -1 -2 -1 -2 -3 -6 -9 -13 -16 -17 -17 -13 -8 0 7 6 -1 -9 -5 -7 -10 -11 -10 -7 -6 -6 -5 -4 -2 -1 -1 -3 -5 -7 -9 -10 -10 -10 -10 -10 -8 -4 -0 2 5 2 -5 -7 -1 -2 -8 -11 -12 -9 -3 -7 -4 -0 -0 -8 -10 -4 6 14 13 9 8 7 4 0 -3 -4 -6 -8 -9 -9 -4 0 0 -3 -6 -6 -6 -6 -7 -8 -9 -10 -12 -14 -16 -16 -15 -14 -14 -15 -15 -15 -13 -12 -11 -11 -10 -8 -5 -2 0 -0 -4 -8 -7 1 2 -4 -10 -12 -3 13 23 28 30 31 29 26 26 26 25 25 27 31 34 35 35 36 39 44 51 56 57 57 58 59 61 62 63 63 62 60 59 57 55 54 54 54 55 55 55 54 52 49 46 43 40 37 36 35 36 36 37 38 37 36 34 32 30 29 27 26 23 20 17 14 11 7 4 2 1 2 3 4 3 1 -2 -5 -9 -12 -16 -18 -21 -22 -23 -22 -20 -18 -15 -12 -9 -5 -2 -1 -2 -5 -7 -9 -11 -13 -16 -18 -19 -19 -19 -17 -12 -5 0 4 7 16 27 36 41 41 41 42 42 41 40 39 37 36 35 34 32 29 26 23 20 17 14 11 9 7 3 -1 -6 -10 -14 -14 -10 -2 6 13 15 14 10 5 0 -5 -9 -12 -14 -13 -10 1 13 20 21 16 11 7 5 3 2 0 -3 -9 -15 -19 -21 -20 -18 -12 2 15 15 8 -0 -6 -6 0 5 6 1 -6 -11 -9 -6 -5 -10 -7 -0 5 6 1 -4 -7 -9 -10 -11 -5 -5 -9 -14 -14 -8 -2 4 9 12 11 8 8 11 20 33 40 35 29 31 48 46 42 37 31 24 20 19 22 29 38 43 45 43 38 30 24 19 15 11 8 4 -0 -5 -10 -14 -13 -8 -4 -7 -8 -9 -8 -8 -6 -6 -6 -8 -11 -15 -15 -14 -12 -10 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -4 -5 -6 -4 4 13 16 15 13 11 11 11 11 10 9 7 6 4 2 1 -1 -2 -3 -5 -7 -11 -14 -17 -18 -17 -13 -7 0 5 4 -4 -7 -5 -7 -9 -10 -8 -7 -6 -6 -6 -5 -3 -1 -1 -3 -5 -8 -9 -10 -10 -9 -9 -9 -7 -4 -2 0 3 0 -5 -7 -3 -5 -8 -11 -11 -8 -5 -7 -5 -2 -4 -10 -8 1 12 16 12 9 8 7 4 1 -1 -4 -6 -9 -11 -9 -3 2 2 -2 -6 -6 -6 -5 -6 -9 -9 -10 -12 -16 -17 -16 -15 -14 -14 -14 -14 -13 -13 -11 -11 -10 -9 -6 -3 -0 -2 -6 -9 -10 -7 -1 -1 -6 -13 -14 0 15 25 30 32 29 26 26 28 29 27 28 30 33 34 34 34 36 40 46 52 55 56 58 61 63 64 65 65 65 63 62 60 58 57 56 56 57 57 57 56 55 52 49 45 42 40 38 37 36 37 38 39 38 37 35 33 31 30 29 27 25 22 19 16 12 9 7 5 5 6 6 6 5 3 0 -3 -7 -10 -13 -16 -19 -21 -23 -24 -24 -23 -21 -18 -15 -11 -7 -3 -1 -3 -5 -8 -10 -12 -14 -16 -18 -19 -20 -20 -16 -10 -3 2 2 4 11 21 32 38 41 43 44 43 42 41 40 38 37 37 35 33 30 26 23 19 16 13 11 9 6 2 -3 -8 -13 -15 -14 -8 1 11 16 16 14 9 4 -2 -7 -11 -14 -16 -15 -9 3 14 22 21 15 11 7 5 4 3 0 -4 -10 -17 -20 -21 -20 -17 -8 9 16 13 4 -4 -7 -5 -0 4 4 -2 -9 -10 -8 -6 -8 -9 -5 -1 3 1 -3 -6 -7 -8 -10 -9 -7 -8 -13 -15 -12 -6 1 7 13 12 7 3 4 12 26 38 41 35 23 35 41 42 39 35 27 20 15 14 17 28 35 41 43 42 36 29 23 18 14 10 7 3 -1 -7 -13 -15 -13 -7 -10 -11 -11 -10 -9 -7 -6 -8 -11 -15 -18 -16 -12 -8 -6 -6 -6 -6 -6 -6 -7 -6 -7 -8 -8 -8 -6 -3 -2 -3 -5 -5 2 6 8 9 11 11 11 11 10 9 7 6 5 3 1 -2 -3 -5 -6 -9 -12 -15 -17 -17 -16 -12 -7 -1 3 -0 -8 -5 -4 -6 -8 -8 -8 -7 -6 -5 -6 -5 -3 -2 -1 -3 -5 -7 -9 -10 -10 -9 -9 -8 -7 -6 -5 -1 2 0 -5 -8 -6 -6 -8 -10 -9 -6 -6 -6 -5 -4 -10 -11 -4 8 17 14 11 9 8 6 4 1 -1 -4 -7 -11 -11 -7 -1 3 3 -2 -5 -6 -4 -3 -6 -8 -9 -10 -14 -16 -16 -15 -15 -13 -13 -13 -13 -13 -12 -11 -11 -10 -8 -4 -0 -1 -7 -10 -10 -10 -7 -4 -5 -9 -14 -11 1 15 25 30 28 27 28 31 33 30 29 30 31 32 31 31 32 35 40 48 53 55 58 62 64 65 67 67 67 66 65 63 61 60 59 59 59 59 59 58 57 55 52 48 45 42 40 38 37 37 38 39 39 38 36 33 31 30 29 28 27 25 22 18 15 12 10 8 8 9 9 9 8 6 4 1 -3 -7 -10 -13 -15 -19 -22 -24 -26 -26 -25 -23 -20 -16 -12 -8 -4 -2 -3 -6 -9 -11 -14 -15 -17 -18 -20 -21 -20 -15 -7 1 3 1 1 5 15 25 33 39 43 45 44 43 42 41 40 39 38 36 33 30 26 22 19 15 13 11 8 5 0 -5 -11 -15 -16 -13 -6 6 15 18 17 13 7 2 -4 -9 -13 -16 -17 -16 -8 4 17 23 20 15 11 8 6 4 2 -1 -6 -12 -18 -20 -21 -19 -17 0 13 17 10 0 -6 -7 -4 -1 3 0 -6 -9 -10 -7 -7 -8 -8 -5 -1 -0 -3 -5 -7 -7 -7 -10 -8 -8 -12 -15 -13 -10 -4 4 11 12 7 1 -1 6 20 32 39 38 24 17 26 33 36 37 31 22 15 10 8 12 24 33 38 42 40 34 28 22 17 13 9 5 1 -3 -9 -15 -16 -12 -15 -13 -11 -8 -6 -4 -3 -5 -8 -11 -12 -11 -9 -8 -9 -10 -10 -11 -10 -9 -7 -7 -8 -9 -10 -10 -9 -8 -7 -6 -6 -5 -5 -4 -4 -4 -3 2 7 10 10 9 7 6 5 3 2 -1 -3 -5 -7 -9 -11 -13 -15 -15 -15 -15 -13 -8 -3 -1 -7 -7 -4 -3 -5 -8 -9 -8 -7 -5 -4 -5 -5 -4 -2 -1 -3 -4 -7 -8 -9 -9 -9 -8 -8 -7 -6 -5 -0 2 -0 -8 -7 -5 -6 -8 -9 -8 -7 -7 -7 -6 -8 -11 -8 2 14 16 12 10 8 7 5 4 2 -1 -4 -9 -11 -10 -6 -1 3 1 -3 -6 -5 -1 -1 -4 -6 -8 -10 -14 -16 -16 -15 -13 -13 -13 -12 -12 -12 -11 -11 -10 -10 -8 -4 -2 -5 -9 -10 -12 -10 -7 -7 -10 -13 -12 -7 1 13 24 28 29 29 31 34 31 29 29 30 29 27 27 29 31 36 44 52 57 61 64 65 66 68 69 70 69 68 66 65 63 62 61 61 61 61 60 59 57 55 51 48 45 42 40 38 37 38 39 40 39 37 35 32 31 30 29 29 27 24 21 18 15 13 12 12 12 11 11 11 10 8 5 1 -3 -6 -9 -12 -15 -19 -23 -26 -27 -28 -26 -24 -21 -17 -13 -8 -3 -2 -3 -7 -11 -13 -15 -16 -17 -19 -21 -21 -19 -13 -2 4 4 1 -2 -1 6 15 25 33 41 43 44 44 44 43 42 41 39 37 33 29 25 21 18 15 13 10 7 4 -1 -8 -13 -17 -17 -12 -2 10 17 19 17 12 6 -0 -6 -11 -15 -18 -19 -16 -9 6 19 23 20 15 11 8 6 4 0 -4 -9 -14 -18 -20 -20 -19 -10 6 17 15 6 -2 -6 -6 -4 -1 -0 -4 -8 -10 -8 -7 -8 -8 -7 -5 -3 -3 -5 -6 -6 -5 -8 -9 -9 -11 -13 -13 -11 -8 -1 8 12 8 1 -5 1 14 26 33 33 21 5 7 16 24 32 33 26 17 9 4 -1 0 10 28 36 41 39 33 26 21 16 12 7 2 -2 -5 -12 -16 -16 -14 -11 -6 -3 -1 -0 -1 -2 -5 -8 -7 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -5 -6 -7 -9 -9 -9 -8 -7 -6 -4 -2 -1 -1 2 6 9 8 6 5 3 2 -1 -3 -5 -7 -9 -11 -12 -13 -14 -14 -15 -16 -14 -11 -6 -6 -8 -6 -2 -2 -6 -8 -9 -8 -6 -3 -4 -5 -5 -4 -2 -1 -2 -4 -5 -7 -8 -9 -9 -8 -7 -6 -5 -2 1 2 -4 -8 -5 -4 -6 -8 -8 -8 -8 -7 -6 -7 -9 -9 -4 5 13 13 10 8 7 7 6 4 2 -1 -6 -9 -10 -9 -6 -1 1 -2 -5 -7 -3 3 2 -1 -5 -7 -12 -15 -16 -15 -14 -13 -13 -12 -12 -12 -12 -11 -11 -11 -10 -8 -6 -5 -6 -8 -13 -9 -6 -6 -9 -13 -14 -10 -4 2 11 22 29 32 34 35 31 28 29 30 28 23 23 25 29 34 41 51 59 65 66 66 68 69 70 71 72 71 70 68 66 64 63 63 63 63 62 62 60 57 54 50 47 44 42 39 38 38 40 41 40 39 36 34 32 31 30 29 28 26 24 21 18 16 15 15 14 14 14 13 13 12 10 6 2 -2 -5 -9 -12 -16 -20 -24 -27 -28 -28 -27 -24 -21 -17 -13 -7 -2 -1 -4 -9 -12 -14 -14 -15 -16 -19 -21 -22 -18 -9 0 6 6 2 -2 -4 -2 3 12 24 33 40 43 45 46 45 44 42 40 36 32 28 24 21 17 15 13 10 7 2 -4 -11 -16 -18 -17 -10 3 14 20 20 16 10 4 -2 -8 -12 -16 -19 -20 -17 -9 9 20 24 20 14 11 8 5 1 -3 -8 -12 -15 -17 -19 -18 -17 -5 10 18 11 2 -3 -6 -6 -4 -2 -3 -6 -9 -8 -7 -7 -7 -8 -8 -7 -6 -6 -7 -8 -4 -5 -8 -9 -10 -12 -11 -10 -9 -6 4 10 9 2 -6 -3 9 20 26 26 16 1 -5 -3 5 15 26 27 21 11 4 -5 -15 -12 7 24 35 40 38 32 25 20 15 9 3 -2 -5 -9 -13 -17 -12 -10 -8 -6 -6 -6 -8 -8 -7 -5 -3 -4 -5 -6 -6 -6 -6 -6 -5 -4 -5 -5 -5 -5 -5 -4 -3 -3 -4 -6 -8 -9 -9 -9 -8 -5 -2 -1 -2 -3 -1 3 6 6 5 4 2 -0 -3 -5 -6 -8 -9 -11 -12 -13 -13 -14 -16 -16 -15 -12 -8 -9 -8 -5 -1 -3 -6 -8 -8 -7 -4 -2 -4 -5 -5 -3 -1 -1 -1 -3 -5 -7 -8 -9 -8 -7 -5 -4 -3 -1 1 -1 -9 -6 -3 -5 -8 -9 -9 -10 -9 -8 -6 -6 -6 -5 -4 5 10 11 9 8 7 7 6 4 1 -3 -7 -9 -9 -8 -6 -2 -2 -5 -8 -8 2 7 7 2 -3 -9 -14 -16 -15 -14 -13 -12 -12 -13 -13 -12 -11 -12 -12 -12 -12 -10 -8 -5 -3 -2 -8 -4 0 -3 -11 -15 -14 -8 -0 3 11 22 31 36 36 34 31 30 30 29 25 22 22 25 30 36 46 56 63 66 68 68 68 69 71 74 74 73 72 70 67 65 65 65 65 65 64 63 60 57 53 50 46 43 41 39 39 40 41 41 41 38 36 33 31 30 30 29 28 27 25 22 20 18 17 17 16 16 16 15 15 13 11 7 3 -1 -5 -9 -13 -17 -21 -24 -27 -28 -28 -27 -24 -21 -17 -11 -5 0 0 -6 -11 -13 -13 -12 -13 -16 -19 -21 -21 -16 -7 2 7 7 4 -1 -6 -9 -9 -1 11 23 33 40 44 46 47 45 43 39 35 31 27 23 20 17 15 13 10 6 -1 -7 -14 -18 -20 -16 -5 7 18 21 19 14 8 2 -5 -10 -14 -18 -20 -21 -19 -6 11 23 25 19 14 11 7 3 -3 -8 -11 -13 -14 -16 -17 -17 -12 -2 15 13 6 -0 -4 -5 -5 -4 -4 -6 -9 -8 -8 -8 -8 -10 -12 -12 -11 -10 -11 -11 -6 -5 -6 -8 -9 -10 -9 -8 -9 -9 -1 7 10 4 -6 -4 5 14 20 19 11 0 -9 -7 14 15 19 23 23 15 6 -4 -15 -19 -11 7 23 35 41 37 30 23 17 11 3 -3 -6 -8 -11 -15 -11 -9 -5 -2 -1 1 3 4 5 4 3 1 1 1 1 1 1 -0 -1 -2 -4 -6 -6 -6 -6 -6 -5 -4 -4 -5 -6 -8 -9 -9 -9 -8 -7 -3 -2 -3 -4 -4 -0 2 4 4 3 1 -1 -3 -5 -7 -8 -9 -11 -12 -13 -14 -15 -15 -15 -14 -13 -10 -10 -8 -3 0 -3 -6 -7 -8 -8 -4 -2 -2 -4 -4 -3 -1 -1 -1 -2 -4 -6 -7 -8 -7 -5 -4 -2 -1 1 2 -8 -7 -3 -3 -8 -9 -9 -10 -11 -11 -7 -6 -5 -3 -3 -5 3 9 9 8 8 7 6 4 2 -1 -4 -7 -8 -8 -8 -6 -4 -5 -8 -11 -4 6 12 10 3 -4 -11 -14 -15 -14 -12 -12 -13 -14 -14 -13 -12 -12 -12 -13 -13 -14 -12 -8 -2 6 -0 -1 2 4 -4 -14 -17 -12 -4 1 4 12 22 32 38 38 35 30 28 27 26 23 20 19 20 23 30 41 51 57 63 65 64 64 67 73 76 76 75 73 69 67 66 66 67 67 67 66 63 60 56 52 49 45 42 40 39 40 41 42 42 40 38 35 32 31 30 30 30 30 29 26 24 22 20 19 18 18 17 17 17 16 15 12 8 4 -1 -5 -9 -13 -17 -21 -24 -27 -28 -28 -26 -23 -20 -15 -9 -2 3 -2 -7 -10 -10 -9 -9 -12 -15 -18 -21 -20 -14 -6 3 9 8 4 -1 -7 -13 -15 -11 -2 9 21 31 39 45 47 45 42 38 33 29 26 23 20 18 15 12 8 3 -4 -11 -17 -21 -20 -13 -1 12 21 21 18 13 6 -1 -7 -11 -16 -19 -22 -22 -17 -3 14 26 24 19 14 9 5 -1 -7 -11 -13 -12 -13 -15 -16 -14 -10 4 10 8 2 -2 -5 -5 -5 -6 -8 -9 -10 -10 -10 -9 -13 -13 -14 -15 -16 -16 -15 -11 -7 -6 -7 -8 -8 -7 -5 -6 -9 -5 3 9 7 -4 -5 2 10 16 13 7 1 -5 -5 20 26 25 23 22 18 9 -2 -12 -18 -13 -2 9 23 37 41 34 26 19 12 4 -3 -8 -9 -10 -12 -4 -0 2 4 5 6 7 5 3 1 -0 0 2 2 3 3 2 1 -1 -3 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -7 -6 -7 -8 -6 -4 -2 -4 -6 -4 -2 1 3 4 2 -0 -3 -5 -6 -8 -10 -11 -13 -14 -14 -14 -13 -13 -13 -12 -11 -10 -8 -3 -0 -3 -7 -8 -8 -8 -3 -1 -2 -4 -4 -4 -2 -1 -1 -1 -3 -6 -7 -8 -7 -5 -3 -1 2 3 -3 -8 -6 -1 -6 -8 -8 -9 -11 -12 -9 -6 -5 -4 -1 -3 -6 -1 6 8 8 8 7 5 3 1 -2 -4 -5 -6 -7 -7 -5 -5 -8 -12 -11 -1 10 15 10 2 -6 -11 -13 -13 -12 -12 -13 -14 -15 -14 -13 -12 -12 -13 -14 -16 -15 -11 -5 5 6 -0 -1 6 3 -9 -16 -15 -9 -2 2 6 12 21 30 36 36 33 29 27 22 18 17 17 17 15 14 14 16 22 35 48 57 61 62 66 73 77 78 77 72 68 67 67 69 70 70 69 67 64 59 55 51 47 44 41 40 40 42 43 43 42 39 36 33 31 30 31 32 32 32 30 28 25 23 22 20 19 19 18 18 18 18 16 13 8 4 0 -4 -8 -12 -17 -21 -24 -26 -27 -27 -25 -22 -18 -14 -7 2 2 -2 -6 -7 -5 -5 -7 -10 -14 -18 -19 -18 -13 -5 5 8 7 2 -4 -10 -15 -16 -14 -11 -7 2 17 31 41 46 45 40 36 32 29 26 23 20 17 14 11 6 -0 -7 -14 -20 -22 -19 -9 4 17 20 19 16 11 4 -3 -8 -13 -17 -21 -22 -21 -15 -2 18 25 23 18 13 8 1 -6 -11 -14 -13 -10 -12 -14 -14 -12 -5 3 5 2 -3 -5 -6 -7 -8 -10 -10 -12 -13 -11 -9 -11 -12 -12 -13 -16 -19 -19 -18 -14 -8 -7 -8 -7 -5 -3 -3 -8 -8 -1 6 9 -1 -4 -0 8 14 11 5 2 0 2 7 27 34 31 27 21 12 2 -9 -16 -13 -2 3 11 25 40 36 29 20 12 5 -3 -9 -12 -12 -10 0 2 2 2 2 2 2 -1 -3 -5 -4 -2 -1 -2 -2 -3 -5 -6 -8 -9 -10 -9 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -5 -3 -2 -3 -5 -5 -3 2 4 4 1 -3 -6 -7 -8 -9 -11 -12 -12 -12 -12 -12 -12 -12 -10 -9 -9 -9 -3 -1 -3 -7 -10 -10 -7 -3 0 -1 -2 -4 -4 -3 -2 -1 -2 -4 -6 -8 -8 -7 -5 -2 1 4 1 -8 -9 -2 -4 -7 -7 -8 -10 -11 -11 -8 -5 -5 -6 -3 -5 -6 -4 4 5 6 6 6 5 3 -0 -2 -3 -4 -6 -7 -6 -6 -7 -10 -14 -11 -1 11 15 8 -1 -7 -11 -12 -12 -12 -13 -14 -15 -15 -13 -12 -12 -12 -14 -16 -16 -14 -10 -0 4 -2 -5 1 6 -2 -11 -15 -13 -10 -2 3 6 10 17 25 30 33 32 28 23 20 21 25 26 23 17 10 4 0 7 24 41 52 54 54 58 66 75 80 75 70 68 69 70 72 72 72 70 67 62 57 53 49 46 43 41 41 42 43 44 43 41 38 35 32 31 32 33 34 34 33 31 29 26 24 22 21 20 19 19 20 20 19 17 13 9 5 1 -3 -7 -12 -16 -20 -24 -26 -27 -27 -24 -21 -17 -13 -5 2 2 -0 -2 -2 -2 -3 -6 -10 -14 -17 -17 -16 -12 -4 5 8 6 -0 -7 -12 -15 -15 -14 -12 -12 -10 1 20 39 44 43 38 34 31 29 26 23 20 17 13 9 4 -3 -11 -18 -22 -22 -17 -5 10 17 19 18 15 9 2 -5 -10 -15 -18 -21 -21 -19 -14 1 17 23 22 17 11 5 -3 -10 -14 -14 -10 -9 -11 -13 -12 -11 -4 -1 -2 -6 -8 -9 -9 -8 -9 -11 -14 -15 -13 -8 -7 -10 -11 -12 -16 -20 -22 -23 -20 -14 -9 -10 -8 -4 -1 1 -5 -8 -6 2 8 2 -3 -1 6 13 11 7 4 5 12 -1 14 29 38 30 23 16 6 -5 -15 -14 -4 4 7 8 31 36 31 22 12 4 -3 -9 -13 -15 -11 -2 -2 -3 -3 -2 -2 -2 -3 -4 -4 -2 -1 -2 -3 -4 -6 -8 -10 -10 -10 -10 -9 -6 -5 -6 -7 -8 -7 -7 -7 -6 -6 -5 -5 -5 -6 -6 -7 -6 -6 -4 -3 -2 -2 -2 -4 -6 -6 -2 2 3 1 -3 -5 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -7 -4 -1 -2 -7 -10 -9 -5 -0 2 0 -2 -4 -4 -3 -3 -2 -3 -5 -7 -9 -8 -7 -4 -1 3 3 -5 -9 -5 -3 -6 -6 -7 -9 -11 -11 -10 -7 -5 -7 -7 -6 -7 -8 -5 1 2 3 4 6 6 4 2 0 -1 -2 -4 -6 -7 -7 -7 -12 -15 -11 -2 10 10 5 -1 -6 -8 -9 -10 -12 -14 -15 -14 -13 -12 -12 -12 -13 -14 -14 -15 -14 -8 -2 -0 -4 -7 3 2 -5 -11 -14 -16 -8 -1 4 6 8 13 18 24 27 27 24 22 23 26 29 27 23 17 9 0 -2 3 16 30 42 46 46 50 59 71 76 71 69 70 72 74 75 75 73 70 65 60 55 51 47 45 42 42 42 44 45 44 42 39 36 33 32 32 33 35 35 35 34 32 29 26 24 22 21 21 21 21 21 21 20 18 14 10 6 2 -2 -7 -12 -16 -20 -24 -26 -27 -26 -23 -20 -17 -13 -5 1 4 3 2 1 -0 -3 -6 -10 -14 -15 -16 -14 -11 -1 6 8 4 -4 -10 -13 -14 -12 -12 -11 -11 -10 -7 9 33 42 41 37 33 32 29 26 23 19 16 12 7 1 -7 -15 -21 -24 -21 -14 2 12 17 18 16 13 7 -0 -7 -12 -16 -19 -20 -20 -19 -13 3 16 22 21 16 9 1 -7 -13 -16 -12 -9 -8 -10 -12 -14 -11 -8 -7 -9 -9 -8 -7 -6 -7 -11 -16 -18 -16 -10 -5 -9 -13 -14 -17 -21 -24 -25 -24 -21 -12 -12 -9 -4 1 4 -1 -7 -8 -3 6 3 -1 -1 4 11 11 8 5 7 18 14 6 16 39 34 26 20 11 -1 -14 -15 -7 2 7 2 15 26 30 23 12 2 -4 -9 -14 -18 -16 -5 -5 -3 -2 -0 1 2 2 2 3 4 3 2 1 1 0 -1 -3 -3 -3 -3 -5 -5 -3 -2 -3 -7 -8 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -6 -6 -5 -4 -2 -2 -3 -4 -5 -6 -6 -4 -1 1 2 -1 -4 -7 -9 -10 -10 -10 -10 -11 -11 -10 -10 -9 -8 -6 -5 -5 -4 -2 -1 -5 -8 -7 -2 3 3 -0 -2 -4 -5 -4 -4 -3 -3 -5 -7 -8 -8 -7 -4 -1 1 -3 -7 -8 -4 -5 -6 -7 -8 -10 -10 -11 -9 -6 -6 -9 -9 -8 -8 -9 -5 -2 -1 0 2 6 7 6 5 5 4 1 -3 -6 -7 -6 -9 -13 -15 -12 -2 5 5 3 -1 -4 -5 -7 -10 -12 -14 -13 -13 -12 -12 -12 -12 -12 -13 -15 -16 -14 -8 -3 -4 -8 -2 3 1 -7 -14 -16 -13 -7 -1 4 7 7 8 11 16 20 22 22 22 24 28 29 28 24 16 7 0 -2 1 10 24 36 40 41 43 50 57 62 67 71 73 75 77 77 76 74 68 62 57 52 49 46 44 42 43 45 46 45 43 40 37 34 33 33 34 35 36 37 36 34 31 28 26 25 24 23 23 23 23 23 22 21 18 14 10 7 3 -2 -7 -12 -17 -21 -24 -26 -26 -25 -22 -20 -18 -13 -5 3 7 6 4 2 -0 -3 -7 -11 -14 -14 -13 -12 -7 1 8 8 1 -6 -11 -12 -11 -9 -9 -9 -9 -8 -9 6 28 41 41 37 35 32 29 26 22 19 16 11 5 -3 -11 -19 -24 -25 -20 -7 6 14 15 15 15 11 4 -3 -10 -14 -17 -18 -19 -19 -18 -10 3 16 22 20 14 6 -3 -11 -16 -14 -10 -6 -6 -10 -15 -16 -14 -11 -11 -11 -9 -7 -5 -4 -8 -16 -21 -21 -13 -7 -10 -14 -16 -18 -21 -24 -26 -27 -27 -18 -14 -11 -6 1 6 3 -4 -9 -7 2 2 -0 -2 2 7 9 9 7 10 20 22 14 13 31 36 30 24 17 4 -10 -15 -10 -1 6 5 -7 6 20 23 13 0 -7 -12 -14 -18 -20 -4 -1 2 4 6 7 7 7 7 6 6 5 5 5 5 6 8 6 6 6 6 6 6 2 -2 -2 -2 -5 -6 -5 -4 -3 -3 -3 -4 -5 -5 -6 -6 -6 -5 -5 -4 -3 -3 -4 -5 -5 -6 -6 -5 -3 -1 -1 -2 -4 -6 -8 -9 -10 -10 -11 -11 -10 -10 -10 -9 -6 -4 -4 -4 -4 -2 -0 -3 -4 -3 2 3 2 -1 -3 -5 -5 -5 -4 -3 -2 -5 -7 -9 -9 -7 -5 -3 -3 -6 -9 -6 -6 -6 -7 -7 -9 -10 -11 -10 -8 -6 -7 -9 -9 -9 -9 -9 -5 -2 -2 -2 0 4 7 9 10 11 8 3 -2 -5 -5 -6 -10 -14 -16 -10 -3 3 5 4 1 -2 -4 -7 -10 -12 -12 -12 -12 -12 -12 -12 -12 -13 -14 -15 -16 -12 -7 -4 -5 -9 1 3 -4 -11 -13 -11 -10 -8 -3 4 8 7 6 5 8 14 18 21 24 28 30 30 27 21 14 7 2 -1 0 8 22 33 37 37 37 39 49 60 69 74 77 79 80 79 77 71 65 59 54 50 48 45 43 43 46 47 47 44 41 38 35 34 34 35 36 37 38 38 36 33 31 29 28 27 26 26 25 25 25 25 24 22 18 14 10 7 3 -2 -8 -13 -17 -21 -23 -25 -25 -24 -22 -21 -19 -13 -3 8 9 7 4 2 -0 -4 -8 -12 -13 -12 -10 -10 -5 5 10 5 -1 -8 -11 -11 -8 -7 -7 -7 -6 -6 -7 6 25 42 41 38 35 32 28 25 22 19 15 10 2 -6 -15 -22 -26 -24 -14 -0 10 14 12 13 12 9 1 -7 -11 -14 -16 -17 -18 -19 -16 -8 4 18 22 18 11 2 -7 -14 -15 -11 -6 -3 -8 -14 -17 -16 -14 -12 -12 -12 -10 -8 -5 -7 -12 -18 -19 -13 -11 -12 -14 -16 -17 -19 -21 -24 -26 -27 -21 -17 -14 -10 -2 5 6 -0 -8 -10 -3 -1 -2 -2 1 4 9 11 11 13 21 27 26 17 7 29 30 28 22 9 -7 -14 -12 -4 3 3 -2 -11 -10 17 13 -0 -10 -15 -16 -19 -22 -0 2 3 4 5 4 3 2 1 -0 -2 -3 -3 -2 -0 1 3 3 3 3 5 7 9 8 4 -1 -3 -2 -3 -3 -3 -3 -4 -5 -6 -6 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -5 -5 -6 -6 -5 -4 -3 -3 -4 -6 -7 -9 -9 -10 -10 -10 -10 -10 -9 -8 -6 -3 -1 -2 -5 -2 0 1 0 2 4 3 1 -1 -3 -5 -6 -5 -4 -3 -3 -6 -9 -10 -10 -9 -7 -6 -6 -8 -8 -8 -8 -7 -7 -7 -10 -11 -10 -9 -6 -6 -8 -10 -10 -9 -10 -7 -3 -1 -3 -4 -1 3 8 12 15 15 11 6 -0 -4 -6 -8 -11 -14 -13 -8 -2 3 6 5 3 1 -2 -6 -9 -11 -11 -12 -13 -13 -13 -14 -14 -15 -14 -15 -13 -10 -8 -8 -13 -3 3 1 -6 -10 -10 -10 -9 -8 -4 2 7 8 6 1 5 12 20 25 28 30 30 28 24 18 13 8 4 1 2 10 23 35 41 38 32 38 51 64 73 78 80 82 82 80 75 68 62 56 51 49 46 44 44 46 48 48 46 42 39 36 35 35 35 37 39 39 39 37 35 34 32 31 30 29 28 28 27 27 27 26 24 21 17 13 9 6 2 -3 -9 -14 -18 -21 -22 -23 -24 -24 -23 -22 -18 -11 3 10 10 7 4 2 -1 -5 -9 -12 -12 -9 -10 -8 -2 10 9 3 -4 -9 -11 -9 -7 -6 -7 -6 -3 -5 -5 2 25 38 39 38 35 31 26 24 22 19 14 7 -1 -10 -19 -25 -27 -20 -7 5 12 11 9 10 10 6 -3 -9 -12 -14 -15 -16 -17 -17 -14 -7 7 19 21 16 8 -2 -11 -14 -13 -8 -2 -4 -11 -16 -18 -16 -12 -11 -12 -14 -14 -10 -8 -10 -13 -13 -13 -15 -15 -14 -15 -17 -17 -18 -20 -23 -25 -21 -18 -16 -13 -6 2 6 2 -6 -13 -8 -5 -4 -3 -0 3 8 12 14 17 23 30 34 29 9 17 22 25 24 13 -3 -13 -14 -6 1 1 -1 -7 -11 -1 7 -1 -12 -19 -19 -21 -24 -1 -1 -1 -2 -2 -3 -3 -4 -6 -7 -9 -9 -8 -8 -7 -7 -7 -7 -6 -5 -3 -1 3 7 8 5 -2 -4 -1 -1 -2 -2 -4 -5 -7 -8 -8 -8 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -6 -6 -5 -5 -4 -5 -6 -7 -8 -9 -10 -10 -10 -10 -9 -9 -7 -3 0 1 -5 -4 1 4 5 5 5 4 2 -1 -4 -6 -6 -6 -5 -4 -5 -8 -10 -12 -11 -11 -10 -8 -6 -9 -10 -9 -8 -7 -6 -9 -10 -10 -9 -8 -6 -8 -9 -10 -10 -10 -9 -4 -0 0 -3 -5 -3 2 8 14 18 18 14 7 -0 -5 -7 -9 -11 -12 -10 -7 -2 3 7 8 7 5 0 -5 -8 -10 -11 -12 -14 -15 -16 -17 -17 -14 -13 -14 -14 -14 -13 -12 -8 -1 4 -0 -7 -10 -10 -10 -9 -7 -5 -1 3 5 2 0 4 13 23 28 29 30 29 26 21 16 13 9 5 3 4 14 30 44 49 39 40 50 63 73 79 82 83 84 83 78 72 64 57 52 49 46 44 44 47 49 49 47 43 40 37 35 35 36 38 40 40 40 39 38 37 36 35 33 32 31 30 29 29 29 28 27 23 19 15 12 9 5 1 -5 -10 -15 -18 -20 -21 -21 -23 -24 -24 -22 -18 -4 7 11 10 6 4 1 -3 -7 -11 -11 -9 -8 -8 -7 5 10 7 1 -6 -10 -10 -7 -6 -6 -6 -4 -1 -3 -6 -4 17 27 32 33 32 28 25 24 22 19 12 4 -5 -14 -23 -27 -23 -13 -0 11 10 7 7 8 8 1 -6 -10 -12 -13 -14 -16 -16 -15 -12 -5 11 20 20 13 3 -7 -13 -14 -11 -4 -2 -6 -13 -19 -16 -10 -9 -12 -16 -19 -16 -12 -11 -11 -11 -13 -17 -17 -14 -13 -16 -17 -17 -17 -18 -21 -19 -17 -16 -15 -9 -1 4 3 -6 -15 -13 -10 -7 -3 -1 3 8 13 17 21 25 32 36 32 11 -9 -8 9 19 14 1 -11 -15 -9 -1 -0 -2 -6 -10 -8 1 -4 -14 -21 -22 -24 -28 -4 -5 -5 -6 -6 -7 -7 -8 -9 -10 -11 -12 -12 -11 -10 -10 -12 -15 -14 -13 -12 -11 -7 -2 4 8 5 -4 -3 -1 -0 -1 -3 -5 -7 -8 -9 -9 -8 -7 -6 -7 -8 -8 -9 -10 -11 -11 -9 -9 -8 -7 -4 -3 -3 -5 -7 -7 -5 -4 -4 -5 -7 -9 -10 -10 -10 -9 -9 -9 -8 -5 2 4 -3 -4 1 7 7 6 5 4 2 -2 -4 -6 -7 -7 -5 -5 -6 -10 -12 -12 -13 -13 -11 -6 -5 -9 -11 -11 -9 -7 -8 -8 -9 -10 -9 -7 -7 -8 -9 -10 -9 -9 -7 -2 2 1 -3 -6 -6 -2 6 14 19 20 16 7 -1 -7 -9 -10 -10 -10 -9 -7 -2 5 10 13 12 9 2 -4 -7 -9 -12 -16 -18 -19 -20 -20 -17 -13 -14 -15 -16 -15 -12 -12 -5 2 4 -3 -8 -10 -10 -9 -7 -6 -5 -4 -1 -0 -2 0 7 18 26 29 30 30 27 23 19 15 12 8 5 3 8 21 40 58 55 53 57 65 73 80 83 85 86 86 82 75 68 60 53 49 46 44 44 47 50 50 48 44 40 37 36 35 37 39 40 41 41 41 41 41 40 38 36 35 33 32 31 31 31 30 29 26 22 17 14 11 8 4 -1 -7 -12 -16 -18 -19 -19 -21 -23 -25 -24 -22 -12 2 10 12 9 6 3 -1 -5 -9 -11 -10 -8 -8 -9 -3 7 9 5 -2 -8 -10 -9 -7 -5 -6 -4 -1 1 -0 -12 -5 4 14 22 27 25 24 24 24 22 17 10 1 -9 -18 -24 -24 -18 -6 7 11 7 4 4 6 3 -3 -9 -11 -11 -11 -14 -16 -15 -13 -12 0 14 22 18 8 -2 -10 -14 -12 -7 -3 -4 -9 -15 -14 -13 -12 -14 -18 -21 -20 -17 -14 -13 -13 -15 -18 -18 -13 -11 -14 -16 -16 -14 -16 -18 -17 -15 -16 -18 -13 -5 1 2 -6 -14 -16 -15 -11 -5 -2 4 10 15 20 24 28 33 36 32 11 -6 -12 -10 -3 8 3 -8 -15 -11 -3 -1 -2 -5 -8 -14 -13 -14 -18 -23 -25 -25 -26 -6 -7 -8 -9 -9 -9 -8 -8 -8 -10 -11 -13 -13 -13 -11 -11 -13 -15 -16 -16 -17 -18 -16 -11 -5 1 6 1 -5 -5 -2 -1 -2 -4 -6 -8 -9 -9 -8 -7 -7 -8 -8 -8 -9 -10 -11 -11 -11 -10 -9 -7 -6 -5 -3 -2 -3 -5 -7 -7 -5 -3 -3 -6 -9 -9 -9 -9 -9 -9 -9 -9 -5 1 2 -2 -4 2 7 8 7 6 4 2 -1 -4 -6 -7 -7 -6 -6 -8 -11 -13 -13 -14 -13 -9 -6 -7 -8 -8 -7 -6 -6 -6 -9 -11 -10 -8 -7 -8 -9 -10 -9 -9 -8 -7 -2 2 1 -3 -8 -11 -7 4 15 21 22 16 7 -2 -8 -10 -9 -8 -9 -9 -9 -4 6 13 18 18 11 3 -3 -7 -11 -17 -21 -22 -21 -20 -19 -16 -15 -15 -16 -13 -13 -13 -9 -2 5 1 -5 -9 -10 -9 -7 -6 -5 -5 -5 -3 -3 -3 2 12 23 28 29 28 27 24 21 18 15 12 8 3 1 8 25 52 65 66 64 63 68 79 85 87 88 88 84 79 71 62 54 49 46 44 44 47 50 50 48 44 40 37 35 35 36 38 40 42 44 45 46 45 44 42 39 37 35 34 33 33 32 32 31 28 24 19 16 13 11 7 2 -3 -9 -13 -16 -18 -18 -19 -21 -24 -24 -24 -18 -6 6 12 13 9 5 1 -3 -8 -10 -11 -9 -7 -8 -9 1 8 8 1 -6 -10 -10 -8 -5 -5 -5 -2 1 3 -2 -12 -11 -3 5 13 17 19 20 23 24 21 15 6 -3 -13 -20 -23 -20 -12 2 10 8 4 1 2 3 -2 -7 -11 -11 -10 -12 -14 -16 -14 -11 -9 3 18 22 13 2 -7 -13 -13 -10 -5 -3 -5 -10 -12 -16 -18 -17 -18 -20 -21 -20 -19 -16 -16 -17 -20 -19 -13 -10 -12 -15 -15 -13 -15 -16 -14 -14 -16 -21 -18 -10 -1 3 -4 -12 -17 -18 -14 -9 -5 2 8 14 22 27 31 36 38 31 11 -4 -10 -8 -11 -3 -1 -6 -13 -13 -6 -3 -3 -5 -7 -14 -19 -23 -25 -26 -29 -12 -1 -8 -9 -10 -11 -10 -10 -8 -8 -7 -8 -10 -13 -14 -13 -12 -11 -12 -12 -13 -15 -16 -16 -16 -13 -11 -10 -7 -1 -3 -5 -5 -2 -3 -5 -6 -7 -8 -8 -7 -7 -8 -9 -9 -8 -9 -10 -10 -10 -10 -10 -10 -8 -7 -6 -6 -5 -5 -3 -3 -5 -7 -7 -5 -3 -5 -7 -8 -8 -9 -10 -9 -9 -8 -5 -1 -1 -3 -5 2 7 9 8 7 4 1 -2 -5 -7 -8 -8 -7 -7 -10 -14 -14 -14 -14 -12 -9 -8 -8 -8 -7 -6 -6 -6 -7 -9 -10 -9 -8 -7 -8 -9 -9 -8 -8 -8 -7 -3 0 0 -3 -9 -11 -7 2 13 21 20 15 6 -2 -7 -6 -6 -6 -8 -11 -12 -6 4 15 22 19 11 4 -2 -8 -16 -22 -24 -22 -17 -18 -18 -16 -16 -16 -13 -12 -13 -12 -7 2 4 -1 -6 -9 -9 -8 -6 -4 -4 -5 -5 -5 -5 -3 5 19 26 29 28 27 25 23 19 15 11 9 5 -1 -4 2 25 52 64 64 58 61 76 85 88 89 88 86 82 74 65 55 50 46 44 44 47 50 51 48 44 39 35 33 33 34 36 40 43 47 49 51 50 48 46 42 39 36 35 34 34 34 34 33 30 26 21 18 15 13 10 5 -1 -6 -11 -14 -16 -16 -17 -20 -22 -23 -23 -20 -13 -3 8 14 12 9 4 -1 -6 -10 -11 -10 -8 -7 -10 -6 2 8 4 -3 -9 -11 -9 -5 -5 -5 -4 -1 2 0 -8 -11 -10 -6 -1 5 9 12 16 21 22 18 11 1 -8 -16 -19 -19 -15 -5 7 9 5 -0 -1 0 -1 -6 -10 -11 -9 -10 -13 -16 -14 -12 -12 -6 7 21 16 7 -3 -11 -14 -11 -8 -6 -6 -9 -12 -16 -18 -17 -16 -18 -20 -21 -21 -18 -17 -19 -21 -20 -15 -12 -12 -14 -16 -15 -15 -14 -12 -13 -17 -24 -23 -16 -6 1 -2 -10 -17 -20 -18 -13 -9 -3 4 11 20 27 33 38 41 32 12 -3 -8 -4 -8 -8 -6 -6 -10 -13 -8 -6 -6 -7 -8 -13 -19 -24 -27 -17 2 19 24 -9 -10 -11 -11 -10 -9 -8 -7 -6 -6 -8 -12 -14 -13 -13 -13 -13 -13 -15 -15 -11 -3 1 1 0 -5 -13 -18 -14 -9 -5 -2 -2 -4 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -9 -9 -9 -10 -10 -8 -6 -6 -7 -7 -6 -5 -4 -5 -7 -9 -6 -4 -4 -6 -8 -9 -9 -9 -9 -8 -7 -5 -4 -4 -6 -5 3 8 10 8 6 4 0 -3 -6 -8 -9 -8 -8 -9 -12 -13 -13 -13 -13 -11 -9 -9 -9 -8 -6 -6 -6 -7 -8 -12 -12 -9 -7 -8 -9 -9 -8 -7 -7 -8 -7 -4 -2 -1 -4 -9 -10 -8 -0 10 18 19 14 7 0 -2 -3 -5 -7 -9 -11 -13 -9 1 14 20 17 12 5 -3 -12 -20 -24 -23 -15 -10 -14 -16 -17 -17 -14 -10 -11 -12 -10 -3 3 2 -2 -6 -8 -8 -6 -4 -3 -3 -4 -5 -6 -5 -1 13 25 30 29 27 25 23 21 17 13 9 6 1 -5 -10 -5 18 40 53 54 55 69 81 88 89 87 87 84 78 68 58 50 46 44 44 47 51 51 49 44 38 33 31 30 31 33 37 42 47 51 55 55 54 51 47 42 39 36 35 35 35 35 35 32 28 23 20 17 15 12 8 2 -4 -9 -12 -14 -14 -16 -18 -20 -22 -22 -20 -17 -11 -1 10 13 12 7 2 -4 -9 -11 -12 -10 -8 -9 -9 -5 4 6 -1 -7 -10 -10 -7 -4 -5 -5 -3 1 -0 -7 -11 -10 -8 -6 -2 1 4 5 10 16 18 14 6 -3 -11 -16 -18 -17 -10 2 8 7 1 -3 -3 -3 -5 -9 -11 -9 -9 -10 -15 -14 -13 -11 -9 -6 12 16 11 1 -9 -13 -12 -12 -11 -9 -12 -15 -17 -18 -16 -15 -16 -18 -20 -20 -18 -17 -18 -19 -20 -18 -16 -14 -14 -15 -16 -16 -14 -11 -11 -15 -24 -27 -22 -13 -6 -4 -10 -17 -22 -23 -17 -12 -6 -1 7 15 24 31 37 43 34 13 -3 -8 -2 -4 -8 -9 -8 -9 -11 -10 -9 -9 -9 -9 -12 -16 -21 -26 3 20 29 31 -9 -10 -9 -9 -9 -8 -8 -7 -7 -7 -8 -9 -11 -14 -16 -17 -18 -19 -19 -17 -11 -1 6 7 7 6 2 -4 -9 -9 -6 -3 -3 -4 -4 -5 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -9 -10 -9 -7 -6 -7 -7 -8 -7 -6 -5 -6 -8 -8 -6 -4 -4 -6 -8 -9 -9 -9 -9 -8 -7 -7 -6 -5 -7 -3 4 9 9 8 6 2 -1 -5 -8 -9 -9 -9 -8 -10 -11 -11 -12 -13 -13 -10 -10 -10 -9 -6 -5 -6 -7 -8 -10 -11 -9 -7 -8 -9 -9 -8 -7 -7 -7 -7 -7 -5 -4 -3 -5 -8 -10 -8 -4 6 15 17 14 8 4 1 -2 -5 -7 -10 -13 -13 -10 -2 9 15 16 12 7 -3 -12 -18 -20 -16 -9 -11 -14 -17 -18 -17 -11 -9 -10 -11 -8 -1 2 1 -3 -6 -7 -6 -4 -2 -1 -3 -4 -5 -6 -6 5 20 29 31 28 27 26 23 19 14 10 7 4 0 -6 -11 -7 8 26 41 47 58 69 78 82 82 85 85 80 71 60 51 46 43 43 47 51 52 49 45 37 31 27 25 26 28 32 36 40 45 51 55 57 56 53 48 43 39 37 36 36 36 36 34 31 26 22 19 17 14 10 4 -2 -7 -10 -12 -12 -13 -15 -18 -20 -21 -20 -18 -15 -9 1 10 13 11 5 -2 -7 -11 -12 -12 -10 -8 -10 -9 -3 4 0 -5 -9 -11 -8 -5 -5 -5 -5 -2 -1 -5 -9 -11 -8 -7 -4 -1 -0 -2 -1 5 11 14 10 2 -6 -12 -15 -16 -13 -4 5 8 3 -3 -6 -7 -6 -9 -11 -10 -8 -9 -13 -14 -13 -12 -10 -10 -0 10 12 5 -6 -11 -13 -14 -15 -13 -14 -17 -19 -19 -17 -15 -16 -17 -18 -18 -16 -16 -17 -18 -19 -19 -18 -16 -14 -14 -16 -18 -15 -11 -8 -10 -21 -27 -27 -21 -13 -9 -11 -17 -24 -26 -21 -15 -9 -5 2 10 19 28 38 45 35 14 -4 -8 -3 -4 -8 -11 -10 -11 -12 -13 -12 -12 -10 -9 -9 -12 -16 -23 14 30 36 36 -8 -8 -8 -7 -6 -7 -7 -7 -8 -8 -8 -9 -12 -15 -17 -18 -19 -14 -8 -9 -11 -11 -9 -7 -4 -1 -1 -2 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -6 -9 -10 -11 -10 -10 -9 -9 -9 -8 -8 -9 -10 -9 -8 -7 -7 -7 -7 -9 -9 -8 -5 -5 -6 -7 -6 -4 -4 -6 -8 -9 -9 -9 -8 -7 -8 -7 -7 -6 -7 -2 4 8 8 7 4 1 -3 -7 -10 -10 -10 -9 -8 -10 -10 -11 -12 -14 -11 -10 -10 -10 -8 -5 -5 -7 -8 -8 -8 -7 -6 -7 -9 -9 -8 -6 -6 -7 -7 -8 -8 -8 -6 -5 -6 -7 -9 -10 -5 4 13 17 15 11 7 3 -1 -5 -8 -12 -14 -14 -11 -3 5 11 15 15 9 1 -9 -16 -17 -11 -9 -12 -16 -18 -18 -14 -9 -8 -9 -9 -5 -1 1 0 -3 -4 -5 -4 -3 -1 -1 -2 -4 -6 -8 -3 11 25 32 30 29 29 27 23 17 11 8 7 5 2 -5 -11 -9 0 16 29 40 54 69 78 76 77 79 80 74 61 52 46 43 43 47 52 53 51 46 37 29 23 20 21 25 27 28 28 29 34 42 49 55 57 54 49 44 40 39 38 37 37 35 32 28 24 21 19 16 12 5 -1 -5 -8 -9 -9 -10 -13 -16 -18 -20 -19 -18 -16 -14 -7 3 10 12 8 1 -5 -10 -12 -12 -11 -10 -10 -10 -8 -0 1 -3 -8 -10 -10 -6 -5 -5 -7 -5 -4 -5 -8 -10 -8 -7 -5 -2 -0 -3 -6 -5 -0 6 10 6 -0 -7 -12 -15 -14 -8 0 7 3 -4 -10 -12 -10 -9 -11 -11 -9 -8 -11 -13 -13 -12 -11 -10 -8 2 8 6 -3 -10 -14 -16 -16 -14 -14 -18 -21 -21 -18 -17 -17 -17 -18 -18 -16 -16 -16 -17 -18 -19 -20 -18 -15 -12 -14 -18 -16 -11 -6 -6 -16 -24 -27 -25 -17 -12 -12 -16 -23 -26 -22 -16 -11 -8 -2 5 14 27 40 47 35 13 -6 -10 -5 -5 -9 -12 -11 -13 -15 -16 -16 -13 -11 -10 -8 -8 -8 -13 12 31 41 41 -7 -7 -6 -6 -7 -7 -7 -6 -5 -6 -6 -7 -9 -11 -11 -10 -7 -3 -8 -11 -12 -10 -10 -7 -5 -4 -4 -6 -6 -5 -5 -5 -6 -5 -4 -3 -3 -1 -2 -4 -7 -10 -11 -10 -9 -8 -8 -8 -8 -8 -9 -10 -10 -8 -7 -7 -7 -7 -8 -10 -9 -7 -5 -4 -4 -5 -6 -5 -5 -6 -7 -8 -8 -8 -8 -7 -7 -8 -7 -7 -6 -3 4 6 7 6 4 -1 -5 -9 -11 -11 -10 -8 -10 -11 -11 -11 -13 -11 -9 -10 -10 -10 -6 -4 -6 -8 -8 -6 -5 -5 -6 -8 -8 -8 -7 -6 -6 -6 -8 -9 -10 -10 -8 -5 -5 -6 -9 -10 -6 3 13 19 17 13 8 3 -2 -6 -11 -14 -15 -13 -9 -3 3 9 15 16 10 1 -9 -15 -14 -11 -12 -15 -18 -19 -15 -11 -8 -8 -9 -7 -3 -0 1 -1 -2 -3 -3 -2 0 0 -0 -2 -4 -7 -8 1 16 29 33 31 32 32 30 24 17 12 11 11 10 4 -3 -10 -11 -3 8 17 29 44 58 61 64 72 79 77 64 54 46 42 42 47 53 55 54 50 40 29 21 18 21 28 29 26 20 14 12 18 27 39 50 56 54 50 46 43 41 40 38 37 34 30 26 23 21 18 13 7 0 -4 -6 -6 -5 -7 -10 -13 -16 -18 -19 -18 -16 -14 -11 -4 5 11 11 4 -3 -8 -11 -12 -12 -11 -11 -10 -10 -4 -1 -2 -5 -9 -10 -8 -6 -5 -7 -7 -6 -7 -8 -9 -8 -8 -7 -5 -2 -2 -5 -7 -8 -4 3 6 3 -2 -8 -12 -13 -11 -5 2 1 -5 -11 -15 -16 -13 -13 -12 -11 -9 -10 -12 -12 -12 -12 -12 -12 -7 -0 3 -3 -11 -17 -19 -18 -15 -14 -18 -22 -23 -20 -18 -18 -18 -18 -18 -17 -16 -16 -17 -19 -19 -20 -19 -16 -12 -13 -16 -15 -11 -5 -3 -11 -21 -26 -26 -20 -14 -12 -14 -20 -23 -22 -17 -11 -9 -4 1 11 24 37 44 33 11 -10 -13 -7 -7 -9 -11 -12 -14 -17 -18 -18 -16 -13 -10 -8 -4 1 -2 5 20 37 45 -7 -6 -6 -6 -5 -4 -2 -3 -2 -1 -1 -2 -3 -5 -8 -9 -8 -7 -9 -9 -7 -6 -5 -5 -4 -5 -5 -6 -5 -5 -5 -6 -6 -6 -5 -6 -6 -4 -3 -4 -6 -8 -10 -10 -9 -7 -6 -7 -7 -7 -8 -10 -10 -9 -7 -7 -7 -6 -7 -8 -8 -8 -8 -6 -4 -3 -6 -8 -6 -5 -5 -7 -7 -8 -8 -7 -7 -8 -9 -8 -8 -6 -1 5 7 8 5 1 -2 -7 -10 -11 -11 -10 -10 -11 -12 -11 -13 -12 -10 -9 -10 -11 -8 -6 -5 -8 -9 -6 -5 -5 -6 -7 -8 -8 -7 -6 -6 -6 -7 -9 -11 -12 -11 -7 -4 -3 -7 -10 -11 -6 4 18 21 18 13 8 2 -4 -10 -14 -15 -13 -8 -6 -4 -1 6 12 12 7 -1 -11 -16 -14 -13 -14 -17 -19 -16 -11 -8 -7 -9 -8 -5 -2 -0 -1 -2 -2 -3 -2 0 1 0 -1 -2 -5 -9 -6 6 23 35 35 35 35 34 31 24 20 19 18 17 12 5 -3 -9 -10 -5 -0 5 12 24 34 45 62 76 78 66 56 49 47 46 48 54 58 59 56 46 35 26 25 32 39 38 32 23 11 0 -4 -0 10 25 42 50 51 49 47 46 43 41 39 37 34 29 26 24 20 15 8 1 -4 -6 -4 -2 -3 -6 -10 -14 -17 -18 -17 -16 -14 -12 -8 -1 7 12 7 1 -5 -9 -11 -11 -11 -11 -11 -11 -7 -2 -1 -4 -7 -9 -9 -7 -5 -6 -8 -9 -9 -10 -11 -10 -10 -10 -9 -7 -6 -6 -6 -8 -9 -6 1 4 2 -4 -9 -13 -14 -11 -3 1 -3 -8 -13 -17 -19 -17 -15 -12 -10 -10 -11 -12 -12 -13 -15 -15 -14 -10 -4 -7 -15 -20 -21 -20 -17 -15 -17 -20 -23 -22 -19 -19 -19 -18 -18 -17 -17 -17 -17 -19 -19 -20 -21 -20 -15 -14 -14 -14 -11 -6 -1 -7 -17 -24 -27 -23 -17 -13 -12 -16 -20 -21 -17 -12 -8 -4 -0 8 20 31 38 31 10 -12 -15 -10 -8 -8 -11 -12 -14 -16 -18 -18 -18 -15 -11 -7 -2 6 11 7 7 18 43 -7 -7 -7 -6 -5 -3 -3 -4 -4 -3 -2 -3 -4 -6 -8 -9 -9 -10 -8 -6 -5 -5 -5 -4 -5 -6 -5 -4 -2 -2 -2 -3 -3 -3 -4 -6 -8 -9 -10 -9 -7 -6 -7 -8 -8 -7 -6 -5 -5 -4 -6 -7 -9 -9 -8 -8 -7 -6 -6 -7 -8 -9 -9 -8 -6 -5 -5 -8 -10 -8 -6 -5 -6 -7 -8 -8 -8 -8 -9 -10 -10 -8 -5 -0 4 6 7 5 1 -4 -8 -11 -12 -13 -10 -10 -12 -14 -13 -13 -10 -9 -10 -11 -11 -9 -7 -6 -5 -4 -4 -6 -7 -8 -8 -8 -7 -6 -5 -5 -7 -8 -10 -11 -12 -10 -6 -3 -4 -8 -11 -11 -5 9 19 19 16 11 6 -1 -8 -14 -16 -14 -7 -4 -5 -7 -6 0 5 8 5 -3 -12 -14 -13 -13 -15 -19 -16 -12 -8 -7 -8 -8 -6 -3 -1 -1 -2 -3 -3 -2 -0 1 1 -0 -1 -3 -7 -8 -1 15 32 36 37 37 36 33 28 24 23 24 23 19 12 4 -5 -10 -8 -6 -6 -8 -5 4 18 36 54 59 53 47 47 51 51 51 57 61 62 62 56 47 38 36 43 45 42 36 28 16 4 -7 -14 -15 -7 14 30 40 44 44 45 44 43 41 40 37 33 30 27 24 18 10 2 -5 -7 -4 -1 -0 -3 -7 -12 -14 -16 -16 -15 -13 -12 -10 -6 1 9 9 4 -3 -8 -10 -11 -11 -11 -10 -11 -8 -4 -2 -3 -6 -8 -9 -9 -7 -7 -9 -12 -13 -13 -14 -14 -14 -14 -13 -12 -11 -10 -10 -10 -8 -9 -6 0 4 -0 -8 -14 -17 -16 -8 1 1 -5 -11 -16 -19 -20 -18 -14 -12 -10 -10 -11 -11 -13 -18 -19 -19 -17 -10 -10 -16 -21 -23 -21 -19 -17 -16 -17 -20 -21 -19 -18 -18 -18 -17 -17 -17 -17 -18 -19 -20 -22 -24 -26 -21 -17 -14 -13 -11 -6 -1 -4 -13 -23 -27 -24 -19 -14 -12 -15 -19 -21 -19 -14 -9 -4 -0 5 14 24 33 28 11 -13 -16 -13 -10 -9 -10 -11 -12 -15 -17 -18 -19 -16 -12 -7 0 9 16 17 11 1 30 -8 -9 -9 -8 -6 -5 -6 -7 -7 -7 -6 -7 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -6 -6 -6 -6 -5 -5 -4 -4 -3 -2 -2 -2 -3 -3 -4 -6 -9 -10 -9 -8 -9 -9 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -9 -9 -8 -7 -7 -7 -7 -8 -10 -8 -4 -2 -4 -6 -7 -7 -7 -8 -9 -10 -9 -7 -4 -3 -0 3 6 4 0 -5 -9 -13 -15 -12 -9 -9 -13 -15 -14 -12 -11 -10 -10 -10 -9 -7 -6 -5 -4 -4 -5 -7 -8 -7 -7 -7 -5 -4 -5 -6 -8 -9 -10 -11 -12 -10 -5 -2 -5 -9 -12 -11 -4 11 17 16 12 8 2 -6 -13 -17 -17 -10 -3 -2 -5 -9 -10 -6 0 6 5 -4 -9 -12 -13 -13 -16 -15 -12 -9 -6 -7 -9 -8 -5 -2 -0 -1 -3 -4 -4 -2 1 1 0 -1 -2 -5 -9 -7 4 25 36 40 40 38 35 32 29 28 28 28 25 19 11 2 -6 -7 -5 -5 -8 -13 -13 -7 4 16 22 22 22 27 37 44 47 52 56 59 63 60 51 39 31 38 44 43 39 32 21 9 -1 -10 -18 -22 -16 0 15 24 28 32 36 39 40 40 39 37 34 31 28 22 14 5 -4 -9 -8 -2 1 -0 -5 -10 -12 -14 -15 -14 -12 -11 -11 -9 -4 4 8 6 0 -5 -9 -10 -10 -10 -10 -10 -9 -7 -5 -6 -9 -11 -12 -12 -11 -10 -12 -15 -16 -16 -17 -16 -16 -16 -16 -14 -13 -13 -14 -14 -12 -13 -12 -7 0 3 -7 -14 -18 -18 -12 0 3 -1 -8 -14 -16 -18 -18 -16 -13 -11 -10 -10 -10 -12 -18 -20 -20 -19 -13 -10 -14 -20 -23 -21 -21 -19 -16 -15 -18 -19 -18 -18 -18 -17 -17 -18 -18 -19 -19 -20 -22 -24 -26 -30 -26 -21 -17 -15 -12 -8 -2 -2 -9 -22 -26 -24 -20 -15 -13 -15 -19 -21 -20 -17 -11 -4 0 4 8 19 29 28 13 -11 -16 -15 -12 -10 -11 -11 -11 -12 -14 -16 -18 -16 -12 -7 1 9 17 21 21 9 7 -8 -9 -8 -7 -7 -6 -7 -8 -8 -8 -7 -7 -7 -6 -6 -7 -8 -8 -10 -10 -10 -10 -10 -9 -6 -4 -4 -6 -6 -6 -6 -7 -7 -6 -6 -5 -5 -4 -3 -4 -5 -6 -8 -8 -7 -7 -8 -9 -9 -7 -5 -3 -2 -1 -1 -1 -2 -3 -3 -4 -6 -7 -9 -9 -8 -8 -8 -7 -6 -7 -8 -6 -2 -1 -3 -5 -7 -7 -7 -8 -9 -9 -8 -6 -6 -4 -2 2 4 3 -2 -7 -12 -14 -14 -10 -7 -8 -13 -14 -13 -11 -9 -8 -9 -9 -8 -8 -7 -5 -4 -4 -5 -7 -8 -8 -7 -6 -3 -4 -5 -7 -9 -10 -11 -12 -12 -10 -4 -3 -6 -10 -13 -12 -1 10 15 13 10 5 -1 -9 -16 -20 -17 -7 -1 1 -5 -10 -13 -9 -2 6 4 -3 -8 -12 -12 -12 -12 -11 -8 -6 -6 -9 -9 -7 -2 1 1 -2 -4 -6 -4 -1 1 0 -2 -2 -3 -8 -10 -7 12 31 40 43 42 40 36 33 31 32 32 30 25 18 9 1 -3 -3 -2 -3 -8 -12 -13 -13 -11 -9 -8 -7 -3 7 19 27 34 39 44 48 47 39 26 14 20 33 40 41 36 27 14 4 -6 -14 -19 -19 -15 -8 -3 0 7 16 24 31 33 35 36 36 35 32 27 19 9 -0 -9 -11 -6 -2 0 -3 -8 -11 -13 -13 -12 -11 -10 -10 -10 -8 -1 5 6 2 -3 -7 -9 -9 -9 -9 -10 -11 -11 -10 -11 -13 -15 -16 -17 -16 -15 -16 -17 -17 -17 -18 -17 -18 -18 -16 -15 -14 -14 -15 -16 -15 -16 -14 -11 -7 3 -1 -9 -15 -18 -16 -4 4 4 -1 -8 -13 -16 -17 -16 -15 -12 -11 -10 -10 -13 -18 -20 -21 -20 -16 -12 -13 -18 -22 -22 -21 -19 -16 -13 -15 -17 -19 -19 -18 -18 -18 -19 -19 -20 -22 -22 -24 -26 -27 -30 -29 -25 -21 -18 -15 -10 -4 -1 -6 -18 -24 -24 -21 -17 -15 -17 -19 -22 -22 -21 -15 -7 -0 4 6 17 27 28 16 -6 -14 -14 -12 -12 -11 -12 -11 -11 -13 -15 -17 -17 -13 -7 1 8 16 23 28 21 8 -6 -7 -6 -5 -5 -5 -5 -6 -5 -5 -5 -6 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -8 -6 -4 -2 -3 -6 -6 -6 -7 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -6 -6 -7 -7 -7 -7 -7 -6 -5 -4 -3 -1 -0 -0 -0 -0 -1 -2 -4 -6 -8 -9 -9 -9 -9 -7 -6 -6 -8 -8 -5 -1 -1 -4 -6 -7 -7 -8 -9 -9 -9 -8 -7 -6 -5 -2 1 2 -0 -5 -10 -14 -13 -12 -9 -5 -8 -12 -14 -12 -9 -7 -7 -8 -8 -9 -8 -6 -4 -3 -4 -6 -7 -8 -7 -6 -4 -4 -5 -6 -8 -10 -12 -13 -13 -12 -8 -4 -5 -8 -12 -13 -9 1 10 13 11 8 3 -4 -13 -20 -20 -14 -7 -2 -2 -7 -11 -12 -10 -1 7 6 -0 -7 -11 -10 -11 -10 -8 -5 -4 -7 -9 -9 -4 2 4 2 -2 -6 -7 -4 -1 -0 -2 -3 -3 -6 -10 -13 -3 18 35 44 45 43 40 36 35 35 36 33 29 23 16 8 1 -2 -2 -1 -3 -7 -10 -11 -11 -10 -11 -14 -17 -18 -11 -1 9 17 21 23 22 17 8 0 2 15 28 36 38 32 20 9 -2 -10 -17 -18 -14 -9 -6 -8 -11 -8 1 13 19 24 29 32 35 35 30 23 15 5 -6 -11 -10 -6 -1 -1 -7 -10 -12 -12 -11 -10 -9 -9 -9 -9 -6 0 4 3 -1 -5 -8 -9 -10 -11 -11 -14 -15 -15 -14 -14 -16 -18 -18 -18 -16 -15 -16 -18 -19 -18 -18 -18 -18 -15 -15 -14 -14 -15 -17 -18 -16 -12 -9 -8 -0 4 1 -7 -14 -16 -9 2 10 8 -1 -9 -14 -16 -16 -15 -13 -12 -12 -12 -15 -18 -20 -20 -20 -19 -14 -13 -16 -20 -22 -22 -21 -18 -13 -10 -15 -20 -21 -19 -19 -19 -20 -21 -22 -24 -23 -25 -27 -28 -29 -30 -29 -26 -20 -16 -12 -6 -2 -4 -15 -22 -24 -23 -19 -17 -18 -19 -21 -25 -26 -22 -14 -4 3 6 14 21 23 15 -1 -11 -14 -12 -13 -12 -12 -12 -12 -12 -15 -18 -18 -16 -10 -2 5 14 24 32 30 16 -5 -5 -5 -4 -3 -3 -3 -3 -4 -6 -8 -11 -13 -13 -11 -9 -9 -11 -9 -7 -6 -6 -6 -7 -7 -6 -5 -3 -4 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -7 -8 -7 -6 -5 -5 -5 -6 -5 -4 -2 -1 -0 0 0 0 -1 -3 -6 -8 -10 -10 -9 -8 -7 -7 -8 -8 -8 -4 -1 -2 -5 -7 -8 -9 -9 -9 -9 -9 -7 -6 -5 -5 -3 -0 -0 -2 -7 -12 -12 -12 -10 -7 -3 -8 -11 -12 -10 -7 -6 -7 -8 -9 -9 -8 -5 -2 -2 -3 -6 -7 -7 -6 -5 -5 -4 -5 -6 -9 -12 -13 -13 -12 -10 -6 -5 -7 -10 -13 -12 -6 2 11 13 11 8 2 -6 -14 -19 -17 -12 -6 -3 -5 -9 -12 -14 -10 2 8 7 1 -7 -9 -10 -10 -8 -4 -2 -5 -8 -10 -8 -0 5 6 2 -4 -8 -6 -3 -1 -1 -4 -4 -5 -8 -14 -14 1 21 38 46 46 43 39 36 36 37 36 32 27 21 14 7 2 -1 -1 -2 -4 -5 -7 -9 -9 -8 -11 -15 -19 -19 -16 -8 0 6 5 2 -2 -4 -5 -7 -1 10 23 33 34 26 15 3 -6 -14 -17 -15 -10 -5 -6 -10 -11 -9 -5 2 7 14 21 28 33 32 27 19 10 -1 -9 -11 -9 -4 -1 -4 -9 -11 -12 -11 -9 -8 -8 -8 -9 -8 -4 0 3 0 -4 -7 -10 -13 -14 -15 -17 -18 -17 -15 -15 -17 -19 -19 -19 -16 -14 -15 -18 -19 -19 -18 -17 -16 -15 -15 -15 -15 -15 -17 -18 -15 -10 -6 -6 -5 1 3 -1 -8 -12 -9 0 10 10 2 -7 -13 -16 -16 -15 -14 -14 -15 -15 -17 -18 -19 -20 -21 -22 -18 -15 -16 -20 -23 -23 -22 -20 -15 -10 -15 -21 -23 -21 -21 -21 -23 -24 -24 -24 -24 -25 -26 -27 -28 -31 -31 -29 -23 -17 -13 -8 -3 -3 -12 -19 -24 -26 -23 -19 -18 -18 -21 -27 -31 -28 -21 -10 1 6 12 17 19 16 4 -8 -14 -13 -14 -13 -13 -13 -12 -11 -14 -18 -20 -19 -15 -8 1 12 24 33 35 24 -5 -4 -4 -4 -3 -3 -4 -6 -8 -9 -11 -14 -18 -19 -15 -11 -8 -10 -10 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -7 -8 -8 -8 -7 -5 -5 -5 -6 -7 -6 -5 -3 -2 -2 -1 1 1 -1 -4 -7 -9 -10 -9 -8 -8 -8 -8 -8 -9 -8 -4 -1 -2 -6 -9 -10 -11 -10 -10 -10 -8 -6 -5 -5 -5 -3 -2 -2 -5 -11 -12 -10 -9 -10 -4 -4 -8 -11 -11 -8 -5 -5 -7 -9 -10 -9 -7 -4 -1 -0 -4 -6 -7 -6 -6 -5 -4 -4 -5 -8 -11 -12 -13 -12 -10 -8 -7 -7 -9 -11 -11 -10 -4 4 13 15 14 9 2 -8 -15 -16 -13 -9 -6 -6 -9 -12 -16 -16 -8 2 8 7 -0 -6 -9 -10 -8 -5 -2 -2 -5 -8 -10 -5 3 8 7 1 -6 -8 -6 -2 -1 -4 -5 -5 -7 -13 -19 -14 2 22 39 44 43 38 32 30 32 35 34 30 25 19 13 7 2 -1 -3 -2 -2 -2 -4 -7 -7 -10 -13 -17 -18 -16 -11 -4 3 4 1 -3 -6 -6 -7 -8 -4 6 21 30 28 20 8 -2 -11 -16 -16 -13 -7 -6 -8 -10 -10 -8 -7 -4 1 7 14 23 28 28 22 14 4 -5 -11 -11 -7 -1 -3 -6 -10 -11 -11 -9 -8 -7 -7 -8 -8 -6 -3 -0 -1 -5 -9 -13 -17 -18 -18 -18 -18 -18 -16 -15 -18 -20 -19 -20 -18 -16 -15 -18 -20 -19 -18 -17 -16 -15 -15 -15 -15 -16 -17 -17 -14 -9 -6 -4 -7 -3 1 2 -5 -9 -10 -6 0 8 4 -4 -11 -15 -15 -15 -15 -16 -18 -17 -17 -18 -19 -21 -22 -23 -21 -19 -18 -21 -23 -23 -23 -22 -19 -15 -16 -19 -22 -22 -23 -23 -24 -25 -25 -26 -26 -25 -24 -25 -28 -30 -31 -30 -25 -19 -15 -10 -5 -4 -10 -16 -21 -27 -25 -21 -18 -17 -19 -26 -30 -30 -25 -16 -4 3 9 12 15 16 5 -6 -14 -15 -15 -14 -14 -13 -13 -11 -12 -16 -20 -22 -19 -13 -4 8 22 33 37 28 -5 -5 -5 -5 -4 -4 -5 -7 -8 -8 -9 -10 -12 -14 -13 -10 -8 -8 -9 -8 -7 -6 -5 -4 -5 -5 -6 -7 -8 -8 -8 -7 -6 -6 -6 -7 -8 -8 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -8 -6 -5 -6 -7 -7 -5 -5 -4 -4 -2 -1 1 0 -2 -5 -8 -8 -8 -8 -9 -10 -10 -9 -8 -10 -6 -2 -1 -5 -9 -11 -11 -11 -11 -10 -9 -8 -6 -6 -6 -5 -3 -3 -4 -9 -12 -10 -7 -7 -10 -4 -4 -8 -12 -11 -5 -4 -5 -7 -9 -10 -9 -6 -1 2 -1 -4 -6 -6 -6 -5 -5 -4 -5 -7 -9 -11 -12 -12 -10 -9 -8 -8 -9 -10 -10 -9 -7 -3 9 16 18 15 9 -1 -9 -12 -12 -11 -8 -8 -9 -13 -16 -19 -15 -8 0 6 5 -1 -6 -9 -10 -8 -3 -1 -2 -5 -9 -8 -1 6 10 6 -2 -7 -8 -5 -1 -3 -4 -5 -7 -11 -19 -22 -16 -1 20 33 36 33 26 21 25 30 34 33 28 23 18 11 5 -0 -4 -4 -2 0 0 -3 -5 -8 -12 -16 -18 -16 -12 -6 1 3 2 -2 -5 -8 -7 -8 -8 -5 5 20 26 22 13 2 -8 -15 -18 -16 -11 -8 -8 -9 -9 -8 -9 -10 -6 0 4 8 17 23 24 17 7 -2 -9 -12 -9 -2 -1 -4 -8 -10 -11 -10 -8 -7 -6 -7 -8 -8 -7 -5 -5 -9 -12 -15 -17 -18 -19 -19 -19 -18 -17 -16 -17 -19 -18 -19 -19 -17 -15 -16 -19 -20 -19 -18 -17 -17 -16 -16 -15 -16 -16 -14 -12 -9 -8 -5 -6 -6 -3 2 -2 -6 -9 -9 -7 2 3 -1 -8 -13 -14 -14 -15 -17 -20 -18 -17 -17 -19 -21 -22 -23 -23 -21 -19 -20 -22 -23 -23 -21 -20 -18 -15 -14 -18 -23 -25 -24 -23 -24 -25 -26 -26 -26 -23 -23 -26 -28 -29 -30 -27 -22 -17 -12 -7 -6 -9 -14 -19 -25 -24 -22 -19 -16 -17 -21 -24 -27 -26 -20 -9 -0 4 8 12 15 7 -4 -14 -17 -16 -15 -14 -14 -13 -11 -11 -13 -17 -22 -20 -16 -9 2 18 32 38 29 -7 -7 -7 -6 -5 -6 -8 -9 -9 -8 -8 -8 -9 -10 -11 -11 -10 -9 -8 -7 -6 -4 -2 -1 -2 -2 -3 -4 -6 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -8 -8 -8 -9 -10 -10 -10 -10 -11 -9 -8 -7 -6 -5 -5 -5 -5 -5 -4 -3 -3 -1 -0 1 -1 -4 -6 -8 -9 -9 -10 -10 -10 -9 -8 -8 -5 -3 -4 -9 -11 -11 -10 -10 -10 -9 -8 -7 -7 -6 -6 -4 -3 -2 -6 -11 -11 -7 -3 -12 -6 -2 -4 -11 -13 -8 -3 -2 -5 -8 -10 -11 -9 -4 2 1 -2 -4 -6 -6 -5 -5 -5 -5 -6 -9 -11 -12 -11 -10 -9 -8 -8 -9 -9 -9 -7 -7 -7 1 14 19 19 15 7 -2 -8 -11 -11 -9 -9 -10 -13 -15 -17 -17 -14 -9 -1 4 2 -3 -7 -10 -10 -6 -1 0 -2 -7 -9 -5 2 9 9 2 -4 -8 -7 -3 -2 -4 -5 -7 -11 -19 -24 -24 -19 -7 11 21 25 24 23 23 26 31 35 31 26 21 15 9 2 -3 -5 -4 -0 3 1 -2 -5 -9 -14 -17 -16 -12 -7 -1 2 2 -0 -4 -8 -8 -8 -8 -7 -1 13 23 23 17 7 -4 -14 -18 -19 -15 -12 -10 -10 -9 -8 -9 -10 -9 -6 0 0 5 13 20 19 9 0 -7 -11 -10 -3 -1 -3 -7 -10 -10 -10 -9 -8 -7 -7 -9 -11 -12 -12 -11 -11 -13 -15 -17 -18 -19 -19 -19 -18 -17 -16 -16 -17 -17 -19 -19 -17 -15 -15 -18 -20 -20 -19 -18 -18 -17 -17 -17 -16 -14 -9 -8 -10 -10 -7 -5 -6 -7 -1 -1 -4 -8 -11 -13 -6 -1 -1 -6 -12 -13 -13 -15 -18 -21 -20 -18 -17 -19 -21 -21 -22 -22 -22 -21 -20 -22 -23 -23 -20 -17 -15 -11 -10 -15 -23 -26 -24 -21 -21 -23 -24 -25 -25 -23 -21 -23 -26 -29 -30 -29 -24 -19 -14 -9 -7 -10 -14 -19 -23 -23 -22 -20 -17 -16 -16 -18 -22 -24 -22 -13 -5 0 4 9 14 9 -1 -12 -17 -17 -16 -15 -14 -13 -11 -10 -12 -15 -19 -19 -18 -13 -3 16 33 38 29 -8 -8 -7 -6 -5 -6 -7 -7 -6 -5 -4 -5 -7 -9 -11 -12 -11 -8 -7 -6 -5 -2 -1 0 0 -0 -1 -2 -3 -5 -6 -7 -7 -7 -7 -7 -8 -9 -10 -9 -8 -7 -8 -11 -11 -11 -11 -11 -10 -10 -9 -7 -5 -4 -4 -4 -4 -4 -4 -3 -2 0 2 2 1 -2 -6 -8 -9 -9 -10 -10 -10 -9 -8 -7 -5 -3 -6 -9 -10 -11 -10 -10 -9 -8 -8 -8 -8 -8 -5 -3 -2 -4 -9 -11 -9 -4 -6 -9 -2 1 -6 -12 -12 -6 -1 -0 -4 -8 -10 -10 -7 0 3 2 -1 -3 -5 -5 -5 -5 -5 -6 -9 -10 -11 -11 -11 -11 -9 -9 -9 -9 -10 -8 -5 -5 -8 8 17 20 18 14 5 -2 -7 -9 -8 -8 -10 -12 -13 -14 -15 -15 -14 -9 -2 1 -0 -4 -8 -11 -9 -4 -0 0 -3 -8 -8 -3 4 9 6 -1 -6 -9 -6 -3 -4 -5 -6 -9 -18 -24 -26 -22 -17 -8 1 9 16 20 21 26 32 37 35 29 23 17 11 5 -0 -5 -6 -3 2 3 1 -2 -6 -12 -15 -14 -11 -7 -2 1 3 1 -2 -6 -7 -7 -7 -7 -6 6 21 28 26 16 3 -9 -17 -20 -19 -15 -13 -12 -12 -10 -9 -10 -10 -10 -4 -3 -3 2 11 17 10 1 -7 -11 -11 -5 -1 -2 -6 -9 -10 -10 -10 -10 -10 -10 -11 -13 -15 -15 -14 -13 -14 -15 -17 -18 -19 -19 -19 -19 -18 -17 -16 -15 -17 -18 -18 -17 -16 -15 -17 -19 -19 -19 -19 -19 -18 -18 -18 -17 -13 -8 -8 -11 -12 -9 -6 -5 -7 -5 -1 -3 -6 -11 -17 -13 -8 -5 -8 -15 -15 -15 -16 -19 -23 -23 -21 -18 -18 -19 -20 -20 -21 -22 -23 -22 -22 -23 -23 -20 -15 -14 -15 -16 -19 -24 -26 -24 -19 -18 -20 -22 -25 -26 -25 -22 -22 -24 -26 -29 -30 -26 -21 -16 -11 -9 -11 -15 -19 -21 -23 -24 -23 -21 -19 -17 -16 -18 -21 -22 -15 -9 -3 -0 6 13 11 2 -11 -17 -18 -18 -17 -16 -14 -11 -10 -10 -13 -16 -17 -17 -15 -8 9 24 30 23 -8 -7 -6 -5 -5 -5 -5 -4 -3 -3 -4 -6 -10 -15 -16 -14 -10 -6 -4 -3 -3 -3 -3 -3 -2 -2 -2 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -9 -11 -11 -10 -8 -7 -7 -8 -9 -11 -12 -12 -11 -9 -8 -7 -6 -4 -3 -2 -3 -4 -3 -3 -2 -1 0 1 -0 -3 -6 -7 -8 -9 -9 -9 -9 -9 -9 -8 -5 -4 -6 -9 -11 -11 -11 -9 -8 -8 -8 -8 -8 -6 -4 -2 -2 -5 -9 -11 -9 -6 -11 -4 3 0 -10 -12 -10 -4 2 0 -4 -8 -11 -11 -4 4 6 4 -1 -4 -5 -5 -5 -5 -6 -8 -10 -12 -12 -13 -13 -11 -10 -9 -10 -11 -9 -6 -3 -8 1 12 19 18 17 11 4 -1 -4 -6 -8 -9 -11 -11 -11 -13 -14 -15 -14 -10 -3 0 -1 -5 -10 -11 -8 -3 0 -0 -5 -8 -7 -2 5 6 2 -5 -9 -8 -6 -6 -7 -7 -9 -16 -22 -24 -22 -16 -12 -7 -1 6 11 13 20 28 36 36 31 25 18 11 7 3 -2 -6 -7 -1 3 3 1 -3 -8 -12 -11 -9 -7 -4 0 2 2 -1 -4 -6 -5 -5 -6 -7 -0 15 29 34 27 14 -1 -13 -19 -19 -17 -16 -15 -15 -13 -11 -11 -12 -12 -10 -8 -8 -5 2 12 8 -1 -9 -12 -12 -7 -3 -3 -7 -11 -12 -13 -13 -14 -13 -13 -13 -14 -15 -15 -15 -15 -15 -16 -17 -17 -18 -19 -19 -19 -19 -18 -16 -15 -16 -18 -17 -16 -15 -15 -16 -18 -19 -19 -19 -19 -19 -19 -19 -18 -16 -12 -11 -13 -14 -13 -9 -6 -6 -7 -3 -2 -4 -9 -17 -17 -14 -12 -14 -20 -21 -20 -19 -19 -22 -25 -24 -20 -17 -17 -19 -20 -20 -21 -22 -21 -21 -21 -21 -20 -17 -16 -17 -19 -20 -23 -25 -24 -20 -17 -18 -21 -24 -26 -26 -23 -22 -23 -25 -28 -31 -29 -24 -18 -14 -12 -13 -16 -20 -21 -23 -25 -26 -25 -23 -19 -17 -18 -20 -21 -17 -11 -6 -5 2 10 11 4 -8 -15 -19 -19 -18 -17 -15 -12 -9 -8 -11 -12 -14 -16 -16 -13 0 15 22 18 -7 -6 -6 -5 -5 -4 -4 -4 -4 -6 -9 -13 -19 -24 -22 -16 -10 -4 -1 -0 -0 -1 -2 -3 -4 -4 -6 -7 -8 -7 -6 -5 -4 -3 -2 -2 -3 -6 -8 -9 -9 -8 -7 -6 -6 -7 -10 -11 -11 -10 -9 -8 -7 -7 -6 -4 -2 -1 -2 -2 -2 -2 -2 -1 0 0 -1 -3 -5 -7 -8 -8 -8 -8 -9 -9 -9 -7 -4 -5 -7 -10 -11 -11 -9 -7 -6 -6 -8 -8 -7 -6 -3 -2 -3 -7 -12 -14 -10 -12 -7 -0 4 -5 -11 -12 -8 -1 2 -1 -6 -10 -12 -8 1 7 7 1 -4 -6 -7 -6 -5 -5 -7 -10 -12 -13 -15 -14 -11 -9 -10 -11 -12 -12 -9 -4 -3 -6 5 16 18 17 15 10 5 -0 -4 -7 -9 -9 -9 -9 -10 -12 -15 -16 -15 -8 -2 0 -3 -8 -12 -11 -7 -2 0 -3 -7 -9 -7 -0 4 2 -3 -8 -8 -7 -8 -9 -9 -10 -15 -20 -23 -21 -15 -12 -8 -5 1 7 9 12 16 23 28 27 23 19 14 10 6 1 -4 -7 -5 1 3 3 0 -4 -8 -9 -8 -7 -5 -2 0 1 -0 -3 -5 -5 -4 -4 -6 -5 7 24 38 37 25 10 -5 -17 -19 -17 -15 -15 -16 -14 -13 -13 -14 -14 -14 -11 -11 -9 -5 5 5 -1 -9 -15 -16 -11 -7 -6 -10 -14 -16 -16 -16 -15 -14 -14 -14 -14 -15 -15 -15 -15 -15 -16 -17 -18 -18 -18 -19 -19 -19 -18 -18 -17 -17 -18 -17 -16 -15 -15 -16 -18 -19 -20 -19 -19 -20 -20 -19 -18 -18 -16 -14 -13 -13 -15 -13 -10 -8 -8 -6 -4 -4 -8 -15 -19 -19 -18 -18 -22 -25 -24 -22 -21 -21 -22 -22 -20 -16 -15 -19 -21 -21 -20 -20 -19 -19 -19 -19 -20 -18 -17 -17 -19 -21 -23 -25 -25 -22 -16 -16 -19 -23 -25 -25 -25 -24 -25 -26 -30 -33 -32 -27 -21 -16 -15 -15 -18 -20 -21 -24 -27 -29 -30 -27 -23 -19 -18 -20 -22 -21 -16 -10 -8 -2 8 12 6 -6 -14 -17 -19 -19 -19 -17 -13 -9 -8 -9 -10 -11 -13 -16 -16 -5 8 17 16 -7 -7 -6 -6 -6 -5 -4 -4 -6 -8 -11 -14 -17 -20 -18 -11 -6 -4 -4 -5 -5 -5 -6 -7 -5 -4 -4 -5 -6 -6 -6 -7 -7 -5 -4 -2 -2 -2 -4 -6 -6 -5 -5 -5 -5 -5 -7 -9 -10 -9 -8 -7 -7 -7 -7 -7 -5 -4 -3 -1 0 0 -0 -0 -0 -0 -1 -2 -4 -6 -7 -7 -7 -7 -8 -9 -9 -8 -6 -4 -5 -8 -10 -10 -10 -8 -6 -4 -5 -7 -8 -7 -5 -2 -2 -5 -11 -16 -16 -14 -12 -6 4 1 -8 -12 -11 -5 1 1 -2 -8 -11 -10 -3 4 7 4 -3 -7 -9 -8 -6 -4 -5 -8 -11 -14 -16 -15 -12 -9 -9 -11 -13 -14 -12 -7 -3 -8 -1 12 20 19 18 16 12 6 -0 -6 -9 -9 -8 -8 -8 -11 -13 -16 -17 -12 -5 0 -0 -5 -10 -12 -10 -6 -1 -2 -6 -9 -9 -5 0 1 -1 -4 -6 -7 -9 -10 -11 -12 -15 -19 -21 -20 -15 -10 -7 -5 -3 2 7 10 12 16 23 25 24 21 16 11 7 4 -1 -4 -5 -1 2 3 2 -1 -4 -6 -7 -7 -5 -3 -1 -0 -1 -2 -4 -5 -5 -4 -5 -7 0 15 36 43 35 21 5 -10 -16 -15 -14 -15 -16 -15 -13 -13 -14 -16 -14 -12 -12 -11 -9 -1 3 1 -6 -15 -18 -14 -9 -5 -7 -13 -16 -17 -17 -16 -15 -14 -14 -14 -15 -15 -15 -15 -15 -16 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -16 -16 -16 -18 -20 -21 -19 -19 -20 -20 -19 -19 -18 -17 -16 -13 -12 -15 -16 -15 -13 -10 -10 -7 -5 -9 -14 -19 -21 -20 -19 -22 -26 -27 -25 -23 -20 -19 -19 -19 -16 -14 -17 -20 -23 -23 -20 -18 -18 -18 -19 -20 -20 -18 -17 -18 -20 -22 -25 -27 -25 -17 -13 -15 -19 -22 -24 -25 -26 -26 -28 -31 -33 -33 -29 -23 -18 -16 -17 -19 -20 -21 -24 -28 -32 -35 -31 -27 -22 -19 -20 -22 -22 -19 -14 -10 -4 5 11 8 -4 -12 -15 -17 -18 -20 -18 -15 -10 -9 -9 -9 -9 -10 -14 -17 -10 2 13 14 -8 -7 -6 -5 -5 -5 -5 -6 -8 -9 -10 -12 -14 -14 -11 -8 -6 -6 -6 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -7 -8 -8 -7 -7 -7 -7 -8 -8 -8 -7 -5 -2 0 2 3 3 2 0 -1 -2 -3 -5 -6 -7 -7 -7 -7 -8 -8 -9 -8 -5 -4 -6 -8 -9 -10 -9 -7 -3 -1 -4 -7 -8 -7 -4 -3 -3 -7 -14 -19 -17 -16 -12 -2 5 -3 -9 -12 -9 -2 2 1 -4 -9 -11 -8 -2 3 5 -1 -7 -9 -9 -7 -4 -4 -6 -9 -13 -17 -17 -13 -9 -7 -10 -13 -15 -15 -12 -6 -9 -6 5 19 22 22 21 18 13 5 -3 -8 -9 -8 -6 -7 -9 -12 -16 -18 -14 -6 -0 1 -3 -7 -11 -12 -10 -5 -3 -5 -8 -10 -7 -3 -0 -0 -1 -3 -5 -8 -11 -13 -14 -16 -19 -20 -19 -17 -10 -5 -3 -4 -4 3 9 12 13 15 18 19 17 14 10 7 5 2 -0 -2 -0 2 3 4 3 -0 -3 -6 -7 -6 -4 -2 -2 -2 -3 -4 -5 -6 -5 -5 -7 -5 5 27 45 43 30 14 -1 -11 -12 -12 -13 -16 -16 -14 -13 -14 -16 -15 -12 -11 -11 -12 -6 2 4 -0 -11 -20 -18 -11 -5 -4 -9 -14 -16 -17 -16 -15 -14 -13 -14 -14 -15 -15 -15 -16 -17 -18 -19 -19 -18 -17 -16 -16 -17 -18 -19 -18 -18 -18 -18 -17 -17 -17 -18 -21 -22 -19 -19 -20 -21 -21 -20 -19 -18 -17 -15 -12 -14 -17 -18 -16 -13 -14 -13 -10 -14 -17 -20 -21 -20 -20 -23 -26 -27 -26 -23 -20 -18 -17 -17 -17 -15 -15 -19 -24 -27 -24 -20 -18 -18 -19 -20 -21 -20 -17 -18 -18 -21 -25 -27 -26 -20 -14 -13 -16 -20 -22 -25 -27 -27 -28 -31 -33 -33 -30 -25 -20 -19 -19 -21 -21 -22 -24 -28 -35 -38 -36 -31 -26 -21 -20 -20 -21 -20 -17 -13 -7 2 9 9 -2 -10 -14 -15 -17 -19 -19 -16 -12 -10 -8 -8 -8 -9 -13 -17 -14 -4 8 12 -7 -6 -4 -3 -4 -4 -5 -7 -7 -6 -6 -7 -7 -6 -5 -5 -6 -7 -8 -9 -8 -7 -6 -7 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -9 -8 -7 -7 -6 -5 -4 -4 -4 -4 -3 -3 -4 -5 -6 -7 -7 -7 -7 -8 -8 -8 -9 -10 -8 -5 -2 1 4 6 5 3 1 -1 -3 -5 -6 -6 -6 -6 -7 -8 -8 -8 -9 -6 -4 -4 -7 -9 -9 -10 -9 -6 1 0 -4 -8 -8 -7 -5 -4 -5 -10 -17 -19 -18 -15 -10 2 2 -4 -9 -10 -6 -0 2 -0 -5 -10 -11 -8 -3 3 2 -4 -8 -9 -8 -5 -4 -5 -8 -12 -17 -18 -14 -9 -6 -7 -11 -15 -17 -17 -12 -12 -11 -4 12 22 25 25 23 19 11 2 -5 -8 -8 -6 -6 -7 -11 -15 -18 -15 -8 -1 2 -1 -5 -10 -12 -13 -8 -4 -4 -6 -9 -8 -4 -1 0 -0 -1 -3 -7 -11 -14 -16 -16 -18 -19 -18 -18 -12 -4 0 -1 -7 -3 5 12 13 10 11 12 13 11 8 5 3 2 1 -1 1 3 3 4 4 3 -0 -4 -7 -6 -4 -2 -2 -4 -4 -4 -5 -6 -6 -5 -6 -7 -4 12 36 43 37 23 8 -3 -7 -9 -11 -15 -16 -14 -13 -13 -14 -13 -11 -11 -12 -13 -11 -4 4 5 -4 -17 -20 -15 -6 -1 -5 -11 -14 -16 -17 -16 -14 -13 -13 -14 -14 -15 -15 -16 -17 -18 -19 -20 -20 -16 -14 -14 -16 -18 -19 -19 -19 -18 -18 -17 -18 -18 -19 -20 -20 -18 -19 -20 -22 -22 -21 -21 -20 -19 -17 -13 -13 -16 -19 -17 -16 -16 -16 -14 -15 -17 -19 -20 -20 -23 -25 -25 -25 -23 -22 -20 -18 -17 -17 -18 -17 -17 -19 -23 -25 -23 -20 -18 -18 -19 -21 -23 -21 -17 -18 -19 -21 -24 -26 -27 -23 -17 -13 -15 -19 -22 -25 -28 -28 -28 -30 -32 -32 -30 -26 -21 -19 -20 -22 -22 -23 -25 -28 -35 -39 -39 -35 -29 -24 -21 -20 -20 -22 -19 -16 -10 -2 7 10 0 -9 -14 -15 -15 -18 -18 -17 -13 -10 -8 -7 -6 -6 -11 -18 -17 -10 2 9 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -7 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -10 -11 -10 -9 -7 -7 -6 -6 -5 -5 -5 -4 -3 -3 -4 -4 -5 -5 -6 -6 -7 -8 -8 -9 -10 -11 -10 -9 -7 -4 -0 5 8 8 5 2 -1 -4 -6 -6 -5 -5 -6 -7 -8 -8 -9 -9 -5 -3 -4 -8 -9 -9 -10 -10 -4 2 0 -4 -8 -9 -8 -7 -6 -6 -12 -17 -18 -18 -14 -5 1 1 -4 -9 -9 -4 2 4 0 -7 -12 -13 -8 -1 3 0 -3 -6 -7 -7 -6 -6 -7 -11 -16 -17 -16 -11 -5 -5 -8 -12 -17 -20 -19 -17 -16 -11 2 17 24 27 26 23 17 8 -1 -6 -7 -6 -5 -5 -9 -14 -18 -17 -10 -2 2 -0 -4 -8 -12 -14 -11 -6 -4 -5 -9 -9 -6 -2 -0 0 -0 -2 -6 -10 -15 -18 -17 -18 -20 -19 -15 -14 -8 1 4 -4 -7 -0 10 15 10 6 6 7 8 6 3 1 -0 -1 -2 -0 2 3 3 3 3 1 -1 -4 -3 -0 -0 -2 -5 -5 -4 -5 -6 -7 -6 -6 -7 -9 -5 17 35 39 30 16 5 -1 -5 -8 -13 -15 -15 -14 -13 -13 -12 -9 -9 -12 -14 -13 -11 -5 1 1 -11 -17 -16 -9 -1 -2 -7 -11 -14 -16 -17 -14 -12 -12 -12 -14 -15 -15 -16 -18 -19 -19 -21 -22 -17 -14 -14 -16 -18 -19 -19 -19 -18 -18 -17 -18 -19 -19 -19 -19 -19 -19 -20 -22 -22 -22 -22 -22 -21 -18 -14 -12 -14 -18 -18 -17 -17 -17 -16 -15 -17 -18 -19 -19 -22 -23 -23 -22 -21 -21 -22 -21 -18 -17 -18 -18 -19 -21 -22 -22 -20 -18 -18 -18 -20 -22 -22 -18 -15 -19 -21 -22 -22 -23 -26 -25 -21 -16 -14 -17 -21 -24 -26 -27 -27 -28 -30 -32 -31 -26 -21 -18 -18 -22 -23 -23 -25 -29 -35 -38 -39 -37 -32 -26 -22 -21 -22 -24 -21 -18 -13 -5 5 9 3 -7 -14 -16 -16 -17 -18 -17 -14 -10 -7 -6 -4 -3 -9 -16 -19 -14 -4 5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -8 -8 -7 -7 -7 -6 -6 -6 -7 -7 -7 -5 -3 -2 -3 -4 -6 -9 -10 -8 -5 -3 -3 -4 -5 -5 -5 -5 -4 -3 -3 -4 -4 -4 -4 -5 -6 -7 -8 -9 -10 -11 -10 -10 -10 -9 -6 -0 5 8 8 7 3 -1 -4 -5 -5 -5 -6 -7 -9 -10 -10 -11 -7 -3 -1 -5 -7 -9 -10 -9 -9 -3 0 -2 -6 -8 -8 -9 -9 -8 -10 -13 -15 -17 -15 -11 -4 0 -1 -6 -11 -8 0 8 8 -1 -10 -14 -13 -7 2 4 1 -4 -8 -9 -9 -7 -6 -10 -15 -16 -17 -15 -8 -3 -5 -9 -14 -19 -24 -23 -20 -16 -8 8 19 25 26 26 22 13 5 -2 -6 -6 -4 -4 -7 -12 -18 -18 -13 -4 2 1 -2 -6 -10 -13 -12 -8 -4 -4 -7 -10 -7 -3 -0 0 -0 -1 -4 -8 -14 -17 -17 -18 -20 -22 -14 -16 -13 -2 7 1 -6 -5 4 14 12 7 3 2 4 5 3 1 -1 -2 -4 -3 -1 -0 0 0 0 -0 -0 0 3 4 3 -1 -5 -6 -5 -4 -6 -7 -7 -7 -7 -9 -12 0 21 35 35 22 13 5 -0 -5 -10 -14 -15 -14 -13 -13 -12 -9 -8 -10 -13 -14 -13 -12 -11 -8 -11 -15 -16 -10 -3 -1 -3 -7 -11 -14 -16 -14 -11 -10 -11 -12 -14 -15 -16 -18 -20 -19 -19 -21 -17 -14 -15 -17 -19 -19 -19 -19 -19 -18 -18 -18 -19 -19 -18 -18 -19 -20 -21 -22 -22 -22 -22 -22 -21 -18 -14 -12 -11 -14 -17 -18 -18 -17 -17 -16 -17 -18 -18 -18 -19 -20 -20 -21 -21 -24 -26 -25 -22 -18 -18 -20 -22 -23 -22 -19 -17 -17 -17 -18 -20 -21 -19 -15 -14 -19 -22 -22 -20 -22 -25 -26 -24 -19 -14 -16 -20 -24 -26 -27 -27 -27 -28 -31 -31 -26 -20 -16 -17 -21 -23 -23 -24 -29 -35 -38 -38 -36 -33 -28 -23 -22 -24 -25 -23 -20 -16 -9 2 9 4 -5 -13 -16 -17 -17 -18 -18 -15 -10 -6 -4 -2 0 -6 -14 -18 -17 -11 -1 -9 -8 -7 -4 -3 -2 -2 -3 -5 -6 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -7 -7 -8 -9 -9 -7 -4 0 2 2 1 -2 -4 -4 -2 2 4 3 1 0 -0 -2 -3 -3 -4 -4 -4 -4 -4 -4 -5 -7 -8 -8 -9 -9 -9 -8 -8 -8 -7 -5 -1 3 7 8 8 5 2 -1 -3 -4 -5 -7 -9 -12 -12 -12 -10 -5 -1 -2 -5 -7 -9 -9 -9 -7 -2 0 -1 -5 -7 -8 -8 -8 -9 -11 -13 -14 -14 -13 -8 -4 -1 -3 -8 -9 -4 4 10 5 -4 -12 -14 -11 -2 4 3 -2 -8 -11 -11 -9 -7 -8 -14 -16 -17 -17 -14 -4 -2 -6 -12 -16 -21 -24 -23 -19 -13 -4 10 19 24 25 24 18 11 3 -4 -6 -4 -3 -4 -10 -17 -19 -15 -6 2 2 -0 -4 -8 -12 -13 -9 -5 -3 -6 -10 -9 -5 -1 1 0 -1 -3 -7 -12 -14 -16 -17 -20 -22 -15 -15 -14 -9 4 5 -2 -6 -3 8 11 9 4 2 2 4 4 3 1 -3 -5 -5 -4 -3 -3 -4 -4 -4 -2 4 9 8 5 2 -4 -6 -5 -4 -5 -7 -7 -8 -8 -9 -12 -9 7 26 36 27 18 10 3 -2 -8 -13 -15 -15 -14 -13 -12 -9 -7 -8 -11 -13 -13 -13 -13 -12 -15 -16 -14 -10 -7 -2 1 -1 -7 -12 -14 -13 -10 -7 -8 -10 -12 -14 -16 -17 -19 -19 -18 -19 -16 -13 -13 -16 -19 -20 -20 -20 -19 -19 -18 -18 -19 -19 -17 -18 -19 -20 -21 -22 -22 -22 -22 -21 -21 -19 -16 -13 -11 -12 -15 -17 -18 -18 -17 -16 -17 -17 -18 -17 -17 -18 -19 -20 -22 -25 -27 -27 -26 -21 -20 -20 -22 -24 -22 -18 -16 -16 -17 -18 -19 -21 -20 -16 -16 -19 -21 -21 -19 -21 -24 -26 -26 -21 -15 -14 -17 -22 -26 -27 -28 -27 -28 -30 -32 -27 -21 -16 -17 -21 -23 -23 -24 -28 -33 -36 -38 -37 -34 -30 -26 -25 -26 -27 -24 -21 -17 -12 -1 6 4 -4 -13 -17 -18 -18 -19 -20 -14 -9 -5 -3 0 1 -4 -12 -18 -19 -17 -7 -10 -8 -6 -3 -2 -3 -4 -5 -6 -7 -6 -6 -5 -6 -7 -8 -8 -8 -8 -7 -6 -5 -5 -5 -8 -11 -12 -10 -7 -4 -3 -2 -2 -2 -4 -5 -5 -4 -3 -1 2 4 3 -1 -2 -3 -4 -4 -4 -5 -5 -5 -5 -6 -7 -8 -8 -9 -9 -8 -7 -6 -6 -6 -5 -2 1 3 5 6 6 5 2 -1 -4 -7 -10 -13 -14 -14 -12 -8 -3 -1 -3 -5 -8 -9 -9 -8 -5 -1 2 0 -4 -6 -7 -8 -9 -11 -12 -13 -13 -13 -10 -6 -2 0 -4 -8 -8 -2 5 8 2 -6 -12 -13 -8 -0 3 1 -6 -11 -11 -9 -6 -6 -12 -16 -18 -19 -19 -7 -3 -5 -10 -14 -18 -21 -21 -19 -15 -11 -1 11 20 21 22 21 16 9 1 -4 -4 -2 -2 -6 -15 -19 -18 -10 1 3 1 -2 -6 -10 -12 -10 -7 -4 -5 -9 -10 -8 -3 1 1 -1 -3 -7 -10 -12 -13 -16 -19 -21 -17 -14 -15 -15 -3 4 3 -1 -4 0 7 9 9 7 5 5 6 6 4 -1 -4 -6 -6 -5 -5 -6 -8 -9 -7 -1 9 9 7 6 -1 -6 -6 -4 -4 -6 -7 -8 -8 -9 -11 -12 -5 11 28 28 21 14 7 0 -6 -11 -14 -15 -14 -13 -12 -10 -8 -8 -10 -12 -11 -11 -12 -12 -14 -16 -14 -8 -7 -3 3 5 -1 -8 -12 -13 -10 -5 -4 -6 -9 -13 -15 -16 -18 -18 -19 -19 -17 -14 -13 -16 -19 -21 -21 -20 -20 -19 -18 -18 -19 -20 -18 -18 -19 -21 -22 -22 -21 -22 -22 -22 -22 -21 -18 -15 -12 -12 -13 -15 -17 -17 -17 -16 -16 -17 -17 -17 -17 -17 -18 -20 -22 -24 -24 -24 -26 -25 -22 -21 -22 -23 -20 -17 -16 -16 -16 -18 -19 -21 -22 -19 -19 -19 -21 -21 -20 -21 -24 -26 -26 -21 -16 -12 -14 -19 -23 -26 -26 -26 -27 -29 -32 -29 -23 -17 -18 -21 -22 -22 -24 -26 -30 -34 -37 -37 -34 -32 -29 -28 -28 -29 -25 -21 -18 -13 -3 4 3 -4 -13 -18 -20 -20 -20 -19 -13 -7 -4 -2 1 2 -3 -10 -17 -19 -21 -14 -8 -6 -4 -4 -3 -4 -4 -5 -6 -7 -7 -6 -6 -6 -6 -6 -6 -6 -4 -3 -4 -4 -5 -6 -7 -8 -8 -6 -3 -2 -2 -3 -5 -7 -5 -5 -4 -4 -5 -4 -3 -1 1 1 -1 -2 -2 -0 -1 -3 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -6 -5 -4 -5 -5 -5 -4 -4 -2 2 6 9 8 5 0 -4 -9 -13 -15 -15 -13 -10 -6 -2 -2 -4 -5 -7 -8 -8 -7 -4 1 4 -0 -5 -7 -8 -9 -10 -11 -12 -13 -13 -11 -7 -3 1 -0 -5 -9 -8 -3 5 5 -0 -8 -12 -11 -5 1 3 -2 -9 -11 -9 -6 -5 -9 -16 -20 -22 -20 -9 -3 -5 -9 -13 -15 -16 -17 -17 -12 -10 -6 2 12 18 19 20 19 15 7 -1 -3 -2 -1 -3 -12 -19 -20 -14 -1 3 2 -1 -4 -9 -11 -11 -8 -5 -4 -7 -9 -9 -6 -1 0 -1 -4 -7 -10 -11 -12 -14 -16 -20 -19 -15 -15 -18 -11 -1 2 1 -2 -3 1 7 12 11 7 6 7 7 5 1 -3 -6 -6 -6 -6 -7 -10 -12 -13 -11 -1 4 7 10 4 -3 -5 -5 -4 -5 -7 -7 -8 -9 -11 -13 -11 -4 10 20 21 17 10 3 -3 -9 -12 -14 -14 -14 -13 -11 -9 -7 -10 -11 -11 -9 -10 -11 -13 -15 -15 -9 -8 -5 -0 4 3 -5 -11 -13 -11 -5 -1 -1 -5 -10 -13 -15 -17 -18 -20 -19 -18 -15 -13 -15 -18 -20 -21 -20 -20 -20 -18 -19 -20 -21 -20 -19 -20 -22 -22 -22 -22 -22 -22 -22 -23 -22 -20 -17 -14 -13 -13 -14 -17 -17 -17 -16 -16 -17 -17 -17 -16 -18 -19 -20 -21 -23 -24 -24 -26 -27 -24 -23 -22 -21 -18 -17 -16 -16 -16 -17 -19 -22 -23 -21 -20 -19 -19 -20 -21 -23 -26 -28 -26 -21 -17 -13 -11 -14 -19 -23 -24 -24 -25 -28 -31 -31 -27 -21 -21 -22 -22 -21 -22 -24 -27 -32 -36 -37 -35 -32 -30 -29 -28 -28 -26 -22 -17 -13 -3 3 3 -3 -12 -19 -22 -23 -22 -16 -12 -8 -4 -1 1 2 -1 -7 -14 -17 -22 -18 -4 -4 -4 -5 -5 -5 -4 -4 -5 -6 -7 -7 -7 -7 -5 -3 -2 -2 -2 -2 -2 -3 -4 -5 -6 -5 -3 -1 0 1 -0 -2 -4 -7 -5 -3 -1 -1 -2 -2 -2 -2 -3 -4 -4 -2 1 3 3 0 -2 -4 -5 -6 -7 -8 -8 -8 -8 -8 -7 -5 -4 -4 -4 -5 -6 -6 -7 -5 -0 5 9 10 6 1 -5 -11 -14 -14 -13 -11 -8 -4 -2 -2 -3 -5 -7 -8 -8 -7 -4 3 3 -1 -5 -8 -9 -10 -11 -12 -12 -13 -11 -9 -5 -0 1 -3 -8 -11 -9 -2 4 4 -2 -9 -11 -8 -3 2 1 -5 -10 -10 -8 -5 -7 -13 -19 -22 -20 -10 -5 -6 -10 -13 -14 -14 -14 -15 -12 -6 -5 -3 3 13 17 19 19 18 12 4 -1 -2 -1 -1 -9 -17 -20 -17 -6 2 3 0 -3 -6 -10 -11 -9 -5 -3 -5 -7 -9 -7 -3 -1 -1 -3 -7 -10 -11 -11 -11 -13 -17 -19 -17 -17 -19 -16 -6 -0 1 -0 -3 -2 4 11 14 11 7 6 6 5 2 -3 -5 -6 -5 -5 -7 -10 -13 -15 -17 -14 -6 4 13 9 2 -3 -4 -4 -5 -6 -6 -7 -8 -10 -13 -14 -11 -2 10 17 17 12 5 -1 -7 -12 -14 -15 -15 -14 -12 -9 -8 -10 -11 -11 -9 -8 -11 -13 -15 -16 -11 -8 -7 -5 -0 3 -2 -8 -12 -12 -7 0 3 1 -5 -10 -13 -17 -20 -21 -20 -19 -16 -13 -14 -18 -20 -20 -20 -21 -20 -18 -19 -21 -23 -22 -21 -21 -23 -23 -22 -22 -22 -22 -22 -22 -22 -21 -19 -17 -14 -14 -15 -16 -17 -17 -16 -16 -17 -17 -16 -16 -18 -20 -20 -19 -22 -25 -28 -28 -27 -26 -24 -22 -19 -17 -17 -17 -17 -17 -17 -19 -22 -24 -21 -20 -18 -17 -17 -19 -22 -26 -28 -26 -23 -20 -14 -10 -11 -17 -20 -21 -22 -23 -27 -30 -31 -30 -24 -23 -23 -22 -19 -18 -20 -25 -29 -33 -36 -35 -33 -31 -31 -29 -27 -25 -22 -16 -10 1 6 5 -1 -10 -18 -23 -25 -24 -18 -14 -10 -6 -2 -0 1 -0 -5 -12 -15 -19 -19 -3 -5 -6 -7 -6 -5 -5 -6 -6 -6 -6 -6 -6 -5 -3 -3 -4 -4 -4 -5 -6 -7 -9 -10 -9 -7 -5 -3 -2 -2 -2 -3 -4 -5 -5 -3 -1 -1 -2 -2 -2 -3 -4 -6 -5 -3 -1 2 5 4 2 -0 -2 -4 -6 -7 -8 -8 -9 -9 -8 -7 -5 -4 -4 -4 -4 -4 -5 -7 -7 -3 3 9 9 6 1 -5 -9 -11 -11 -10 -9 -6 -3 -2 -2 -3 -5 -7 -9 -9 -8 -2 4 3 -1 -7 -9 -9 -11 -12 -12 -13 -13 -11 -8 -3 1 -0 -4 -9 -11 -8 -0 4 3 -3 -9 -10 -7 -2 2 -1 -7 -11 -10 -6 -6 -10 -16 -20 -19 -12 -7 -7 -10 -14 -16 -14 -14 -14 -14 -6 -4 -4 -3 5 14 17 19 18 15 8 2 -1 -1 -1 -6 -14 -19 -19 -11 -1 3 3 -0 -4 -7 -9 -9 -7 -4 -4 -6 -8 -8 -6 -3 -2 -2 -6 -11 -12 -10 -9 -10 -14 -18 -18 -18 -19 -19 -9 -2 1 -0 -3 -4 0 8 14 14 10 7 5 4 2 -1 -3 -5 -5 -3 -4 -7 -11 -14 -17 -17 -13 -3 10 13 8 3 -0 -2 -4 -4 -4 -5 -6 -9 -13 -15 -14 -10 5 16 20 16 8 1 -5 -9 -13 -15 -16 -16 -13 -10 -8 -10 -12 -12 -9 -7 -9 -12 -15 -15 -12 -9 -9 -8 -4 3 3 -2 -8 -12 -10 -2 4 7 3 -4 -10 -16 -21 -23 -22 -21 -17 -14 -13 -17 -19 -20 -21 -21 -21 -19 -20 -23 -25 -24 -22 -21 -22 -24 -22 -22 -22 -22 -21 -21 -22 -21 -20 -18 -16 -15 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -17 -19 -20 -17 -20 -26 -29 -28 -27 -27 -26 -22 -18 -17 -17 -18 -18 -17 -17 -18 -20 -22 -20 -18 -17 -16 -14 -17 -20 -23 -26 -26 -24 -21 -16 -9 -9 -15 -19 -21 -20 -21 -24 -28 -30 -30 -27 -23 -23 -22 -18 -14 -17 -22 -27 -30 -35 -36 -35 -34 -33 -32 -29 -26 -21 -15 -6 7 14 12 3 -7 -16 -23 -27 -27 -22 -17 -12 -9 -6 -2 0 0 -3 -8 -13 -15 -16 -6 -7 -7 -7 -6 -6 -6 -7 -7 -7 -6 -5 -4 -4 -5 -5 -6 -6 -5 -5 -7 -8 -10 -12 -13 -11 -8 -6 -6 -5 -5 -5 -6 -6 -7 -6 -4 -4 -6 -7 -7 -6 -5 -5 -4 -5 -6 -4 2 4 3 2 1 -1 -3 -5 -7 -8 -10 -10 -9 -8 -7 -5 -4 -3 -2 -1 -0 -3 -5 -6 -5 -1 4 6 5 1 -3 -5 -7 -8 -8 -7 -5 -3 -2 -2 -3 -5 -7 -9 -10 -8 1 5 4 -3 -7 -8 -10 -12 -14 -14 -14 -13 -11 -7 -2 1 -0 -5 -10 -10 -5 2 6 2 -5 -9 -10 -6 -0 1 -4 -10 -12 -8 -5 -7 -13 -18 -19 -13 -8 -7 -10 -15 -17 -16 -15 -14 -15 -9 -4 -4 -7 -4 7 15 19 19 17 11 6 1 -1 -1 -4 -11 -18 -20 -15 -4 2 4 3 0 -4 -8 -9 -8 -5 -4 -5 -7 -9 -8 -6 -4 -3 -5 -10 -12 -12 -9 -7 -10 -15 -19 -20 -19 -20 -10 -2 1 -1 -3 -5 -2 4 13 16 14 9 5 3 2 0 -2 -4 -5 -3 -3 -4 -7 -11 -14 -15 -14 -8 3 12 13 9 5 2 -1 -2 -2 -2 -4 -8 -12 -15 -16 -15 -1 13 21 21 13 5 -1 -6 -10 -14 -17 -17 -15 -11 -9 -11 -12 -12 -9 -8 -8 -10 -13 -15 -13 -10 -9 -9 -7 1 5 3 -3 -10 -13 -6 3 9 8 2 -6 -14 -20 -23 -23 -22 -18 -14 -13 -17 -20 -21 -22 -22 -22 -21 -21 -23 -25 -25 -22 -21 -21 -23 -22 -22 -22 -22 -21 -21 -21 -22 -21 -20 -18 -17 -16 -16 -15 -16 -16 -16 -15 -16 -16 -16 -16 -18 -21 -19 -20 -24 -26 -26 -27 -29 -28 -23 -19 -18 -18 -19 -19 -19 -18 -18 -18 -18 -18 -19 -18 -15 -13 -15 -18 -21 -23 -25 -22 -19 -15 -10 -8 -13 -19 -21 -20 -19 -22 -26 -29 -29 -26 -23 -22 -22 -20 -8 -13 -20 -25 -29 -35 -38 -38 -37 -38 -37 -34 -29 -22 -14 -3 14 24 23 12 -0 -12 -21 -29 -30 -28 -22 -17 -12 -10 -5 -1 -0 -2 -5 -10 -13 -15 -6 -6 -6 -6 -7 -7 -8 -8 -6 -5 -4 -3 -3 -4 -5 -6 -6 -6 -5 -5 -6 -7 -9 -11 -13 -12 -9 -7 -7 -6 -6 -6 -7 -8 -9 -9 -8 -7 -8 -9 -10 -11 -11 -9 -6 -4 -5 -8 -7 -1 1 1 1 1 -1 -3 -5 -8 -9 -9 -8 -8 -8 -7 -5 -3 -2 -0 1 0 -2 -5 -7 -8 -6 -2 0 2 2 1 -1 -4 -6 -7 -6 -4 -1 0 -1 -2 -5 -7 -10 -10 -4 3 7 2 -5 -7 -9 -12 -15 -16 -15 -14 -12 -10 -7 -1 1 0 -5 -9 -7 -1 6 8 1 -7 -11 -10 -4 1 -1 -7 -11 -11 -5 -5 -9 -15 -18 -14 -9 -7 -9 -14 -18 -18 -16 -15 -15 -13 -8 -5 -7 -11 -2 10 18 21 18 14 8 3 -0 -1 -3 -9 -16 -20 -17 -8 -1 3 4 2 -1 -5 -8 -8 -6 -4 -5 -6 -9 -9 -8 -6 -5 -5 -9 -13 -13 -10 -6 -6 -12 -17 -20 -19 -21 -11 -3 2 -0 -3 -5 -5 -0 9 16 16 12 7 3 3 2 -0 -3 -4 -3 -1 -2 -4 -7 -10 -12 -12 -10 -4 5 11 13 11 7 4 2 1 1 -2 -7 -10 -13 -17 -18 -9 6 20 25 19 10 4 -2 -7 -11 -16 -18 -16 -11 -8 -10 -11 -11 -8 -7 -8 -10 -12 -15 -14 -11 -10 -10 -9 -3 3 5 0 -8 -13 -10 -1 8 12 6 -2 -10 -17 -21 -23 -22 -19 -15 -12 -17 -20 -22 -23 -23 -23 -22 -21 -22 -24 -24 -23 -20 -19 -21 -21 -21 -22 -22 -21 -21 -22 -21 -21 -20 -19 -18 -17 -15 -15 -15 -15 -15 -15 -15 -16 -16 -16 -17 -21 -23 -23 -24 -24 -23 -26 -29 -30 -26 -22 -20 -19 -19 -20 -20 -20 -19 -19 -19 -21 -21 -19 -15 -11 -14 -17 -19 -21 -22 -20 -17 -13 -9 -8 -12 -18 -23 -22 -20 -21 -25 -29 -29 -26 -23 -21 -22 -23 -0 -6 -17 -24 -28 -33 -38 -41 -41 -41 -41 -39 -33 -26 -17 -6 12 28 33 26 16 2 -14 -30 -34 -33 -28 -22 -17 -15 -9 -4 -2 -2 -4 -7 -11 -13 -4 -5 -6 -8 -9 -8 -6 -4 -3 -1 -2 -2 -4 -5 -7 -7 -7 -6 -5 -5 -5 -6 -6 -8 -9 -8 -8 -7 -7 -7 -5 -5 -5 -6 -9 -11 -11 -11 -10 -10 -10 -10 -10 -9 -8 -7 -6 -7 -10 -9 -6 -4 -3 -2 -1 -2 -3 -5 -6 -7 -7 -6 -6 -6 -5 -4 -2 -1 -0 1 -1 -3 -5 -7 -7 -7 -6 -5 -3 1 3 2 -1 -4 -6 -5 -3 0 1 -0 -3 -6 -8 -9 -8 -3 2 3 -2 -6 -8 -10 -13 -16 -16 -15 -13 -12 -10 -7 -3 -1 -2 -5 -6 -2 4 10 6 -2 -9 -12 -9 -2 -0 -4 -10 -13 -8 -4 -6 -12 -17 -16 -11 -7 -6 -11 -16 -18 -18 -18 -17 -17 -13 -8 -5 -11 -10 1 14 22 21 16 10 5 1 -1 -3 -8 -14 -18 -17 -11 -4 0 2 3 0 -4 -7 -8 -7 -4 -4 -5 -7 -8 -8 -8 -7 -7 -9 -12 -14 -12 -8 -5 -9 -14 -19 -19 -19 -13 -4 3 1 -2 -5 -6 -4 3 13 17 15 10 5 5 4 2 0 -2 -2 -1 -1 -1 -3 -5 -7 -9 -9 -7 -2 5 11 14 12 9 6 4 3 -1 -6 -10 -13 -16 -18 -16 -3 14 26 24 16 9 3 -2 -7 -13 -16 -15 -10 -6 -7 -9 -10 -7 -6 -8 -10 -11 -14 -15 -12 -10 -9 -11 -7 0 5 3 -6 -11 -12 -7 3 12 9 2 -6 -13 -18 -22 -24 -23 -19 -14 -16 -21 -24 -25 -24 -23 -22 -21 -20 -22 -23 -22 -21 -19 -20 -20 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -18 -17 -16 -16 -15 -14 -15 -15 -15 -16 -17 -16 -17 -20 -22 -24 -25 -24 -23 -25 -28 -31 -28 -24 -22 -20 -19 -20 -21 -21 -21 -21 -20 -22 -22 -19 -14 -9 -12 -16 -19 -20 -21 -19 -17 -13 -10 -8 -11 -16 -21 -23 -21 -20 -23 -28 -29 -27 -24 -22 -22 -26 6 5 -11 -21 -27 -34 -40 -43 -43 -42 -42 -41 -38 -32 -22 -12 5 25 41 38 30 18 2 -24 -36 -37 -33 -27 -21 -18 -13 -8 -5 -3 -3 -5 -8 -11 -5 -7 -9 -10 -9 -6 -2 -0 -0 -1 -2 -3 -5 -6 -8 -8 -7 -5 -4 -3 -3 -4 -6 -6 -7 -8 -8 -8 -7 -6 -6 -5 -4 -5 -6 -9 -12 -13 -12 -9 -8 -8 -8 -7 -8 -9 -11 -13 -14 -13 -9 -6 -4 -4 -4 -3 -3 -4 -5 -6 -6 -5 -4 -4 -3 -2 -1 -1 -0 1 0 -1 -4 -6 -7 -7 -7 -7 -7 -4 1 5 5 1 -2 -4 -3 -1 2 1 -1 -4 -7 -9 -10 -8 -4 1 -0 -3 -5 -7 -10 -14 -16 -16 -14 -12 -10 -8 -6 -4 -3 -4 -6 -5 1 9 10 4 -4 -11 -12 -6 -1 -1 -6 -13 -10 -5 -3 -7 -14 -16 -14 -9 -5 -7 -13 -17 -19 -20 -19 -20 -17 -10 -4 -8 -12 -8 3 18 23 18 13 7 3 -1 -4 -7 -12 -16 -17 -12 -6 -2 1 2 0 -3 -6 -8 -7 -5 -4 -5 -6 -8 -9 -9 -9 -10 -11 -12 -14 -15 -13 -7 -8 -12 -17 -18 -16 -14 -6 5 5 -1 -4 -5 -6 -3 7 14 17 16 11 8 7 6 4 1 -0 -1 -1 -1 -2 -3 -4 -5 -6 -6 -4 -0 6 12 14 12 9 7 5 0 -5 -9 -12 -15 -19 -18 -11 3 22 26 21 14 7 2 -3 -8 -12 -13 -8 -4 -4 -6 -8 -7 -6 -8 -10 -11 -13 -14 -14 -11 -9 -10 -10 -4 3 4 -3 -9 -12 -11 -4 7 10 6 -2 -10 -15 -19 -24 -26 -23 -17 -17 -21 -25 -26 -25 -22 -21 -20 -20 -20 -22 -22 -21 -20 -20 -20 -21 -21 -21 -21 -21 -21 -22 -21 -20 -19 -18 -17 -17 -16 -15 -14 -14 -15 -16 -17 -18 -18 -19 -20 -21 -23 -25 -25 -26 -26 -28 -30 -28 -26 -24 -22 -20 -21 -21 -22 -23 -23 -20 -20 -20 -18 -13 -8 -10 -14 -18 -20 -22 -21 -18 -15 -12 -9 -9 -14 -20 -21 -20 -19 -20 -25 -28 -28 -27 -24 -22 -26 4 10 -4 -21 -29 -36 -41 -42 -41 -40 -40 -41 -42 -39 -28 -18 -3 18 44 47 41 31 18 -4 -31 -38 -35 -30 -24 -20 -17 -13 -9 -6 -3 -3 -5 -8 -8 -10 -10 -9 -6 -2 0 -0 -2 -3 -4 -4 -5 -5 -5 -4 -3 -1 -0 -1 -2 -4 -4 -5 -5 -4 -4 -3 -3 -3 -4 -5 -6 -6 -6 -8 -10 -10 -9 -8 -7 -6 -6 -6 -7 -10 -14 -17 -18 -16 -12 -7 -4 -5 -5 -5 -5 -4 -5 -5 -5 -5 -4 -3 -2 -1 -1 -1 -0 0 -0 -1 -3 -5 -6 -6 -6 -7 -8 -8 -4 2 7 6 2 -1 -3 -2 1 2 1 -2 -6 -9 -11 -10 -7 -3 0 -0 -1 -3 -6 -11 -15 -17 -15 -12 -9 -7 -6 -6 -5 -5 -7 -7 -3 5 11 8 1 -8 -13 -10 -4 -1 -3 -12 -13 -8 -3 -3 -10 -15 -15 -11 -5 -3 -8 -14 -19 -21 -21 -22 -19 -13 -4 -3 -9 -12 -7 5 18 19 15 11 6 2 -2 -6 -9 -13 -15 -12 -8 -3 -1 0 0 -2 -5 -7 -7 -5 -4 -4 -6 -7 -9 -10 -12 -13 -14 -14 -15 -16 -16 -9 -7 -10 -16 -17 -14 -15 -9 3 9 3 -2 -4 -5 -6 0 9 17 20 17 12 10 9 9 5 3 1 -1 -1 -3 -3 -3 -4 -4 -4 -3 -2 2 8 13 12 11 9 7 3 -2 -7 -11 -14 -18 -20 -18 -9 11 23 24 18 10 4 1 -4 -8 -10 -7 -1 -0 -2 -6 -6 -5 -6 -8 -10 -11 -14 -15 -13 -9 -9 -11 -7 -1 6 3 -4 -9 -12 -10 0 8 8 2 -6 -12 -18 -23 -26 -24 -17 -17 -19 -21 -22 -21 -19 -19 -21 -20 -20 -21 -21 -20 -20 -20 -21 -21 -21 -21 -21 -21 -22 -22 -21 -20 -18 -17 -17 -16 -17 -16 -15 -14 -14 -16 -17 -19 -20 -20 -20 -21 -24 -25 -26 -27 -28 -28 -28 -27 -26 -25 -24 -23 -22 -21 -23 -24 -24 -20 -19 -18 -17 -13 -9 -8 -12 -17 -19 -22 -22 -20 -17 -13 -8 -7 -11 -18 -21 -20 -18 -18 -22 -26 -28 -28 -26 -23 -23 -10 -2 -3 -23 -31 -37 -39 -39 -38 -39 -40 -43 -47 -45 -35 -24 -11 9 41 51 50 42 33 19 -20 -38 -36 -30 -25 -22 -19 -16 -14 -10 -6 -4 -5 -5 -10 -10 -7 -4 -1 -0 -2 -3 -4 -5 -4 -4 -4 -3 -3 -2 -2 -3 -5 -6 -7 -8 -8 -7 -6 -6 -5 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -7 -8 -7 -7 -6 -5 -6 -7 -10 -15 -19 -20 -18 -14 -9 -5 -3 -4 -5 -5 -5 -4 -4 -5 -5 -5 -4 -2 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -5 -6 -7 -9 -10 -9 -4 4 9 7 3 -0 -1 0 3 3 0 -4 -8 -11 -11 -10 -7 -2 -0 -0 -1 -2 -6 -12 -16 -17 -14 -10 -6 -5 -5 -6 -6 -8 -8 -6 -1 7 9 5 -4 -12 -13 -8 -2 -1 -7 -12 -9 -5 -2 -6 -13 -16 -13 -8 -3 -6 -11 -17 -20 -21 -21 -19 -14 -6 -1 -5 -9 -11 -5 8 15 16 13 10 5 -0 -5 -8 -11 -14 -12 -8 -4 -2 -1 -1 -1 -3 -6 -7 -5 -4 -4 -5 -6 -8 -10 -13 -15 -16 -17 -17 -18 -18 -11 -8 -9 -14 -17 -16 -17 -13 -3 8 6 2 -2 -4 -6 -3 3 11 19 22 19 17 15 15 13 8 4 0 -1 -3 -5 -5 -5 -5 -4 -2 -0 3 7 11 12 11 10 10 6 1 -5 -10 -12 -17 -21 -21 -15 -2 12 20 20 13 5 1 -4 -8 -11 -9 -1 3 2 -3 -6 -5 -6 -7 -8 -10 -14 -15 -14 -10 -9 -11 -10 -5 4 5 -0 -7 -12 -14 -8 2 7 5 -4 -12 -18 -22 -25 -24 -18 -17 -18 -20 -20 -19 -18 -19 -20 -20 -21 -21 -21 -20 -19 -20 -20 -21 -21 -21 -21 -21 -21 -22 -22 -20 -19 -18 -18 -17 -17 -17 -16 -14 -13 -15 -17 -19 -22 -23 -21 -22 -25 -27 -28 -28 -28 -27 -27 -26 -25 -24 -25 -24 -22 -22 -23 -25 -24 -20 -18 -18 -17 -14 -10 -8 -9 -16 -20 -22 -22 -20 -19 -15 -9 -6 -9 -17 -21 -21 -19 -18 -21 -24 -27 -29 -28 -24 -20 -26 -24 -16 -27 -32 -35 -37 -36 -35 -36 -38 -42 -47 -48 -41 -31 -19 -3 30 51 57 51 45 35 -9 -36 -36 -29 -25 -23 -21 -18 -16 -13 -9 -7 -6 -5 -9 -6 -3 -1 -1 -4 -5 -5 -5 -4 -4 -4 -4 -3 -2 -3 -4 -6 -7 -8 -9 -9 -9 -7 -6 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -7 -6 -6 -7 -8 -10 -14 -18 -20 -18 -15 -11 -8 -4 -3 -4 -4 -4 -3 -4 -5 -6 -6 -5 -4 -2 -1 -0 -1 -1 -2 -2 -3 -4 -5 -5 -6 -8 -10 -11 -12 -10 -3 7 9 7 4 1 0 3 5 3 -2 -8 -11 -11 -11 -9 -6 -3 -1 1 2 -1 -7 -14 -17 -17 -11 -6 -3 -3 -5 -6 -8 -8 -8 -6 -0 6 6 1 -9 -14 -12 -6 -0 -2 -8 -10 -7 -2 -3 -9 -14 -15 -11 -5 -4 -9 -15 -20 -21 -20 -19 -15 -9 -1 -1 -5 -10 -10 -3 8 13 14 12 8 3 -2 -6 -10 -13 -12 -9 -4 -1 -1 -1 -2 -3 -5 -6 -5 -5 -5 -5 -4 -6 -10 -13 -16 -19 -20 -20 -21 -20 -13 -8 -7 -11 -14 -17 -19 -17 -11 2 6 4 1 -1 -3 -4 -1 5 13 21 24 23 22 21 19 14 8 3 -1 -4 -6 -7 -7 -7 -7 -4 -1 4 8 11 12 12 12 11 8 2 -3 -8 -11 -16 -19 -20 -15 -8 -0 9 15 14 5 -0 -6 -12 -16 -15 -6 2 5 -1 -6 -6 -6 -7 -7 -10 -14 -16 -15 -11 -9 -10 -11 -9 -0 5 2 -4 -10 -16 -14 -3 7 8 -2 -11 -17 -22 -25 -24 -19 -17 -18 -20 -21 -22 -21 -20 -20 -20 -21 -22 -21 -20 -19 -20 -21 -21 -20 -21 -21 -21 -21 -22 -23 -22 -20 -19 -19 -19 -19 -17 -15 -13 -13 -13 -16 -19 -23 -25 -24 -23 -25 -28 -29 -30 -28 -26 -27 -27 -25 -23 -21 -21 -21 -22 -23 -24 -22 -20 -18 -18 -17 -16 -11 -7 -7 -14 -20 -24 -24 -22 -21 -17 -10 -6 -7 -15 -21 -23 -22 -19 -20 -22 -27 -30 -31 -27 -22 -21 -25 -33 -31 -32 -33 -34 -34 -33 -33 -35 -38 -42 -45 -43 -37 -28 -18 10 41 58 58 52 39 -4 -36 -34 -28 -24 -23 -22 -20 -17 -15 -12 -10 -9 -7 -6 -3 -2 -3 -5 -6 -5 -4 -3 -3 -4 -4 -4 -4 -3 -4 -5 -6 -7 -7 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -5 -5 -6 -6 -7 -7 -8 -8 -9 -9 -8 -8 -9 -10 -11 -11 -13 -15 -17 -17 -16 -14 -12 -8 -4 -2 -2 -3 -3 -3 -4 -5 -6 -7 -6 -3 -1 1 0 -1 -2 -3 -3 -4 -6 -7 -7 -8 -10 -12 -13 -13 -10 0 8 9 7 3 1 3 5 5 2 -5 -10 -11 -11 -11 -10 -7 -4 0 4 4 -1 -9 -16 -18 -14 -7 -3 -1 -2 -5 -7 -8 -8 -8 -6 0 5 4 -4 -12 -14 -9 -2 1 -4 -8 -8 -5 -1 -5 -11 -15 -14 -8 -5 -8 -14 -20 -22 -20 -18 -16 -13 -4 1 -1 -7 -11 -10 -1 7 13 13 10 6 0 -5 -9 -11 -12 -10 -6 -1 -0 -1 -1 -1 -3 -5 -6 -6 -5 -4 -4 -5 -8 -12 -16 -20 -22 -24 -24 -22 -14 -7 -4 -7 -11 -16 -19 -20 -16 -5 1 4 3 1 -1 -2 -2 1 7 18 25 29 28 26 23 18 12 6 0 -3 -5 -7 -8 -9 -11 -10 -6 0 6 10 12 14 13 12 9 4 -2 -7 -11 -15 -17 -16 -11 -8 -5 -1 4 9 5 1 -4 -10 -16 -18 -13 -3 4 1 -6 -6 -7 -7 -7 -10 -14 -16 -16 -12 -8 -9 -11 -11 -6 3 4 -1 -8 -14 -13 -6 3 8 1 -6 -14 -21 -25 -26 -21 -19 -19 -21 -24 -26 -25 -22 -19 -19 -21 -22 -22 -21 -19 -21 -22 -21 -19 -21 -21 -20 -20 -21 -23 -23 -22 -20 -19 -20 -19 -17 -14 -13 -12 -13 -15 -18 -22 -27 -28 -27 -26 -27 -30 -31 -30 -27 -28 -28 -26 -24 -21 -21 -21 -21 -21 -22 -21 -19 -18 -18 -18 -17 -13 -8 -7 -13 -20 -24 -26 -26 -23 -18 -13 -8 -7 -14 -20 -24 -24 -21 -20 -22 -26 -30 -31 -30 -26 -22 -21 -26 -31 -32 -33 -33 -33 -32 -31 -31 -33 -35 -39 -40 -38 -32 -25 -14 14 42 54 49 26 -10 -33 -31 -27 -24 -22 -22 -21 -18 -16 -15 -13 -11 -10 -3 -3 -4 -5 -6 -5 -4 -3 -3 -4 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -5 -4 -3 -3 -4 -5 -6 -7 -8 -9 -10 -10 -10 -10 -10 -11 -12 -13 -13 -13 -12 -12 -13 -15 -15 -15 -12 -9 -4 -1 -0 -1 -3 -3 -4 -5 -6 -7 -7 -4 -0 2 0 -2 -3 -4 -4 -5 -6 -7 -8 -9 -11 -13 -15 -14 -9 1 7 8 5 1 1 4 7 7 0 -7 -11 -12 -12 -12 -10 -7 -2 3 7 4 -4 -13 -18 -16 -10 -3 1 1 -3 -5 -7 -8 -9 -8 -4 1 4 2 -7 -12 -11 -5 2 -0 -5 -9 -8 -2 -2 -7 -12 -15 -12 -7 -8 -13 -20 -22 -21 -18 -17 -15 -8 -0 1 -3 -10 -13 -9 -0 8 12 11 7 2 -3 -7 -10 -12 -11 -8 -3 -1 -1 -1 -1 -1 -4 -6 -7 -6 -4 -4 -5 -9 -13 -17 -21 -24 -25 -26 -25 -16 -7 -2 -3 -8 -13 -17 -18 -16 -11 -5 -0 2 2 -1 -2 -2 -1 2 12 22 29 31 27 24 20 15 9 3 -2 -5 -7 -8 -9 -13 -15 -14 -10 -3 5 12 15 15 14 11 6 -0 -6 -10 -13 -14 -12 -8 -6 -5 -6 -4 1 2 2 -1 -7 -15 -19 -18 -10 -1 2 -4 -6 -7 -9 -8 -9 -13 -16 -17 -13 -8 -8 -10 -12 -10 -1 3 1 -6 -12 -13 -10 -2 6 5 -2 -11 -18 -24 -26 -23 -20 -19 -20 -25 -27 -25 -22 -18 -19 -20 -22 -22 -21 -20 -21 -22 -21 -20 -20 -20 -20 -20 -21 -23 -23 -22 -20 -19 -19 -19 -16 -14 -13 -12 -13 -15 -17 -21 -28 -31 -30 -26 -26 -30 -33 -32 -28 -28 -27 -26 -24 -22 -22 -21 -19 -19 -19 -20 -19 -18 -18 -18 -17 -14 -11 -7 -11 -18 -23 -27 -29 -25 -20 -15 -11 -10 -14 -19 -24 -26 -23 -21 -21 -25 -29 -31 -30 -28 -24 -20 -20 -24 -28 -31 -33 -33 -32 -30 -29 -29 -30 -34 -36 -36 -34 -28 -23 -15 -2 22 28 -5 -26 -27 -29 -27 -24 -22 -22 -22 -20 -19 -17 -15 -13 -12 -3 -4 -6 -6 -5 -4 -4 -4 -5 -6 -6 -5 -4 -4 -4 -5 -5 -4 -4 -4 -4 -5 -5 -6 -7 -8 -9 -8 -7 -5 -3 -3 -4 -5 -6 -8 -9 -11 -11 -9 -9 -11 -12 -13 -13 -14 -14 -12 -8 -5 -8 -12 -15 -15 -12 -8 -4 -1 0 -2 -3 -3 -3 -4 -6 -8 -7 -4 -0 2 0 -2 -3 -4 -4 -4 -5 -7 -8 -10 -12 -14 -15 -14 -6 3 9 8 2 -2 -0 6 11 8 -1 -8 -12 -13 -12 -11 -9 -6 -1 6 7 1 -8 -16 -16 -12 -5 1 3 0 -3 -6 -7 -8 -9 -7 -3 3 5 0 -6 -10 -10 -3 1 -2 -7 -10 -5 -1 -3 -9 -15 -14 -9 -9 -12 -19 -23 -22 -19 -17 -16 -13 -4 1 -0 -8 -13 -13 -7 2 11 12 9 4 0 -4 -7 -11 -12 -10 -6 -3 -2 -2 -1 -1 -3 -6 -6 -6 -4 -4 -6 -10 -13 -17 -21 -24 -25 -26 -26 -16 -6 -0 -0 -5 -10 -14 -15 -14 -12 -9 -5 -2 -1 -2 -4 -4 -4 -3 5 15 24 29 27 23 20 16 11 5 0 -4 -6 -7 -8 -11 -14 -17 -16 -13 -2 8 15 17 14 11 7 1 -5 -9 -10 -9 -8 -6 -4 -4 -5 -7 -5 -2 0 0 -3 -11 -19 -20 -16 -9 -0 -2 -4 -6 -9 -9 -9 -13 -16 -17 -15 -9 -7 -9 -12 -13 -5 1 3 -2 -9 -12 -12 -7 1 6 1 -7 -17 -24 -26 -23 -20 -19 -20 -26 -25 -22 -19 -17 -18 -20 -22 -23 -22 -21 -21 -21 -20 -20 -19 -20 -20 -19 -20 -21 -22 -22 -20 -18 -18 -17 -16 -14 -13 -12 -12 -13 -14 -20 -28 -31 -30 -26 -26 -28 -31 -32 -29 -27 -26 -25 -24 -23 -22 -21 -18 -17 -17 -18 -18 -18 -18 -18 -17 -15 -13 -9 -10 -15 -21 -26 -30 -27 -22 -17 -14 -12 -14 -18 -23 -25 -24 -22 -21 -23 -27 -30 -30 -28 -25 -21 -18 -19 -22 -25 -29 -31 -31 -30 -29 -27 -28 -30 -33 -35 -34 -30 -25 -21 -16 -9 -12 -19 -23 -25 -28 -27 -25 -23 -23 -23 -23 -22 -21 -19 -17 -15 -4 -5 -6 -5 -5 -5 -6 -7 -8 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -5 -6 -7 -8 -9 -9 -8 -5 -5 -5 -6 -6 -7 -8 -9 -9 -7 -6 -7 -9 -11 -12 -13 -15 -15 -10 -3 -2 -4 -8 -11 -12 -10 -7 -3 -1 -1 -1 -2 -2 -3 -4 -6 -7 -7 -5 -1 1 0 -2 -3 -4 -4 -4 -6 -8 -10 -11 -13 -14 -16 -12 -3 6 11 6 -0 -3 -0 8 14 9 0 -7 -11 -12 -11 -11 -9 -6 2 7 6 -2 -12 -15 -13 -7 -1 4 2 -2 -5 -7 -7 -8 -8 -7 -2 4 5 -0 -7 -11 -9 -3 -1 -4 -9 -8 -3 -1 -4 -10 -13 -11 -10 -13 -19 -25 -24 -20 -17 -17 -17 -9 -1 2 -4 -11 -14 -12 -4 7 12 11 8 4 1 -4 -8 -11 -11 -8 -5 -4 -3 -2 -2 -3 -5 -6 -6 -4 -4 -6 -10 -14 -18 -22 -24 -26 -26 -27 -17 -6 1 2 -3 -8 -12 -14 -12 -10 -8 -7 -5 -4 -5 -6 -7 -8 -8 -4 5 15 23 25 23 20 17 13 8 3 -2 -4 -6 -6 -8 -11 -15 -18 -18 -12 0 12 17 14 10 6 1 -5 -9 -7 -5 -5 -7 -5 -3 -4 -6 -7 -5 -2 -0 -1 -7 -15 -19 -19 -15 -6 -3 -2 -5 -10 -10 -10 -12 -14 -17 -17 -11 -7 -8 -12 -14 -10 -3 2 1 -5 -10 -12 -10 -3 5 4 -3 -13 -22 -23 -22 -21 -19 -21 -28 -26 -21 -17 -17 -17 -19 -21 -23 -23 -22 -22 -21 -20 -20 -19 -19 -19 -19 -19 -20 -21 -21 -19 -18 -18 -17 -16 -14 -13 -11 -10 -10 -10 -17 -25 -29 -27 -25 -24 -25 -28 -29 -28 -26 -25 -24 -24 -24 -23 -21 -18 -16 -17 -17 -18 -18 -19 -19 -18 -17 -15 -11 -10 -14 -20 -25 -28 -27 -23 -20 -16 -15 -15 -17 -20 -23 -24 -24 -23 -22 -25 -28 -28 -27 -24 -21 -19 -17 -18 -20 -23 -27 -29 -30 -29 -27 -26 -28 -31 -33 -32 -29 -26 -23 -20 -16 -16 -21 -25 -24 -27 -27 -25 -24 -24 -23 -24 -24 -23 -22 -20 -19 -4 -5 -5 -5 -6 -8 -9 -9 -8 -6 -5 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -3 -2 -3 -5 -6 -7 -8 -8 -9 -10 -10 -10 -9 -9 -9 -9 -8 -7 -6 -5 -5 -6 -9 -12 -15 -17 -14 -7 -3 -2 -3 -4 -6 -7 -7 -6 -5 -3 -1 -1 -2 -3 -2 -4 -6 -7 -7 -5 -1 1 1 -1 -3 -3 -4 -5 -8 -10 -11 -12 -13 -16 -16 -10 0 10 10 4 -2 -5 -1 10 14 11 2 -6 -9 -10 -11 -12 -11 -4 5 7 3 -6 -13 -13 -9 -3 3 4 0 -4 -7 -8 -7 -7 -8 -7 -2 4 4 -0 -8 -11 -7 -3 -3 -6 -9 -6 -3 -3 -7 -11 -12 -12 -13 -19 -25 -26 -22 -18 -16 -17 -13 -5 3 1 -9 -14 -15 -11 -1 9 12 11 7 4 -0 -5 -8 -10 -8 -6 -5 -4 -4 -3 -3 -4 -6 -6 -4 -3 -5 -8 -13 -17 -22 -25 -26 -26 -27 -19 -8 1 4 -1 -7 -11 -13 -13 -10 -7 -5 -4 -5 -6 -8 -9 -10 -11 -12 -8 1 12 20 21 20 18 16 12 6 1 -4 -5 -5 -6 -8 -12 -17 -20 -19 -11 1 13 12 7 3 -1 -5 -7 -6 -4 -5 -8 -6 -5 -4 -4 -6 -6 -5 -3 -2 -4 -11 -17 -20 -20 -13 -5 -2 -4 -9 -11 -11 -12 -14 -16 -17 -13 -9 -8 -13 -15 -14 -7 1 3 -2 -7 -10 -11 -6 3 5 1 -8 -17 -21 -22 -22 -20 -21 -30 -29 -23 -17 -16 -16 -18 -20 -22 -24 -23 -22 -21 -21 -20 -19 -19 -19 -20 -19 -19 -20 -20 -20 -18 -17 -16 -16 -15 -13 -11 -9 -7 -6 -13 -22 -27 -26 -25 -24 -23 -24 -27 -27 -26 -25 -24 -24 -25 -24 -22 -19 -15 -17 -18 -20 -21 -20 -20 -20 -19 -17 -11 -9 -12 -17 -24 -26 -26 -24 -21 -17 -16 -16 -17 -18 -21 -23 -24 -24 -24 -23 -25 -25 -24 -23 -21 -19 -17 -16 -16 -18 -22 -25 -28 -28 -26 -25 -25 -28 -30 -29 -27 -25 -24 -23 -20 -20 -22 -26 -24 -26 -26 -25 -24 -23 -23 -23 -24 -25 -23 -22 -20 -4 -5 -6 -7 -9 -10 -9 -7 -5 -3 -3 -4 -4 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -3 -3 -5 -8 -12 -15 -16 -16 -14 -13 -11 -10 -9 -9 -8 -8 -7 -5 -4 -6 -11 -16 -19 -19 -13 -7 -4 -3 -2 -2 -3 -5 -6 -6 -4 -2 -1 -1 -1 -1 -2 -4 -7 -8 -8 -5 -2 1 2 -0 -2 -4 -5 -8 -9 -10 -11 -12 -15 -16 -13 -6 5 13 10 2 -6 -8 -2 10 15 13 5 -3 -7 -11 -13 -13 -9 -0 6 6 -1 -9 -13 -11 -6 2 5 3 -1 -6 -8 -8 -7 -7 -8 -8 -1 4 6 1 -6 -9 -7 -5 -6 -10 -9 -6 -4 -5 -9 -11 -12 -14 -19 -26 -27 -24 -20 -16 -17 -16 -10 -1 3 -5 -12 -16 -15 -8 5 12 13 10 7 5 1 -4 -8 -9 -6 -4 -4 -4 -3 -2 -2 -4 -6 -5 -4 -4 -6 -10 -16 -21 -25 -27 -27 -27 -22 -11 0 5 0 -5 -9 -12 -13 -12 -9 -6 -2 -3 -6 -8 -10 -10 -11 -13 -15 -13 -7 6 14 18 19 19 16 10 2 -4 -6 -5 -5 -7 -10 -14 -20 -21 -19 -12 3 7 6 3 -0 -4 -5 -5 -3 -3 -6 -6 -7 -6 -5 -4 -5 -6 -6 -5 -4 -8 -13 -19 -21 -17 -8 -3 -3 -7 -10 -11 -12 -13 -16 -17 -15 -11 -9 -12 -15 -15 -10 -3 3 0 -5 -9 -11 -9 -2 5 5 -2 -11 -18 -22 -23 -20 -20 -28 -29 -22 -17 -15 -16 -18 -19 -20 -24 -24 -23 -20 -20 -20 -19 -19 -19 -20 -20 -20 -20 -21 -20 -19 -18 -16 -16 -15 -13 -11 -8 -6 -4 -10 -20 -27 -26 -25 -23 -22 -22 -25 -26 -26 -25 -24 -24 -25 -24 -23 -20 -16 -16 -19 -22 -23 -21 -21 -21 -21 -18 -12 -9 -10 -15 -21 -24 -25 -25 -22 -17 -16 -16 -16 -16 -19 -23 -24 -25 -25 -23 -22 -21 -22 -21 -20 -18 -18 -17 -16 -15 -18 -21 -24 -26 -25 -23 -23 -24 -25 -25 -24 -24 -24 -24 -22 -21 -22 -26 -24 -26 -26 -25 -22 -21 -21 -22 -24 -25 -23 -22 -21 -4 -6 -8 -10 -10 -9 -6 -4 -2 -2 -3 -4 -4 -4 -4 -4 -5 -5 -4 -4 -3 -3 -2 -2 -2 -1 -2 -4 -7 -10 -13 -14 -15 -14 -14 -12 -9 -8 -7 -8 -10 -10 -8 -5 -3 -6 -12 -17 -19 -15 -9 -6 -4 -3 -1 -0 -2 -4 -5 -4 -3 -2 -0 1 1 -1 -3 -5 -8 -9 -9 -7 -3 2 2 0 -3 -6 -7 -8 -9 -10 -11 -13 -14 -14 -10 -2 11 13 7 -3 -10 -11 -2 10 17 15 6 -2 -7 -11 -14 -13 -6 2 6 3 -5 -11 -12 -9 -2 5 7 3 -3 -8 -9 -8 -6 -7 -9 -7 -1 5 6 -0 -6 -8 -8 -6 -8 -9 -8 -6 -5 -7 -9 -11 -13 -18 -24 -27 -26 -22 -16 -16 -16 -14 -7 2 -0 -7 -14 -16 -13 0 10 15 13 10 9 5 0 -5 -8 -7 -5 -5 -5 -4 -2 -1 -2 -4 -5 -4 -4 -4 -7 -14 -20 -25 -28 -28 -28 -24 -15 -3 3 1 -3 -7 -10 -12 -13 -12 -9 -4 -2 -5 -8 -9 -10 -9 -12 -15 -16 -15 -10 1 11 18 21 21 12 3 -5 -7 -5 -5 -6 -9 -13 -18 -22 -23 -20 -10 -1 2 2 1 -3 -5 -4 -1 -0 -2 -5 -7 -7 -7 -5 -5 -6 -7 -6 -4 -5 -10 -15 -20 -18 -11 -5 -4 -8 -10 -11 -12 -14 -16 -18 -16 -12 -9 -11 -14 -15 -13 -7 1 1 -2 -7 -11 -11 -6 3 9 5 -5 -14 -21 -24 -21 -20 -26 -28 -23 -17 -16 -16 -18 -19 -20 -22 -23 -22 -19 -20 -19 -19 -19 -18 -20 -21 -21 -21 -22 -21 -20 -18 -17 -16 -15 -14 -11 -8 -6 -5 -10 -19 -28 -26 -26 -24 -22 -21 -23 -25 -26 -25 -24 -23 -24 -24 -23 -21 -16 -16 -18 -21 -22 -21 -22 -23 -22 -18 -12 -8 -9 -13 -20 -23 -25 -25 -21 -17 -16 -16 -16 -14 -16 -21 -24 -25 -26 -24 -20 -19 -19 -19 -19 -18 -19 -19 -17 -15 -16 -17 -20 -22 -23 -22 -21 -22 -22 -21 -22 -23 -23 -24 -23 -22 -22 -25 -24 -26 -26 -25 -22 -22 -21 -22 -24 -24 -24 -23 -22 -5 -8 -10 -10 -8 -5 -3 -3 -4 -4 -3 -3 -4 -4 -4 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 0 -0 -2 -5 -8 -10 -11 -12 -13 -14 -13 -10 -7 -6 -6 -7 -10 -11 -9 -3 -1 -4 -9 -13 -11 -8 -5 -4 -3 -2 0 0 -1 -3 -3 -3 -2 -1 0 1 1 -1 -4 -7 -9 -11 -11 -8 -3 1 1 -1 -5 -7 -8 -8 -9 -10 -12 -13 -14 -13 -9 2 11 10 3 -7 -14 -13 -3 11 19 14 6 -1 -7 -12 -14 -10 -3 4 5 -1 -8 -12 -12 -7 2 8 7 2 -5 -9 -8 -5 -4 -7 -9 -7 -1 5 5 -2 -7 -9 -7 -6 -7 -8 -7 -5 -6 -8 -10 -12 -16 -23 -26 -27 -25 -17 -15 -15 -16 -12 -3 1 -3 -10 -16 -16 -6 6 14 14 12 12 9 4 -1 -5 -6 -6 -5 -5 -5 -3 -2 -1 -2 -4 -5 -5 -4 -5 -11 -18 -25 -29 -31 -30 -27 -19 -8 -0 0 -2 -5 -7 -10 -13 -15 -13 -7 -4 -5 -8 -10 -10 -9 -10 -14 -17 -18 -15 -8 0 8 17 20 14 3 -6 -8 -4 -4 -5 -8 -12 -18 -22 -24 -22 -17 -9 -4 -0 0 -4 -7 -6 -2 2 1 -3 -6 -8 -9 -7 -6 -5 -6 -7 -6 -6 -9 -15 -20 -19 -13 -9 -7 -9 -11 -12 -13 -15 -16 -18 -16 -13 -10 -10 -13 -15 -15 -11 -3 0 -1 -6 -11 -13 -9 0 9 10 -1 -11 -19 -24 -23 -20 -25 -27 -24 -19 -17 -17 -18 -19 -20 -20 -21 -21 -19 -19 -19 -19 -19 -19 -20 -21 -22 -22 -23 -22 -20 -19 -17 -16 -16 -15 -13 -10 -7 -6 -11 -20 -28 -26 -27 -25 -23 -20 -20 -23 -24 -25 -23 -22 -23 -23 -22 -21 -16 -15 -16 -18 -19 -21 -24 -25 -22 -18 -12 -8 -9 -13 -20 -23 -24 -23 -21 -19 -18 -17 -17 -14 -14 -18 -23 -26 -27 -24 -19 -17 -18 -18 -18 -19 -19 -20 -19 -17 -16 -15 -17 -20 -21 -21 -20 -20 -20 -20 -20 -21 -22 -23 -23 -22 -23 -25 -25 -26 -26 -24 -22 -22 -22 -22 -23 -23 -24 -25 -24 -8 -9 -9 -7 -5 -4 -5 -5 -4 -3 -2 -3 -4 -5 -5 -5 -4 -3 -3 -3 -3 -2 -2 -1 -1 -0 -1 -2 -4 -6 -7 -9 -11 -14 -15 -14 -12 -10 -8 -5 -5 -7 -10 -12 -8 -2 -0 -2 -5 -5 -4 -3 -3 -3 -2 -0 0 -0 -1 -2 -2 -1 -1 -1 -1 -0 -1 -4 -6 -8 -9 -11 -12 -10 -4 0 1 -2 -6 -7 -7 -7 -7 -10 -11 -13 -13 -13 -8 3 9 7 -2 -12 -16 -14 -4 12 19 14 6 -1 -8 -13 -13 -9 -1 5 2 -4 -10 -13 -12 -3 5 9 6 -2 -7 -8 -5 -1 -2 -6 -8 -6 1 7 3 -3 -7 -8 -6 -7 -7 -7 -5 -5 -8 -9 -11 -14 -20 -25 -27 -26 -20 -14 -14 -15 -15 -9 0 0 -6 -15 -18 -12 -1 10 15 14 14 12 8 3 -0 -3 -4 -5 -5 -6 -5 -3 -1 -1 -2 -4 -6 -6 -6 -10 -17 -24 -30 -32 -32 -28 -22 -12 -4 -1 -2 -3 -5 -7 -12 -16 -16 -11 -6 -6 -8 -10 -11 -9 -10 -13 -16 -17 -15 -11 -7 -2 5 13 13 7 -0 -2 -0 -1 -4 -8 -12 -17 -22 -24 -23 -17 -11 -7 -3 -1 -4 -9 -11 -7 -1 2 0 -3 -7 -9 -9 -7 -6 -6 -8 -8 -8 -10 -14 -19 -19 -15 -11 -7 -8 -10 -12 -13 -15 -16 -17 -16 -13 -10 -10 -12 -14 -15 -13 -9 -3 -2 -4 -10 -14 -12 -5 6 11 3 -7 -17 -25 -26 -21 -23 -27 -26 -22 -20 -19 -19 -19 -19 -19 -19 -20 -20 -19 -19 -19 -19 -19 -20 -21 -22 -23 -23 -22 -21 -19 -18 -17 -17 -17 -16 -12 -9 -9 -12 -19 -28 -28 -28 -26 -24 -21 -19 -20 -22 -22 -21 -22 -23 -23 -21 -20 -16 -15 -15 -17 -19 -22 -25 -26 -24 -18 -12 -9 -9 -13 -18 -21 -22 -23 -22 -21 -20 -20 -20 -17 -13 -16 -21 -26 -28 -24 -20 -18 -18 -18 -18 -19 -20 -22 -21 -19 -17 -16 -15 -18 -19 -20 -20 -19 -19 -19 -19 -20 -22 -22 -22 -23 -23 -25 -25 -25 -26 -24 -23 -22 -21 -20 -21 -23 -25 -26 -25 -9 -8 -7 -6 -6 -6 -6 -5 -4 -3 -4 -5 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -8 -11 -13 -14 -14 -14 -13 -13 -11 -8 -7 -8 -12 -13 -9 -7 -7 -8 -6 -3 -2 -3 -5 -6 -3 -2 -1 -0 0 0 0 -0 -1 -2 -2 -2 -2 -3 -5 -6 -9 -12 -13 -10 -5 -1 0 -3 -5 -6 -5 -5 -7 -10 -12 -13 -13 -12 -5 3 7 3 -6 -12 -15 -13 -6 10 14 12 5 -2 -10 -13 -11 -5 3 4 -0 -7 -12 -13 -9 -1 6 8 3 -4 -7 -6 -2 1 -2 -7 -9 -6 1 4 1 -4 -7 -6 -6 -7 -7 -6 -5 -6 -8 -10 -11 -16 -22 -25 -26 -23 -16 -13 -14 -16 -14 -4 0 -3 -12 -19 -18 -9 4 14 16 15 14 11 6 2 -1 -3 -4 -5 -6 -6 -5 -3 -0 -0 -3 -6 -8 -9 -11 -16 -23 -28 -32 -32 -30 -24 -16 -8 -4 -3 -4 -4 -5 -10 -15 -17 -14 -9 -7 -7 -9 -11 -10 -11 -13 -15 -17 -14 -11 -8 -7 -5 2 7 8 6 4 5 4 -0 -6 -11 -16 -20 -23 -23 -18 -11 -6 -2 -1 -4 -11 -15 -15 -8 -0 1 -0 -4 -8 -10 -9 -8 -7 -9 -10 -10 -11 -13 -17 -17 -14 -10 -7 -6 -8 -11 -13 -14 -15 -16 -16 -14 -11 -10 -12 -14 -14 -15 -13 -7 -2 -2 -7 -13 -15 -10 1 11 6 -3 -14 -24 -29 -23 -22 -26 -28 -24 -22 -21 -20 -19 -19 -18 -17 -18 -19 -19 -19 -19 -19 -20 -21 -22 -22 -22 -23 -22 -21 -20 -19 -18 -18 -19 -19 -16 -12 -11 -14 -20 -26 -27 -28 -27 -25 -22 -17 -17 -18 -19 -19 -22 -24 -23 -22 -21 -18 -16 -16 -18 -20 -23 -26 -27 -25 -20 -13 -9 -8 -12 -17 -20 -22 -23 -24 -23 -22 -21 -22 -20 -15 -15 -19 -24 -25 -23 -20 -19 -19 -19 -19 -19 -20 -22 -23 -22 -21 -18 -16 -18 -19 -20 -21 -19 -19 -19 -20 -19 -20 -20 -20 -21 -22 -24 -24 -25 -25 -23 -23 -22 -20 -18 -18 -22 -26 -27 -26 -9 -8 -7 -6 -6 -6 -4 -4 -5 -6 -8 -8 -8 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -4 -7 -9 -11 -10 -10 -12 -15 -18 -19 -18 -15 -14 -13 -12 -10 -9 -9 -7 -4 -5 -8 -10 -10 -10 -8 -4 -0 1 2 2 2 1 -0 -2 -4 -5 -5 -4 -3 -5 -8 -11 -13 -12 -10 -6 -1 2 -1 -3 -4 -4 -6 -9 -11 -12 -13 -14 -11 -4 3 4 -1 -7 -11 -13 -12 -6 3 8 9 4 -4 -10 -12 -9 -1 3 2 -3 -8 -11 -10 -6 -0 6 6 1 -4 -6 -5 -0 0 -4 -9 -11 -6 1 3 1 -4 -6 -6 -6 -7 -7 -5 -5 -7 -9 -11 -14 -19 -23 -26 -25 -18 -13 -12 -16 -17 -9 -2 -0 -8 -17 -20 -16 -4 11 16 15 14 13 10 4 1 -0 -1 -2 -4 -6 -6 -5 -2 0 -1 -4 -8 -9 -11 -16 -21 -27 -30 -31 -29 -26 -20 -11 -7 -7 -7 -4 -3 -8 -13 -16 -15 -11 -8 -7 -8 -10 -11 -11 -13 -15 -18 -16 -12 -8 -7 -8 -7 -2 3 6 8 9 8 4 -2 -8 -13 -18 -21 -22 -19 -13 -7 -2 -0 -3 -9 -16 -19 -17 -7 -1 1 -1 -6 -10 -11 -10 -9 -10 -11 -11 -11 -11 -14 -15 -14 -11 -6 -5 -8 -11 -13 -13 -15 -16 -16 -14 -11 -10 -12 -14 -15 -15 -15 -11 -5 -1 -3 -10 -15 -14 -6 7 7 -0 -11 -22 -26 -21 -20 -25 -30 -25 -23 -21 -20 -20 -20 -18 -17 -16 -17 -19 -19 -18 -18 -19 -21 -22 -21 -20 -21 -21 -21 -20 -20 -19 -20 -21 -21 -18 -14 -14 -17 -21 -23 -24 -25 -26 -25 -22 -17 -15 -16 -17 -20 -23 -24 -23 -22 -21 -19 -16 -16 -19 -21 -24 -26 -26 -25 -20 -14 -9 -8 -11 -16 -20 -24 -26 -26 -25 -23 -22 -24 -23 -20 -18 -17 -20 -20 -20 -20 -20 -20 -20 -20 -20 -20 -22 -25 -25 -23 -20 -17 -18 -18 -20 -22 -21 -19 -19 -20 -18 -19 -18 -18 -20 -19 -22 -23 -23 -24 -23 -23 -22 -20 -16 -17 -21 -25 -28 -26 -8 -8 -7 -6 -5 -4 -3 -5 -7 -10 -11 -9 -7 -5 -4 -5 -5 -4 -3 -2 -1 -1 -1 -2 -2 -3 -4 -4 -5 -6 -7 -8 -8 -7 -5 -3 -5 -10 -17 -23 -24 -19 -13 -8 -9 -12 -11 -7 -4 -4 -8 -10 -10 -9 -8 -7 -4 -2 0 2 2 2 1 0 -2 -4 -6 -7 -6 -5 -4 -6 -9 -12 -13 -13 -10 -4 5 6 2 -1 -3 -4 -7 -10 -12 -13 -14 -13 -9 -3 2 1 -3 -7 -11 -13 -11 -6 0 6 8 2 -6 -11 -11 -5 2 3 0 -5 -9 -10 -8 -4 3 7 4 -1 -5 -6 -2 1 -0 -5 -10 -9 -4 1 3 -1 -5 -7 -7 -7 -8 -7 -5 -5 -7 -9 -12 -17 -21 -24 -25 -21 -14 -11 -14 -18 -14 -5 0 -3 -14 -21 -21 -12 4 13 12 11 12 12 7 3 2 2 0 -2 -4 -6 -7 -5 -2 -1 -2 -5 -9 -11 -15 -20 -25 -28 -29 -29 -27 -22 -13 -8 -5 -5 -5 -4 -6 -11 -15 -16 -14 -9 -6 -6 -9 -11 -11 -12 -15 -18 -18 -15 -10 -5 -5 -8 -8 -5 0 6 10 11 9 2 -5 -10 -15 -18 -20 -18 -14 -9 -6 -3 -3 -7 -13 -19 -22 -14 -6 0 1 -4 -9 -12 -12 -12 -12 -12 -12 -10 -9 -11 -14 -14 -11 -6 -5 -7 -11 -13 -14 -15 -16 -16 -15 -12 -10 -11 -14 -16 -17 -17 -15 -10 -4 -3 -8 -14 -16 -13 -0 5 2 -8 -22 -22 -19 -19 -24 -31 -25 -22 -21 -21 -22 -22 -20 -18 -16 -17 -18 -18 -18 -18 -19 -20 -21 -20 -19 -19 -20 -20 -20 -20 -21 -22 -24 -23 -20 -15 -15 -18 -22 -22 -21 -23 -24 -23 -21 -18 -16 -16 -17 -21 -23 -23 -22 -20 -20 -18 -16 -16 -20 -23 -25 -25 -25 -24 -20 -14 -10 -8 -10 -16 -22 -26 -27 -27 -25 -24 -23 -25 -25 -24 -20 -16 -17 -17 -18 -20 -20 -20 -20 -20 -20 -20 -21 -24 -24 -22 -20 -17 -16 -17 -19 -21 -21 -19 -18 -19 -18 -18 -17 -17 -17 -17 -20 -22 -23 -23 -23 -23 -22 -19 -15 -15 -19 -24 -27 -27 -8 -7 -6 -5 -4 -4 -6 -8 -11 -11 -10 -7 -4 -3 -4 -5 -4 -2 -1 -1 -1 -1 -1 -2 -3 -5 -5 -5 -6 -8 -9 -8 -7 -5 -1 2 3 -1 -8 -17 -20 -12 -7 -8 -16 -19 -14 -7 -3 -5 -10 -11 -9 -6 -5 -6 -6 -4 -3 -1 1 1 0 -1 -2 -3 -4 -6 -8 -7 -6 -6 -8 -12 -12 -12 -11 -6 2 7 6 3 1 -2 -5 -8 -11 -13 -14 -14 -12 -7 -1 0 -2 -5 -8 -11 -11 -10 -7 -1 5 5 -1 -8 -12 -9 -1 4 4 -0 -6 -8 -9 -6 -1 5 6 2 -3 -6 -5 -0 1 -1 -7 -10 -7 -2 3 2 -4 -7 -8 -8 -9 -9 -6 -4 -3 -6 -11 -16 -20 -23 -24 -21 -15 -10 -12 -18 -17 -10 -2 -0 -9 -19 -23 -19 -7 5 7 6 6 8 7 5 5 4 3 1 -2 -4 -7 -8 -6 -3 -2 -3 -7 -11 -14 -19 -23 -26 -27 -28 -27 -25 -17 -9 -4 -4 -6 -5 -6 -9 -12 -16 -16 -12 -7 -4 -6 -9 -10 -11 -13 -16 -19 -19 -14 -5 -2 -5 -9 -11 -9 0 7 12 12 6 -2 -7 -12 -15 -18 -17 -14 -11 -8 -6 -4 -6 -10 -16 -22 -19 -12 -4 2 -1 -7 -11 -13 -13 -13 -13 -12 -10 -8 -9 -12 -14 -12 -7 -4 -6 -9 -12 -15 -16 -16 -17 -17 -14 -11 -11 -13 -16 -18 -18 -17 -14 -8 -5 -8 -13 -17 -17 -8 1 3 -5 -19 -18 -16 -17 -21 -28 -26 -22 -20 -21 -22 -22 -22 -20 -18 -18 -18 -18 -18 -18 -19 -20 -21 -20 -18 -18 -19 -19 -19 -20 -21 -23 -25 -25 -21 -16 -16 -19 -22 -22 -21 -20 -20 -19 -18 -18 -17 -17 -20 -21 -21 -21 -20 -18 -18 -17 -16 -16 -20 -24 -25 -24 -24 -24 -20 -15 -11 -10 -11 -17 -23 -26 -27 -26 -25 -24 -23 -24 -26 -25 -20 -15 -14 -16 -18 -19 -20 -20 -20 -20 -20 -20 -21 -22 -22 -22 -20 -17 -16 -16 -18 -19 -19 -18 -18 -18 -18 -17 -16 -16 -16 -16 -19 -21 -23 -24 -24 -24 -22 -20 -15 -14 -16 -21 -26 -27 -6 -5 -4 -5 -7 -9 -10 -10 -10 -9 -7 -5 -5 -5 -4 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -2 -1 -2 -3 -4 -5 -4 -3 -1 1 4 5 4 -0 -7 -11 -5 -2 -6 -16 -16 -10 -5 -4 -8 -10 -9 -6 -4 -5 -7 -6 -6 -5 -4 -3 -3 -3 -2 -1 -1 -3 -5 -8 -8 -7 -7 -7 -9 -10 -10 -10 -8 -4 2 5 6 5 2 -3 -8 -10 -12 -14 -15 -14 -10 -4 -1 -3 -5 -7 -8 -10 -10 -10 -8 -3 3 2 -3 -10 -12 -4 4 7 5 -1 -5 -7 -7 -4 2 5 5 0 -5 -6 -2 1 2 -2 -8 -9 -6 -0 3 -1 -6 -9 -11 -12 -12 -9 -4 -1 -4 -10 -16 -20 -22 -23 -21 -15 -10 -10 -16 -17 -13 -6 -1 -5 -15 -23 -23 -15 -1 4 5 4 7 6 6 7 8 8 5 2 -1 -4 -7 -7 -5 -2 -1 -4 -8 -13 -17 -21 -23 -25 -26 -27 -26 -20 -11 -5 -3 -5 -6 -7 -8 -10 -14 -17 -16 -11 -4 -4 -7 -9 -10 -10 -13 -18 -20 -18 -11 -3 -3 -7 -12 -15 -8 1 9 12 8 1 -5 -9 -13 -17 -16 -14 -11 -10 -9 -7 -6 -9 -14 -20 -21 -17 -10 -3 -1 -4 -9 -12 -14 -13 -13 -12 -10 -8 -8 -11 -14 -14 -9 -5 -5 -9 -12 -16 -17 -18 -18 -18 -15 -12 -11 -12 -15 -18 -18 -17 -15 -12 -8 -9 -12 -17 -19 -12 -3 3 -2 -15 -15 -15 -16 -19 -25 -26 -24 -21 -20 -21 -22 -22 -21 -20 -19 -18 -18 -18 -18 -19 -20 -21 -20 -18 -18 -18 -19 -20 -20 -20 -22 -25 -25 -23 -18 -17 -19 -22 -22 -21 -19 -17 -16 -16 -17 -17 -18 -21 -20 -18 -18 -18 -17 -19 -19 -19 -18 -21 -23 -24 -23 -23 -24 -21 -17 -13 -11 -12 -16 -21 -24 -25 -25 -24 -23 -23 -24 -26 -25 -20 -15 -13 -15 -17 -18 -20 -21 -21 -20 -20 -21 -22 -21 -21 -22 -22 -19 -17 -17 -17 -18 -18 -19 -20 -19 -18 -17 -16 -16 -15 -16 -18 -20 -22 -24 -24 -24 -22 -20 -15 -13 -14 -19 -25 -26 -4 -4 -7 -10 -11 -10 -10 -9 -7 -6 -4 -3 -2 -2 -2 -3 -4 -5 -5 -4 -4 -4 -4 -4 -4 -3 -2 -2 -3 -3 -4 -4 -4 -3 -1 0 2 2 0 -4 -7 -4 -2 -5 -11 -7 -3 -4 -7 -11 -10 -7 -5 -5 -7 -8 -7 -6 -5 -6 -5 -5 -5 -5 -2 -1 -3 -5 -6 -6 -8 -8 -7 -6 -7 -7 -8 -9 -9 -5 -0 6 9 7 -0 -6 -9 -11 -13 -15 -14 -12 -7 -2 -3 -5 -7 -7 -8 -10 -11 -11 -11 -3 1 1 -5 -11 -8 -0 7 10 5 -0 -4 -5 -5 -1 4 6 4 -2 -5 -3 0 3 1 -5 -9 -9 -4 2 1 -5 -9 -12 -13 -14 -11 -6 -1 -2 -9 -16 -21 -22 -22 -20 -15 -10 -10 -15 -17 -15 -10 -3 -4 -12 -20 -24 -21 -10 -1 4 4 5 6 7 10 12 12 9 5 3 0 -3 -5 -5 -3 0 -1 -6 -10 -14 -18 -21 -23 -26 -27 -26 -22 -14 -6 -2 -4 -6 -8 -8 -8 -11 -15 -17 -14 -8 -4 -4 -6 -8 -9 -10 -14 -18 -20 -16 -7 -4 -5 -11 -16 -14 -7 3 9 9 3 -2 -6 -10 -15 -16 -14 -12 -11 -10 -9 -8 -10 -13 -18 -21 -20 -15 -8 -4 -4 -7 -11 -13 -13 -13 -13 -11 -9 -8 -10 -14 -15 -11 -7 -6 -8 -12 -16 -19 -20 -19 -18 -15 -13 -11 -12 -14 -17 -18 -18 -17 -15 -12 -11 -13 -17 -18 -14 -7 -0 -0 -10 -13 -15 -16 -17 -20 -22 -22 -21 -21 -20 -20 -21 -21 -21 -19 -19 -18 -18 -18 -19 -20 -21 -21 -18 -18 -18 -18 -20 -20 -21 -22 -25 -26 -23 -18 -16 -18 -22 -22 -20 -16 -13 -13 -14 -16 -17 -18 -20 -18 -16 -15 -16 -17 -19 -21 -22 -21 -21 -22 -23 -22 -22 -23 -21 -18 -13 -10 -12 -16 -20 -22 -24 -24 -24 -23 -22 -23 -25 -24 -20 -16 -14 -14 -16 -17 -19 -20 -21 -21 -21 -22 -22 -22 -21 -23 -22 -20 -18 -17 -16 -18 -19 -20 -21 -19 -18 -17 -16 -15 -16 -16 -17 -19 -22 -23 -24 -23 -22 -20 -16 -12 -12 -17 -23 -25 -5 -9 -11 -12 -12 -9 -5 -3 -1 -0 0 1 1 -0 -2 -4 -5 -5 -4 -3 -2 -2 -2 -3 -3 -2 -1 -2 -3 -5 -7 -7 -7 -6 -5 -4 -3 -2 -3 -5 -7 -7 -6 -5 -5 -1 -1 -5 -9 -11 -9 -8 -7 -7 -7 -8 -7 -6 -5 -5 -5 -5 -6 -7 -5 -4 -5 -5 -4 -3 -5 -6 -6 -6 -6 -5 -5 -7 -8 -7 -4 2 10 12 6 0 -5 -9 -12 -14 -15 -14 -11 -4 -3 -5 -7 -8 -8 -9 -10 -12 -14 -10 -3 2 2 -6 -9 -6 2 10 11 7 2 -2 -4 -4 2 7 7 3 -2 -2 -0 2 2 -2 -7 -10 -8 -2 0 -3 -7 -10 -11 -12 -11 -8 -3 -2 -9 -16 -20 -22 -21 -21 -17 -12 -10 -14 -16 -16 -13 -7 -6 -11 -17 -22 -23 -16 -6 1 4 2 3 8 13 16 16 13 10 8 6 3 -1 -4 -5 -3 -1 -2 -6 -10 -15 -19 -23 -25 -27 -26 -22 -16 -9 -3 -3 -6 -8 -9 -8 -9 -13 -16 -16 -12 -6 -4 -5 -7 -9 -9 -12 -16 -19 -19 -12 -7 -5 -9 -15 -18 -14 -5 6 9 5 -0 -4 -8 -13 -15 -14 -12 -11 -11 -10 -10 -11 -13 -17 -20 -20 -16 -12 -9 -7 -7 -8 -11 -13 -13 -13 -12 -10 -8 -10 -13 -15 -13 -9 -6 -7 -11 -17 -20 -21 -20 -18 -16 -14 -12 -12 -14 -16 -18 -18 -18 -16 -13 -12 -13 -17 -18 -16 -10 -3 1 -5 -11 -16 -17 -17 -18 -19 -20 -20 -21 -20 -20 -20 -22 -21 -20 -19 -19 -18 -18 -18 -19 -20 -21 -19 -18 -18 -18 -19 -19 -20 -22 -24 -26 -23 -18 -15 -18 -22 -22 -18 -14 -11 -11 -13 -14 -16 -18 -18 -17 -15 -15 -15 -16 -18 -20 -22 -21 -21 -21 -21 -21 -21 -22 -21 -18 -13 -10 -11 -16 -21 -22 -23 -24 -24 -24 -23 -24 -25 -24 -22 -18 -15 -14 -15 -17 -18 -20 -21 -22 -22 -22 -21 -21 -22 -24 -23 -21 -19 -17 -16 -17 -19 -20 -21 -19 -18 -18 -17 -16 -17 -16 -16 -18 -22 -22 -22 -22 -22 -20 -16 -12 -11 -16 -22 -25 -10 -11 -11 -7 -3 -0 0 0 0 -0 -0 -1 -1 -2 -3 -4 -3 -1 1 2 2 1 -0 -1 -1 0 1 -1 -5 -10 -12 -11 -8 -6 -5 -6 -5 -5 -5 -5 -6 -7 -6 -5 -4 -3 -4 -5 -7 -7 -7 -9 -10 -10 -8 -7 -7 -6 -4 -3 -4 -4 -5 -7 -7 -7 -7 -6 -3 -1 -2 -4 -6 -8 -6 -4 -4 -5 -6 -6 -6 -2 5 12 11 6 -1 -6 -9 -12 -15 -16 -14 -8 -4 -3 -5 -7 -9 -9 -10 -11 -13 -14 -8 0 6 3 -5 -8 -5 3 11 11 8 3 -3 -5 -1 6 12 11 4 0 -0 1 2 -0 -5 -10 -11 -8 -2 -1 -3 -7 -8 -9 -10 -9 -7 -5 -8 -13 -19 -22 -22 -22 -19 -14 -10 -12 -15 -16 -15 -11 -9 -11 -16 -20 -22 -18 -11 -3 2 1 1 6 12 18 18 16 13 12 11 8 3 -2 -5 -4 -0 1 0 -4 -10 -17 -22 -25 -27 -25 -22 -17 -12 -7 -5 -7 -9 -9 -10 -9 -11 -14 -16 -15 -9 -6 -5 -7 -9 -9 -11 -14 -18 -19 -16 -10 -6 -6 -12 -18 -18 -12 -1 5 3 0 -3 -6 -11 -13 -14 -12 -11 -12 -12 -11 -11 -12 -16 -18 -18 -16 -14 -12 -10 -8 -8 -11 -12 -13 -13 -13 -11 -8 -8 -11 -14 -15 -12 -8 -6 -10 -17 -21 -22 -21 -18 -17 -15 -13 -12 -13 -16 -18 -19 -19 -17 -15 -13 -14 -17 -18 -18 -13 -4 5 -0 -10 -17 -18 -17 -17 -18 -18 -18 -19 -20 -20 -20 -22 -21 -20 -20 -20 -19 -19 -18 -19 -20 -21 -20 -19 -19 -18 -18 -18 -19 -22 -24 -27 -24 -19 -15 -19 -22 -21 -18 -14 -13 -12 -12 -13 -15 -16 -17 -16 -15 -15 -15 -16 -17 -19 -21 -19 -19 -19 -21 -21 -21 -22 -21 -18 -13 -10 -11 -16 -22 -23 -24 -24 -24 -24 -23 -24 -24 -24 -23 -20 -16 -14 -15 -17 -17 -20 -22 -22 -22 -22 -21 -21 -22 -24 -23 -21 -20 -17 -16 -17 -18 -20 -21 -20 -19 -18 -18 -17 -18 -17 -16 -17 -21 -20 -20 -21 -22 -21 -18 -13 -11 -14 -21 -25 -13 -9 -3 1 2 1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -1 1 3 3 2 2 0 -1 -2 -2 -1 -2 -6 -11 -16 -16 -11 -7 -6 -8 -8 -7 -6 -5 -4 -3 -4 -4 -5 -8 -9 -9 -7 -4 -2 -3 -7 -9 -8 -6 -7 -8 -7 -6 -4 -4 -4 -5 -7 -8 -8 -8 -6 -2 -0 0 -0 -1 -3 -3 -4 -4 -4 -4 -4 -5 -5 -2 3 7 6 3 -1 -3 -8 -13 -16 -16 -11 -5 -3 -4 -6 -8 -10 -11 -12 -12 -14 -12 -5 3 8 2 -4 -7 -5 3 9 11 7 0 -6 -5 2 12 18 13 7 3 2 2 1 -2 -6 -11 -13 -6 -1 1 -2 -6 -7 -9 -11 -10 -7 -6 -10 -16 -21 -23 -24 -22 -17 -11 -11 -14 -16 -16 -13 -12 -13 -15 -17 -18 -17 -13 -7 -1 1 -0 1 6 12 13 13 12 13 12 10 6 2 -1 -1 1 3 3 2 -4 -12 -16 -20 -23 -24 -23 -20 -16 -11 -8 -7 -8 -9 -11 -10 -10 -12 -14 -16 -12 -8 -6 -7 -9 -9 -11 -13 -16 -18 -18 -14 -10 -6 -10 -16 -19 -16 -7 1 1 -1 -4 -5 -9 -11 -12 -12 -12 -12 -12 -12 -12 -12 -14 -16 -16 -15 -14 -14 -13 -12 -10 -10 -12 -13 -13 -14 -13 -10 -8 -10 -13 -16 -14 -11 -8 -10 -17 -21 -22 -21 -19 -17 -16 -15 -13 -13 -16 -18 -20 -20 -18 -16 -14 -14 -15 -17 -17 -14 -7 2 -1 -9 -16 -17 -16 -17 -17 -18 -18 -18 -19 -20 -20 -22 -22 -21 -21 -22 -20 -19 -19 -20 -20 -21 -20 -19 -19 -19 -18 -18 -19 -21 -24 -27 -25 -20 -15 -19 -23 -21 -18 -16 -16 -16 -15 -14 -14 -15 -16 -17 -16 -15 -15 -16 -17 -19 -20 -18 -18 -19 -21 -22 -21 -22 -22 -19 -13 -10 -11 -16 -22 -24 -26 -25 -25 -24 -24 -24 -24 -24 -24 -21 -18 -16 -16 -17 -17 -19 -22 -22 -22 -21 -21 -21 -22 -23 -23 -22 -21 -18 -17 -17 -18 -20 -21 -21 -20 -19 -18 -19 -19 -18 -17 -16 -19 -19 -20 -21 -23 -23 -19 -14 -11 -13 -19 -24 -11 -2 3 2 -1 -3 -4 -4 -4 -5 -4 -3 -2 -0 1 3 3 2 0 -2 -3 -5 -6 -7 -6 -6 -9 -13 -16 -17 -14 -11 -11 -13 -13 -12 -10 -9 -8 -7 -7 -6 -6 -7 -8 -6 -6 -6 -6 -4 -3 -4 -5 -6 -6 -6 -6 -6 -6 -7 -6 -5 -5 -5 -6 -7 -7 -6 -3 -1 1 1 -0 -2 -3 -3 -3 -3 -3 -4 -5 -6 -5 -3 -1 1 1 0 -1 -4 -9 -14 -15 -12 -6 -3 -3 -5 -7 -10 -12 -12 -13 -14 -14 -10 -2 7 9 4 -3 -7 -4 3 8 9 5 -3 -8 -4 6 18 19 13 8 4 3 2 1 -2 -7 -11 -9 -4 -1 -1 -4 -6 -8 -10 -11 -9 -5 -6 -12 -19 -24 -26 -25 -21 -13 -10 -12 -15 -16 -14 -13 -14 -15 -16 -15 -13 -13 -10 -5 1 1 -1 -2 1 6 9 12 13 12 11 9 6 4 4 4 5 6 6 3 -4 -10 -17 -23 -25 -23 -20 -16 -12 -10 -8 -9 -10 -11 -12 -12 -13 -14 -16 -14 -10 -8 -7 -9 -9 -11 -12 -15 -17 -19 -18 -14 -8 -9 -15 -19 -18 -11 -3 -2 -4 -6 -5 -7 -8 -10 -12 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -14 -14 -15 -14 -12 -12 -12 -13 -13 -14 -14 -11 -9 -10 -13 -16 -15 -13 -10 -11 -17 -21 -22 -21 -20 -17 -16 -15 -14 -15 -17 -18 -19 -20 -18 -16 -15 -14 -15 -15 -16 -15 -13 -4 -2 -5 -10 -14 -15 -15 -17 -18 -19 -18 -19 -20 -21 -21 -22 -22 -22 -24 -21 -20 -20 -20 -21 -21 -21 -21 -22 -22 -19 -19 -19 -20 -23 -28 -27 -21 -16 -19 -23 -23 -20 -17 -19 -20 -18 -16 -13 -14 -16 -17 -17 -16 -15 -16 -17 -20 -19 -18 -17 -18 -20 -22 -22 -22 -23 -20 -14 -10 -11 -15 -21 -24 -26 -27 -26 -25 -25 -25 -25 -25 -26 -23 -20 -17 -17 -17 -17 -19 -21 -21 -22 -22 -22 -23 -23 -23 -23 -23 -21 -19 -18 -17 -18 -20 -22 -22 -21 -20 -18 -20 -20 -19 -18 -17 -19 -20 -21 -23 -24 -24 -21 -16 -11 -12 -17 -22 -5 2 1 -3 -5 -5 -4 -4 -5 -4 -3 -0 2 3 3 3 1 -2 -4 -6 -7 -7 -7 -7 -7 -8 -12 -15 -15 -14 -10 -11 -13 -14 -13 -11 -12 -12 -12 -10 -8 -7 -6 -5 -4 -3 -2 -4 -5 -6 -6 -5 -5 -4 -5 -6 -6 -5 -6 -7 -6 -5 -4 -4 -5 -6 -6 -6 -4 -2 0 1 1 0 -1 -1 -2 -2 -2 -3 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -6 -11 -14 -11 -7 -3 -2 -4 -7 -10 -12 -13 -14 -15 -14 -13 -8 1 10 10 5 -3 -7 -4 2 7 8 2 -6 -9 -5 8 18 18 13 9 7 6 5 2 -3 -8 -9 -7 -4 -2 -3 -4 -6 -8 -11 -11 -6 -5 -7 -15 -23 -26 -27 -24 -17 -11 -11 -14 -15 -14 -13 -14 -17 -17 -14 -11 -12 -13 -12 -2 3 2 -3 -5 -0 5 9 10 10 12 12 11 9 9 8 7 7 8 9 6 -1 -9 -19 -23 -22 -19 -16 -14 -12 -10 -9 -9 -9 -11 -13 -14 -15 -14 -13 -11 -9 -8 -9 -9 -10 -12 -14 -16 -19 -19 -17 -10 -9 -14 -19 -20 -14 -6 -3 -5 -8 -7 -6 -6 -9 -11 -13 -12 -12 -12 -13 -14 -14 -14 -14 -14 -12 -13 -15 -16 -15 -14 -13 -13 -12 -13 -14 -13 -11 -10 -13 -17 -17 -16 -13 -12 -16 -20 -22 -21 -19 -18 -16 -15 -15 -16 -18 -18 -19 -19 -18 -17 -15 -14 -15 -15 -15 -16 -16 -8 -3 -4 -8 -12 -14 -15 -16 -18 -19 -18 -18 -20 -23 -22 -22 -22 -22 -25 -21 -21 -21 -21 -21 -20 -23 -25 -26 -25 -22 -21 -21 -21 -24 -28 -28 -23 -16 -18 -22 -23 -21 -19 -21 -20 -18 -16 -13 -14 -15 -16 -16 -17 -16 -16 -18 -20 -19 -17 -16 -17 -19 -21 -22 -23 -24 -22 -15 -11 -11 -15 -19 -23 -26 -28 -28 -26 -25 -25 -25 -26 -25 -24 -21 -19 -17 -17 -17 -18 -20 -21 -22 -22 -23 -24 -24 -23 -24 -24 -21 -20 -19 -18 -18 -19 -22 -22 -22 -21 -20 -20 -20 -19 -18 -17 -18 -19 -22 -23 -23 -24 -22 -17 -11 -11 -15 -21 -0 -1 -5 -6 -5 -4 -4 -4 -3 -1 1 3 3 2 0 -1 -3 -4 -6 -7 -8 -8 -7 -6 -7 -10 -14 -15 -14 -11 -10 -11 -13 -14 -13 -14 -14 -13 -10 -7 -4 -4 -4 -4 -3 -2 -3 -4 -5 -6 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -4 -4 -5 -6 -6 -5 -4 -1 1 2 2 2 1 -0 -1 -1 -3 -4 -4 -3 -3 -5 -6 -6 -6 -5 -4 -5 -8 -10 -10 -7 -4 -2 -3 -6 -9 -12 -13 -14 -15 -15 -14 -12 -7 5 12 11 3 -4 -6 -4 2 7 6 -1 -9 -11 -5 9 15 16 14 12 12 10 6 1 -4 -7 -8 -7 -4 -2 -2 -4 -7 -10 -11 -9 -5 -5 -11 -20 -25 -28 -27 -21 -11 -10 -12 -14 -14 -13 -14 -17 -19 -17 -11 -9 -11 -14 -9 0 5 3 -2 -5 -3 1 4 7 11 14 15 15 13 12 11 10 12 15 14 9 -0 -11 -19 -20 -19 -17 -14 -12 -11 -10 -10 -10 -11 -14 -17 -17 -15 -12 -11 -10 -9 -8 -8 -9 -10 -13 -16 -19 -20 -18 -13 -10 -14 -19 -22 -18 -8 -4 -5 -9 -9 -6 -4 -6 -10 -12 -12 -12 -13 -13 -14 -15 -15 -16 -15 -13 -13 -15 -17 -17 -15 -14 -12 -11 -11 -13 -13 -12 -10 -12 -16 -19 -18 -15 -13 -15 -19 -22 -21 -19 -17 -16 -16 -16 -17 -18 -19 -20 -20 -19 -17 -15 -15 -16 -16 -16 -17 -18 -13 -7 -5 -8 -12 -14 -15 -16 -18 -19 -18 -18 -19 -23 -22 -21 -21 -22 -25 -22 -21 -21 -22 -21 -20 -22 -25 -26 -24 -23 -22 -22 -23 -25 -28 -28 -24 -17 -16 -20 -22 -21 -22 -21 -18 -16 -15 -13 -13 -14 -15 -16 -17 -18 -18 -19 -19 -18 -17 -16 -16 -18 -20 -22 -24 -24 -23 -16 -11 -11 -14 -18 -21 -25 -29 -29 -28 -26 -25 -25 -25 -24 -23 -22 -20 -17 -18 -18 -18 -19 -21 -22 -22 -23 -23 -24 -23 -24 -24 -22 -21 -20 -19 -18 -19 -21 -22 -22 -22 -21 -21 -20 -18 -18 -17 -17 -17 -18 -19 -20 -22 -22 -18 -13 -11 -14 -20 -2 -7 -6 -3 -2 -2 -4 -2 1 3 3 1 -0 -1 -2 -3 -3 -4 -5 -7 -7 -7 -6 -6 -8 -12 -15 -15 -13 -10 -10 -13 -14 -14 -14 -14 -14 -12 -8 -3 0 -1 -2 -3 -3 -3 -4 -5 -5 -6 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -5 -4 -4 -4 -4 -5 -6 -6 -5 -3 -1 1 2 2 1 1 -0 -0 -1 -2 -3 -2 -2 -4 -5 -6 -6 -8 -8 -8 -7 -7 -8 -7 -4 -2 -2 -5 -8 -11 -13 -15 -15 -15 -15 -14 -13 -3 7 12 8 2 -4 -5 -3 3 7 3 -4 -11 -12 -4 6 13 16 16 18 16 13 7 1 -3 -6 -7 -5 -2 -1 -2 -6 -9 -11 -10 -7 -5 -7 -15 -22 -27 -28 -24 -13 -9 -10 -14 -15 -13 -13 -15 -18 -18 -13 -8 -8 -12 -13 -6 3 9 7 -0 -5 -6 -3 1 8 14 19 21 20 18 18 17 18 19 17 14 7 -3 -12 -16 -17 -16 -14 -12 -11 -11 -10 -10 -11 -15 -18 -20 -16 -12 -10 -10 -10 -9 -8 -8 -10 -13 -16 -18 -19 -19 -15 -12 -14 -19 -22 -21 -12 -6 -6 -11 -12 -6 -3 -4 -9 -11 -12 -13 -13 -13 -14 -15 -16 -16 -15 -12 -12 -14 -17 -17 -16 -15 -13 -9 -8 -11 -12 -12 -11 -12 -16 -19 -19 -17 -14 -15 -17 -20 -21 -19 -17 -16 -16 -16 -17 -18 -18 -20 -21 -20 -19 -17 -16 -17 -18 -18 -19 -19 -16 -10 -7 -8 -11 -15 -17 -18 -19 -19 -19 -18 -19 -22 -22 -21 -21 -22 -25 -23 -21 -21 -22 -21 -20 -21 -23 -24 -24 -25 -24 -23 -24 -26 -28 -28 -26 -18 -14 -17 -19 -20 -22 -20 -17 -14 -14 -13 -13 -13 -14 -16 -17 -19 -21 -21 -19 -18 -17 -16 -16 -17 -20 -23 -25 -25 -23 -17 -12 -11 -12 -15 -19 -24 -28 -30 -28 -26 -25 -24 -24 -23 -23 -22 -20 -18 -18 -19 -19 -19 -21 -23 -23 -22 -23 -24 -23 -23 -24 -23 -22 -21 -21 -19 -20 -20 -21 -22 -21 -22 -22 -20 -19 -18 -16 -16 -17 -17 -16 -18 -20 -21 -19 -14 -11 -14 -19 -6 -6 -1 -1 -2 -4 -2 1 2 2 1 -1 -2 -2 -3 -3 -4 -4 -5 -6 -7 -5 -5 -7 -9 -13 -15 -13 -11 -9 -10 -12 -13 -12 -11 -11 -12 -9 -5 0 2 -1 -3 -3 -2 -3 -4 -5 -6 -6 -8 -7 -7 -7 -6 -4 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -4 -4 -5 -6 -5 -3 -0 2 2 1 1 2 3 2 1 -0 -1 -1 -2 -4 -5 -7 -8 -10 -10 -9 -8 -7 -7 -5 -2 -1 -4 -7 -10 -12 -14 -15 -16 -16 -15 -14 -11 -1 8 10 5 1 -2 -3 -1 4 6 2 -5 -11 -12 -6 3 11 17 20 21 18 13 7 2 -2 -4 -5 -4 -2 -2 -5 -8 -11 -11 -8 -6 -5 -11 -19 -25 -28 -26 -16 -9 -8 -12 -15 -14 -14 -14 -16 -18 -16 -11 -6 -7 -12 -10 -2 6 9 3 -2 -4 -5 -5 1 10 19 25 26 25 25 27 26 21 16 13 10 4 -5 -11 -14 -15 -14 -12 -12 -12 -11 -10 -11 -15 -19 -22 -18 -12 -9 -9 -10 -9 -7 -7 -9 -11 -15 -17 -19 -19 -17 -13 -14 -18 -22 -23 -16 -10 -7 -11 -12 -7 -4 -4 -8 -11 -12 -13 -13 -13 -14 -16 -17 -16 -14 -12 -12 -14 -16 -16 -17 -16 -14 -11 -9 -10 -12 -12 -12 -13 -15 -18 -19 -18 -15 -14 -15 -18 -19 -18 -17 -16 -16 -16 -17 -17 -17 -19 -20 -20 -19 -17 -16 -17 -19 -21 -21 -19 -18 -13 -8 -7 -11 -16 -19 -21 -22 -20 -19 -19 -19 -20 -21 -22 -23 -23 -25 -24 -22 -21 -21 -21 -20 -21 -22 -22 -24 -28 -29 -27 -26 -27 -29 -29 -26 -20 -15 -15 -18 -20 -20 -19 -18 -16 -15 -14 -14 -13 -14 -15 -17 -21 -23 -23 -20 -18 -17 -16 -15 -17 -20 -23 -25 -26 -24 -19 -13 -10 -10 -14 -19 -24 -27 -30 -29 -27 -25 -24 -23 -24 -23 -22 -21 -18 -18 -19 -19 -18 -21 -23 -24 -23 -23 -24 -24 -23 -24 -23 -22 -21 -21 -20 -20 -21 -21 -21 -22 -24 -24 -22 -21 -18 -16 -16 -17 -17 -16 -18 -20 -21 -19 -16 -13 -14 -20 -6 -2 -1 -3 -4 -3 -0 1 1 0 -1 -2 -2 -2 -3 -3 -3 -5 -6 -6 -6 -5 -5 -8 -10 -13 -13 -10 -8 -7 -9 -10 -9 -8 -7 -8 -8 -4 1 3 -1 -4 -4 -2 -1 -1 -3 -5 -6 -8 -10 -10 -9 -8 -8 -6 -5 -5 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -6 -7 -6 -3 1 2 1 1 2 4 5 4 2 0 -0 -1 -3 -5 -7 -9 -11 -11 -10 -9 -9 -8 -6 -3 -1 -2 -5 -7 -10 -14 -15 -16 -17 -16 -14 -16 -9 1 8 5 1 -0 -1 -1 1 5 6 3 -5 -11 -13 -10 -1 9 17 21 22 18 13 8 4 0 -3 -5 -4 -3 -4 -6 -10 -11 -10 -7 -4 -7 -14 -22 -27 -27 -19 -10 -6 -9 -14 -15 -15 -15 -16 -18 -18 -14 -8 -3 -7 -9 -7 -0 6 5 2 -1 -3 -5 -4 0 8 19 26 33 39 42 38 25 15 8 6 6 1 -5 -10 -12 -13 -12 -12 -12 -12 -11 -12 -15 -19 -23 -20 -14 -9 -8 -9 -9 -8 -7 -7 -10 -13 -17 -20 -21 -19 -16 -15 -18 -22 -24 -20 -13 -8 -9 -11 -9 -6 -5 -8 -11 -12 -13 -14 -14 -15 -16 -17 -16 -13 -12 -12 -13 -15 -16 -16 -16 -15 -13 -11 -11 -12 -13 -12 -12 -13 -16 -17 -16 -15 -14 -15 -16 -18 -18 -17 -17 -16 -16 -17 -17 -17 -18 -19 -20 -19 -18 -17 -17 -18 -20 -21 -19 -18 -14 -10 -7 -11 -16 -20 -23 -25 -22 -21 -21 -21 -20 -22 -25 -26 -25 -25 -24 -23 -21 -21 -20 -20 -21 -22 -21 -25 -31 -33 -30 -28 -28 -29 -29 -26 -21 -16 -16 -20 -22 -21 -21 -21 -20 -18 -17 -16 -15 -15 -16 -19 -22 -25 -24 -21 -19 -17 -16 -15 -16 -19 -22 -25 -25 -24 -21 -16 -10 -9 -12 -18 -23 -26 -30 -30 -29 -27 -25 -24 -24 -23 -22 -21 -19 -18 -18 -19 -18 -20 -22 -23 -23 -24 -24 -24 -24 -24 -23 -22 -22 -22 -21 -21 -21 -22 -22 -23 -24 -24 -23 -22 -19 -17 -16 -17 -18 -17 -18 -20 -20 -19 -17 -14 -14 -21 -4 -1 -3 -5 -4 -2 1 1 -0 -1 -1 -2 -2 -2 -3 -3 -3 -5 -6 -6 -5 -5 -6 -9 -11 -11 -10 -7 -5 -6 -7 -7 -6 -6 -6 -6 -2 3 4 2 -4 -6 -5 -3 -1 1 -0 -3 -7 -9 -10 -12 -11 -9 -8 -6 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -4 -6 -7 -6 -2 2 2 1 0 3 6 6 4 2 1 0 -2 -4 -7 -9 -10 -10 -9 -9 -10 -10 -10 -7 -4 -2 -4 -6 -9 -11 -14 -17 -18 -18 -16 -16 -14 -7 3 5 1 -1 -1 1 2 4 7 7 4 -4 -11 -14 -12 -5 6 15 21 22 18 14 11 7 1 -4 -5 -4 -3 -4 -9 -12 -12 -10 -5 -5 -10 -18 -24 -27 -21 -12 -5 -5 -11 -15 -16 -16 -16 -17 -17 -16 -11 -2 -1 -5 -7 -5 2 7 7 6 2 -2 -5 -4 -1 7 18 28 37 44 47 40 30 19 11 7 3 -2 -6 -9 -11 -11 -11 -11 -12 -12 -13 -15 -19 -23 -22 -16 -10 -7 -8 -9 -8 -7 -7 -9 -12 -17 -20 -21 -20 -17 -16 -17 -20 -24 -22 -16 -9 -8 -9 -9 -7 -6 -8 -11 -14 -15 -15 -14 -15 -16 -17 -16 -13 -11 -11 -12 -14 -16 -16 -15 -15 -14 -11 -11 -12 -13 -13 -12 -12 -14 -15 -16 -15 -14 -14 -15 -16 -17 -17 -18 -17 -16 -16 -17 -18 -18 -19 -19 -19 -19 -17 -17 -17 -18 -19 -18 -17 -15 -10 -6 -9 -14 -20 -24 -26 -24 -22 -22 -23 -22 -25 -28 -28 -25 -24 -23 -22 -22 -21 -21 -20 -20 -20 -21 -28 -33 -34 -32 -29 -28 -28 -27 -26 -21 -16 -16 -21 -24 -23 -24 -25 -24 -22 -20 -19 -19 -18 -18 -21 -23 -25 -25 -22 -20 -18 -17 -15 -16 -18 -21 -24 -24 -25 -23 -19 -11 -9 -10 -15 -22 -26 -29 -30 -28 -27 -25 -24 -24 -23 -22 -21 -20 -18 -18 -19 -18 -20 -22 -24 -24 -24 -24 -24 -24 -24 -23 -22 -22 -23 -23 -22 -21 -22 -22 -23 -23 -23 -23 -22 -21 -19 -17 -17 -18 -18 -19 -19 -19 -19 -17 -14 -14 -21 -3 -3 -5 -5 -3 -1 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -6 -8 -10 -11 -10 -7 -4 -3 -4 -5 -6 -7 -6 -4 -0 3 3 1 -2 -5 -5 -4 -3 -2 -1 0 -1 -4 -10 -11 -12 -12 -10 -8 -7 -6 -5 -4 -5 -5 -4 -4 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -5 -1 2 2 1 1 4 6 6 4 2 1 -1 -4 -7 -10 -10 -10 -9 -9 -10 -11 -11 -10 -7 -5 -5 -6 -7 -9 -12 -16 -18 -19 -18 -17 -16 -12 -5 3 2 -1 -4 -2 2 5 7 8 8 3 -3 -9 -12 -13 -8 2 13 21 22 20 17 13 8 1 -3 -4 -4 -4 -8 -11 -13 -12 -9 -6 -8 -13 -21 -25 -23 -14 -6 -3 -8 -13 -16 -17 -17 -16 -17 -17 -14 -6 1 0 -3 -6 -2 5 9 10 8 3 -1 -3 -4 -2 4 14 27 41 50 47 39 28 15 5 3 2 1 -3 -8 -9 -8 -9 -11 -13 -13 -15 -18 -22 -23 -18 -11 -7 -7 -9 -8 -7 -7 -8 -11 -16 -20 -22 -21 -18 -16 -16 -20 -23 -23 -19 -12 -8 -10 -12 -11 -9 -9 -11 -14 -16 -16 -14 -15 -16 -17 -17 -13 -10 -9 -11 -14 -15 -14 -14 -14 -13 -12 -11 -11 -12 -13 -11 -11 -11 -14 -16 -16 -15 -15 -16 -16 -16 -17 -18 -18 -17 -17 -18 -18 -20 -19 -19 -20 -19 -18 -18 -18 -18 -19 -18 -18 -16 -12 -5 -6 -12 -19 -24 -26 -24 -23 -22 -23 -24 -28 -31 -29 -26 -23 -21 -21 -21 -22 -21 -20 -18 -19 -22 -29 -32 -32 -31 -32 -29 -26 -25 -26 -22 -17 -15 -20 -24 -22 -23 -25 -25 -24 -22 -21 -22 -21 -20 -22 -23 -25 -26 -24 -22 -20 -18 -16 -16 -17 -20 -23 -23 -25 -25 -21 -14 -9 -9 -14 -22 -27 -30 -29 -27 -26 -25 -25 -24 -23 -22 -22 -21 -19 -17 -19 -19 -20 -22 -25 -25 -25 -24 -24 -24 -24 -24 -23 -22 -23 -23 -22 -22 -21 -22 -23 -23 -23 -23 -21 -21 -20 -17 -15 -16 -17 -18 -19 -19 -19 -17 -15 -14 -21 -3 -4 -5 -4 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -7 -9 -11 -10 -9 -5 -2 -1 -3 -6 -7 -3 -0 -0 -3 -4 -4 -3 -2 -1 -1 -1 -2 -3 -3 -2 -2 -3 -7 -12 -13 -14 -13 -10 -9 -7 -5 -3 -4 -5 -5 -4 -4 -3 -3 -4 -4 -5 -4 -5 -5 -6 -5 -3 0 2 2 1 1 4 5 6 5 3 1 -3 -7 -11 -11 -9 -8 -8 -9 -10 -10 -10 -9 -7 -6 -6 -6 -7 -11 -14 -18 -20 -21 -19 -17 -15 -10 -2 3 1 -4 -6 -3 1 4 8 9 7 3 -1 -6 -10 -13 -10 -1 12 21 22 19 16 12 6 1 -3 -5 -5 -7 -10 -12 -13 -12 -9 -8 -10 -16 -23 -23 -18 -9 -1 -4 -10 -15 -17 -17 -17 -17 -17 -16 -12 -1 4 3 -2 -3 1 7 11 12 8 3 -1 -4 -5 -4 0 10 25 41 44 40 30 18 6 3 2 2 -0 -4 -6 -5 -5 -8 -11 -12 -14 -17 -22 -24 -20 -13 -7 -5 -8 -9 -9 -8 -8 -11 -15 -19 -22 -21 -19 -16 -16 -19 -22 -24 -21 -14 -9 -10 -12 -13 -11 -9 -11 -14 -16 -16 -15 -15 -16 -18 -19 -14 -10 -8 -9 -13 -15 -14 -13 -13 -13 -12 -11 -11 -12 -12 -10 -9 -9 -13 -16 -17 -16 -14 -14 -14 -14 -16 -19 -20 -18 -18 -18 -19 -21 -20 -20 -20 -20 -19 -18 -18 -18 -19 -18 -19 -18 -14 -6 -6 -11 -18 -24 -27 -25 -24 -23 -24 -25 -30 -32 -29 -25 -22 -20 -20 -21 -22 -22 -20 -18 -19 -22 -27 -29 -30 -32 -34 -30 -26 -23 -25 -23 -18 -15 -18 -22 -21 -23 -27 -28 -25 -22 -21 -23 -22 -21 -21 -22 -23 -25 -24 -23 -21 -19 -17 -16 -17 -19 -22 -23 -25 -25 -21 -17 -11 -9 -14 -23 -28 -30 -29 -26 -25 -25 -25 -24 -24 -23 -22 -23 -21 -18 -19 -19 -20 -23 -26 -27 -26 -25 -24 -25 -25 -25 -24 -22 -22 -22 -22 -22 -22 -22 -23 -24 -24 -23 -20 -20 -19 -17 -15 -14 -16 -18 -19 -19 -19 -18 -16 -15 -20 -4 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -2 -3 -4 -4 -4 -3 -4 -5 -8 -10 -10 -10 -8 -5 -4 -5 -5 -3 1 1 -1 -6 -10 -9 -7 -5 -3 -1 0 1 0 -1 -3 -3 -3 -3 -4 -8 -12 -13 -13 -11 -10 -8 -5 -3 -2 -4 -5 -5 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -2 1 3 2 0 1 3 5 6 5 2 -1 -6 -11 -11 -9 -7 -7 -7 -8 -9 -9 -9 -7 -6 -6 -6 -7 -10 -13 -17 -20 -21 -20 -18 -16 -14 -9 -0 1 -2 -7 -7 -5 -2 2 6 7 6 4 0 -4 -9 -13 -11 -3 11 20 22 19 15 11 5 -1 -6 -7 -7 -8 -11 -13 -15 -13 -10 -10 -13 -19 -22 -20 -14 -4 -1 -6 -12 -16 -18 -19 -18 -17 -16 -15 -6 2 6 5 1 -0 3 8 12 11 7 2 -1 -4 -5 -6 -4 4 17 28 33 31 21 10 5 3 2 1 -2 -3 -4 -4 -6 -11 -13 -14 -16 -20 -21 -19 -14 -8 -5 -7 -9 -10 -9 -8 -10 -14 -19 -22 -21 -18 -16 -16 -18 -21 -23 -22 -17 -10 -11 -13 -14 -12 -9 -12 -15 -18 -18 -17 -15 -16 -17 -19 -16 -11 -8 -9 -13 -15 -14 -12 -12 -11 -11 -10 -11 -11 -11 -10 -8 -8 -10 -14 -17 -17 -14 -12 -13 -14 -16 -19 -20 -19 -18 -19 -20 -21 -22 -21 -21 -20 -19 -19 -19 -19 -19 -19 -20 -20 -17 -9 -7 -10 -17 -23 -28 -27 -25 -26 -28 -28 -31 -31 -27 -24 -22 -21 -21 -22 -22 -23 -22 -20 -19 -23 -25 -28 -31 -33 -34 -32 -27 -23 -24 -23 -19 -16 -18 -22 -23 -25 -30 -31 -26 -23 -22 -25 -22 -21 -20 -20 -22 -24 -24 -23 -22 -20 -17 -16 -16 -17 -20 -22 -24 -24 -21 -18 -12 -10 -14 -23 -27 -30 -30 -27 -26 -26 -24 -24 -24 -23 -23 -24 -23 -19 -19 -20 -20 -23 -27 -28 -27 -26 -25 -25 -26 -26 -26 -23 -22 -22 -22 -23 -23 -23 -24 -25 -25 -22 -21 -20 -20 -19 -16 -14 -15 -17 -18 -19 -19 -18 -17 -16 -18 -6 -7 -6 -5 -4 -3 -3 -2 -3 -3 -3 -2 -3 -3 -4 -4 -3 -2 -2 -4 -6 -8 -9 -8 -8 -7 -8 -6 -4 -1 0 0 -2 -6 -8 -9 -8 -6 -5 -4 -3 -1 -0 0 -1 -2 -3 -3 -3 -3 -6 -9 -11 -11 -10 -10 -9 -6 -4 -2 -3 -4 -5 -5 -4 -3 -3 -3 -4 -5 -5 -5 -4 -4 -5 -4 -1 1 2 1 -1 -0 2 6 6 5 1 -4 -8 -10 -9 -8 -6 -6 -6 -8 -9 -9 -8 -7 -7 -7 -9 -11 -13 -16 -18 -20 -20 -18 -16 -16 -14 -6 0 2 -4 -8 -8 -7 -5 -1 2 4 4 3 1 -4 -9 -12 -12 -2 11 19 21 18 14 9 2 -5 -8 -7 -8 -10 -12 -15 -15 -13 -11 -11 -16 -20 -21 -17 -10 -3 -3 -7 -13 -18 -20 -20 -19 -16 -15 -11 -4 4 8 6 3 1 3 8 11 10 6 1 -2 -4 -5 -7 -9 -6 8 21 28 25 15 9 4 2 1 -0 -2 -3 -4 -6 -10 -12 -14 -16 -19 -20 -19 -15 -9 -5 -5 -7 -8 -9 -8 -9 -13 -17 -20 -19 -17 -15 -15 -17 -20 -22 -22 -18 -12 -11 -13 -14 -13 -10 -12 -15 -19 -20 -19 -16 -15 -16 -18 -17 -13 -9 -8 -13 -15 -15 -12 -11 -10 -10 -11 -11 -10 -11 -10 -8 -7 -9 -13 -16 -17 -14 -13 -13 -14 -16 -19 -20 -19 -18 -18 -20 -21 -22 -23 -22 -20 -19 -19 -19 -19 -19 -20 -22 -22 -19 -12 -9 -11 -17 -22 -27 -28 -27 -29 -32 -32 -31 -29 -25 -23 -23 -23 -24 -23 -22 -23 -24 -22 -21 -23 -25 -27 -31 -33 -34 -33 -29 -25 -25 -24 -20 -18 -19 -24 -26 -28 -32 -33 -28 -25 -24 -26 -23 -21 -20 -21 -21 -23 -24 -25 -24 -22 -19 -17 -16 -17 -20 -23 -24 -24 -22 -20 -16 -13 -14 -21 -25 -29 -30 -29 -28 -26 -25 -24 -25 -24 -24 -24 -23 -20 -20 -20 -20 -22 -26 -28 -27 -26 -26 -25 -26 -27 -27 -25 -23 -23 -23 -23 -23 -24 -25 -25 -25 -23 -22 -22 -22 -22 -17 -15 -15 -16 -17 -19 -19 -19 -17 -16 -17 -8 -7 -6 -5 -4 -3 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -2 -4 -6 -6 -5 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -3 -3 -5 -7 -9 -9 -10 -10 -9 -7 -5 -3 -2 -2 -3 -4 -5 -4 -4 -3 -4 -4 -5 -5 -5 -4 -4 -4 -3 -1 2 2 0 -1 -0 2 5 6 4 1 -4 -8 -9 -8 -6 -4 -5 -7 -9 -10 -9 -7 -7 -8 -10 -11 -12 -14 -16 -18 -19 -18 -17 -16 -16 -11 -3 3 1 -4 -7 -8 -9 -9 -6 -2 0 2 2 -0 -4 -9 -13 -11 -1 9 17 20 18 14 7 -1 -6 -7 -7 -9 -11 -14 -16 -15 -13 -11 -14 -17 -20 -19 -15 -6 -3 -4 -10 -16 -20 -21 -20 -17 -15 -14 -10 -3 4 8 7 4 1 2 7 10 9 5 -0 -3 -5 -6 -9 -12 -7 6 19 24 18 12 7 4 2 1 -1 -3 -5 -7 -10 -12 -13 -14 -16 -17 -17 -14 -11 -7 -4 -4 -6 -9 -9 -9 -11 -15 -19 -19 -17 -15 -14 -15 -18 -21 -22 -19 -13 -11 -11 -13 -13 -11 -12 -15 -18 -19 -18 -16 -15 -15 -18 -19 -15 -11 -8 -12 -15 -15 -13 -10 -10 -10 -11 -12 -11 -12 -12 -10 -7 -8 -12 -15 -16 -15 -13 -14 -15 -16 -19 -20 -20 -19 -18 -19 -21 -24 -25 -25 -21 -19 -19 -20 -20 -20 -21 -23 -24 -21 -15 -10 -11 -16 -22 -27 -29 -29 -31 -35 -33 -31 -29 -27 -26 -24 -25 -27 -25 -23 -23 -24 -24 -22 -24 -24 -24 -29 -31 -32 -31 -29 -27 -28 -26 -22 -19 -20 -25 -27 -29 -32 -33 -30 -27 -26 -25 -23 -22 -21 -22 -22 -24 -26 -27 -27 -25 -22 -19 -17 -17 -21 -24 -26 -25 -23 -21 -18 -16 -16 -19 -24 -28 -29 -28 -29 -27 -25 -25 -25 -25 -25 -24 -24 -23 -21 -20 -20 -21 -25 -27 -27 -26 -25 -25 -25 -26 -27 -26 -24 -23 -24 -24 -24 -25 -25 -25 -25 -24 -24 -24 -25 -25 -20 -17 -16 -16 -17 -19 -19 -19 -18 -16 -17 -8 -7 -5 -4 -3 -3 -4 -5 -5 -4 -4 -3 -4 -3 -3 -3 -4 -5 -7 -7 -7 -7 -7 -6 -5 -4 -3 -4 -4 -5 -5 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -4 -3 -2 -1 -2 -3 -4 -7 -8 -9 -10 -10 -9 -8 -6 -5 -2 -2 -2 -3 -5 -5 -5 -4 -4 -4 -4 -5 -5 -4 -4 -3 -3 -3 0 2 1 -0 -2 -1 2 5 7 5 -1 -6 -8 -8 -6 -4 -4 -6 -9 -11 -10 -8 -6 -7 -9 -10 -9 -10 -11 -14 -16 -17 -18 -17 -16 -16 -10 -2 3 -1 -4 -6 -7 -10 -11 -9 -6 -3 -1 0 -1 -4 -9 -11 -10 -3 6 15 19 18 13 5 -2 -5 -7 -8 -10 -13 -15 -16 -15 -13 -13 -15 -18 -19 -18 -11 -4 -2 -5 -12 -18 -21 -21 -19 -16 -15 -14 -10 -4 6 9 8 4 1 2 5 6 5 3 1 -2 -5 -8 -12 -13 -7 4 16 18 14 10 6 4 4 1 -2 -4 -7 -10 -11 -10 -10 -13 -14 -14 -14 -12 -9 -5 -4 -4 -7 -9 -9 -10 -13 -17 -19 -17 -15 -14 -15 -18 -21 -22 -20 -14 -10 -10 -11 -13 -12 -12 -13 -16 -17 -16 -15 -14 -15 -19 -20 -18 -13 -8 -10 -13 -15 -14 -11 -10 -11 -12 -13 -13 -14 -13 -11 -8 -7 -10 -13 -15 -15 -14 -14 -15 -16 -19 -21 -21 -19 -18 -19 -21 -24 -27 -27 -23 -20 -20 -22 -21 -21 -22 -23 -23 -22 -17 -11 -10 -14 -21 -27 -29 -30 -31 -35 -34 -31 -28 -30 -29 -26 -24 -27 -26 -24 -24 -26 -27 -24 -23 -23 -23 -27 -30 -31 -30 -29 -28 -29 -27 -23 -20 -20 -23 -26 -27 -30 -32 -31 -29 -27 -24 -24 -24 -23 -23 -23 -25 -27 -29 -29 -29 -25 -21 -18 -18 -22 -25 -26 -26 -24 -22 -20 -18 -18 -19 -23 -26 -26 -26 -27 -26 -26 -26 -25 -25 -25 -25 -25 -25 -23 -21 -21 -20 -24 -26 -27 -25 -24 -23 -23 -25 -27 -26 -24 -23 -23 -24 -25 -25 -25 -25 -25 -25 -25 -25 -26 -27 -24 -19 -16 -16 -17 -18 -19 -19 -18 -16 -16 -8 -6 -4 -4 -4 -5 -5 -5 -4 -2 -2 -3 -4 -4 -4 -4 -5 -6 -8 -8 -8 -7 -6 -5 -4 -5 -6 -6 -6 -6 -6 -6 -5 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -3 -3 -2 -1 -1 -1 -2 -4 -6 -8 -9 -10 -10 -9 -8 -7 -6 -4 -2 -1 -2 -4 -6 -6 -5 -5 -4 -3 -4 -4 -4 -3 -3 -4 -4 -2 1 2 1 -1 -2 -1 2 6 7 4 -2 -6 -7 -6 -3 -3 -6 -9 -12 -11 -8 -6 -6 -7 -9 -9 -9 -10 -13 -15 -16 -17 -17 -18 -18 -15 -10 -2 -0 -1 -3 -4 -7 -9 -10 -9 -7 -4 -1 -1 -2 -4 -8 -11 -11 -7 3 14 19 16 9 2 -3 -6 -9 -10 -12 -14 -16 -16 -14 -13 -14 -16 -17 -17 -14 -7 -2 -0 -6 -14 -19 -22 -22 -18 -16 -15 -14 -12 -2 6 9 7 5 3 2 2 3 3 1 -2 -5 -7 -10 -14 -13 -7 5 12 11 8 5 4 5 4 1 -2 -5 -7 -8 -8 -8 -10 -12 -13 -13 -13 -11 -8 -5 -4 -6 -9 -9 -10 -11 -15 -18 -18 -16 -14 -14 -17 -20 -22 -21 -15 -11 -10 -11 -13 -12 -11 -11 -13 -14 -15 -15 -14 -16 -20 -22 -21 -16 -10 -9 -12 -15 -15 -12 -11 -11 -13 -13 -13 -14 -14 -13 -10 -6 -8 -11 -15 -15 -14 -15 -16 -17 -19 -21 -20 -19 -18 -19 -22 -25 -28 -28 -25 -22 -21 -21 -20 -21 -21 -21 -22 -22 -17 -11 -8 -11 -18 -25 -28 -29 -30 -33 -33 -30 -26 -30 -29 -26 -24 -25 -26 -26 -27 -29 -30 -26 -24 -23 -23 -26 -30 -31 -30 -28 -27 -28 -27 -24 -23 -21 -21 -23 -25 -29 -31 -32 -30 -27 -24 -25 -25 -25 -23 -24 -25 -27 -29 -30 -30 -27 -23 -20 -21 -22 -24 -25 -26 -25 -22 -21 -20 -20 -20 -22 -25 -26 -25 -26 -26 -26 -27 -26 -25 -25 -25 -25 -26 -24 -22 -21 -21 -23 -25 -26 -24 -23 -21 -21 -24 -26 -26 -24 -23 -23 -24 -25 -25 -25 -26 -27 -28 -28 -27 -26 -29 -27 -22 -18 -17 -18 -18 -19 -20 -19 -17 -15 -7 -5 -5 -5 -5 -5 -5 -4 -2 -1 -1 -3 -4 -4 -4 -4 -5 -6 -7 -7 -7 -4 -2 -4 -7 -10 -10 -8 -6 -5 -6 -7 -6 -5 -4 -3 -3 -3 -3 -2 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -3 -5 -7 -8 -9 -9 -9 -8 -7 -7 -6 -4 -2 -2 -4 -5 -6 -6 -6 -5 -4 -2 -2 -3 -4 -4 -4 -4 -3 -0 2 2 1 -1 -2 -1 2 5 6 2 -2 -5 -6 -3 -3 -5 -9 -12 -12 -10 -6 -5 -6 -8 -9 -9 -9 -11 -14 -16 -17 -18 -19 -19 -18 -15 -8 -3 -2 -2 -1 -1 -5 -8 -9 -8 -6 -4 -2 -2 -3 -5 -8 -11 -13 -12 -1 9 14 13 8 1 -5 -9 -10 -11 -12 -14 -15 -15 -15 -14 -14 -14 -15 -16 -12 -5 2 2 -7 -15 -22 -23 -21 -18 -16 -16 -17 -12 -3 4 7 7 6 3 0 -0 -0 -1 -2 -4 -5 -7 -12 -14 -12 -4 6 10 10 7 6 7 5 2 -1 -3 -5 -5 -6 -7 -9 -11 -12 -13 -13 -12 -10 -8 -6 -6 -8 -9 -9 -10 -13 -17 -18 -17 -15 -14 -15 -18 -20 -21 -17 -13 -11 -11 -12 -12 -11 -10 -11 -14 -17 -17 -15 -16 -20 -23 -22 -19 -13 -11 -12 -14 -15 -13 -11 -12 -13 -14 -13 -14 -15 -16 -12 -9 -8 -11 -14 -15 -15 -16 -17 -18 -19 -20 -20 -19 -18 -18 -22 -25 -27 -27 -24 -22 -21 -21 -20 -20 -20 -20 -20 -20 -16 -11 -6 -7 -14 -22 -26 -27 -29 -30 -29 -26 -25 -28 -27 -26 -25 -25 -26 -27 -28 -29 -30 -27 -25 -24 -23 -25 -28 -29 -28 -27 -27 -27 -27 -25 -25 -21 -19 -19 -21 -26 -30 -32 -30 -28 -26 -26 -26 -25 -24 -25 -25 -27 -28 -30 -30 -28 -25 -23 -24 -23 -22 -21 -24 -25 -24 -22 -22 -22 -20 -22 -24 -26 -26 -26 -27 -27 -26 -25 -25 -25 -25 -25 -25 -24 -23 -22 -21 -22 -25 -27 -25 -23 -20 -20 -23 -27 -28 -25 -23 -23 -24 -25 -25 -25 -26 -28 -29 -29 -27 -25 -29 -29 -25 -19 -19 -19 -19 -19 -21 -20 -18 -16 -6 -6 -6 -6 -5 -4 -3 -2 -1 -2 -3 -3 -3 -3 -3 -3 -3 -5 -5 -4 -1 0 -3 -7 -10 -11 -8 -3 -1 -2 -3 -6 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -0 -1 -1 -1 -2 -3 -5 -6 -7 -8 -8 -9 -9 -8 -6 -6 -5 -4 -3 -3 -4 -5 -5 -6 -6 -4 -2 -1 -1 -3 -5 -6 -6 -4 -1 1 2 2 1 -1 -2 -0 3 5 5 2 -2 -5 -4 -3 -5 -8 -12 -13 -11 -8 -5 -5 -7 -8 -9 -9 -11 -13 -16 -17 -18 -19 -19 -18 -16 -12 -5 -4 -4 -4 -1 -2 -5 -8 -10 -8 -5 -2 -1 -1 -4 -6 -8 -11 -13 -11 -3 7 13 11 5 -2 -7 -10 -10 -11 -13 -14 -14 -15 -15 -14 -14 -14 -16 -16 -10 0 7 0 -10 -18 -22 -23 -20 -17 -16 -17 -17 -12 -5 1 7 7 5 1 -3 -3 -3 -3 -4 -5 -6 -9 -13 -14 -11 -0 8 13 13 11 9 8 5 1 -1 -2 -2 -3 -4 -6 -10 -12 -13 -13 -12 -12 -10 -9 -8 -9 -10 -10 -9 -11 -15 -17 -18 -15 -13 -14 -16 -19 -21 -19 -14 -11 -10 -12 -12 -12 -10 -10 -13 -16 -17 -16 -17 -21 -23 -23 -20 -15 -13 -13 -14 -15 -14 -12 -12 -14 -15 -13 -14 -16 -18 -15 -12 -11 -11 -13 -15 -16 -17 -17 -18 -18 -19 -20 -20 -18 -18 -21 -25 -27 -27 -23 -21 -21 -21 -20 -19 -19 -19 -20 -19 -17 -12 -7 -5 -11 -18 -23 -24 -26 -26 -25 -24 -25 -26 -25 -24 -25 -25 -26 -27 -28 -29 -28 -26 -25 -25 -24 -24 -25 -25 -25 -26 -27 -27 -27 -25 -25 -21 -18 -18 -19 -24 -29 -31 -30 -29 -28 -27 -26 -26 -25 -25 -26 -26 -27 -29 -30 -29 -27 -25 -25 -24 -22 -20 -22 -24 -24 -23 -23 -22 -21 -23 -25 -26 -26 -27 -27 -27 -26 -25 -26 -26 -25 -25 -24 -24 -24 -23 -22 -22 -25 -28 -26 -24 -21 -19 -22 -28 -29 -27 -24 -23 -24 -25 -25 -25 -27 -29 -30 -29 -26 -24 -27 -29 -28 -21 -20 -21 -20 -20 -21 -21 -19 -17 -7 -8 -7 -5 -3 -1 -1 -2 -4 -5 -5 -4 -4 -4 -5 -5 -5 -4 -1 1 1 -3 -7 -8 -7 -5 -3 -2 -4 -6 -7 -6 -5 -5 -5 -5 -5 -4 -3 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 -3 -4 -6 -7 -8 -9 -9 -8 -6 -6 -7 -7 -5 -3 -3 -3 -4 -6 -6 -5 -3 -1 -1 -4 -6 -7 -7 -6 -3 -0 1 2 2 0 -1 -0 1 3 5 4 1 -2 -3 -3 -4 -7 -10 -13 -12 -9 -5 -3 -5 -8 -9 -9 -10 -13 -15 -17 -18 -18 -18 -18 -17 -14 -8 -5 -4 -5 -4 -2 -3 -6 -9 -10 -7 -4 -1 0 -3 -6 -8 -9 -11 -13 -11 -6 3 9 7 3 -3 -7 -8 -10 -11 -13 -14 -15 -15 -15 -14 -13 -15 -17 -16 -10 2 3 -2 -11 -19 -23 -22 -18 -13 -13 -15 -16 -13 -7 1 5 4 1 -3 -5 -5 -4 -4 -5 -6 -7 -10 -13 -13 -7 3 12 19 18 15 13 10 7 3 1 0 -0 -1 -4 -8 -12 -13 -13 -13 -12 -11 -11 -11 -11 -11 -10 -8 -9 -12 -15 -17 -15 -13 -12 -14 -17 -20 -19 -16 -12 -10 -11 -13 -12 -11 -9 -11 -14 -16 -16 -17 -20 -21 -21 -19 -15 -13 -13 -13 -14 -15 -13 -13 -14 -15 -14 -14 -15 -17 -16 -14 -13 -12 -12 -14 -15 -16 -17 -17 -18 -19 -20 -21 -19 -19 -21 -23 -26 -26 -23 -20 -20 -22 -21 -19 -18 -19 -20 -20 -19 -15 -10 -6 -11 -17 -22 -24 -23 -23 -23 -22 -23 -24 -23 -23 -24 -23 -25 -26 -28 -28 -26 -24 -24 -24 -24 -24 -24 -24 -24 -26 -28 -29 -28 -27 -25 -21 -19 -18 -20 -25 -29 -30 -29 -30 -29 -28 -27 -26 -25 -25 -25 -25 -26 -28 -29 -29 -28 -26 -25 -23 -22 -21 -22 -23 -23 -23 -23 -20 -21 -24 -26 -26 -27 -27 -27 -27 -25 -25 -25 -25 -25 -25 -23 -23 -24 -24 -22 -22 -24 -28 -27 -25 -21 -19 -20 -26 -29 -27 -24 -24 -25 -25 -24 -26 -27 -29 -29 -27 -26 -23 -26 -29 -29 -24 -22 -21 -21 -19 -19 -20 -19 -18 -9 -7 -4 -0 1 -1 -3 -6 -7 -8 -7 -6 -3 -1 -0 1 2 2 0 -3 -6 -8 -10 -8 -5 -2 -0 -3 -6 -7 -7 -5 -4 -3 -3 -3 -4 -3 -2 -2 -1 -2 -3 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -5 -6 -7 -8 -8 -8 -7 -7 -9 -9 -6 -2 -1 -1 -3 -5 -6 -5 -4 -3 -2 -4 -6 -8 -9 -7 -3 -1 1 2 2 1 1 0 0 0 3 4 3 0 -1 -2 -3 -5 -8 -12 -13 -12 -8 -3 -4 -6 -9 -9 -10 -12 -15 -17 -18 -18 -17 -17 -17 -16 -12 -6 -4 -6 -7 -4 -3 -4 -8 -10 -9 -6 -2 1 -1 -4 -7 -9 -10 -11 -12 -11 -7 1 6 5 2 -4 -7 -9 -10 -12 -13 -14 -15 -16 -16 -15 -15 -17 -20 -19 -8 2 4 -3 -12 -20 -22 -19 -14 -10 -12 -14 -16 -15 -9 -2 2 2 -1 -4 -5 -4 -4 -5 -6 -6 -7 -10 -12 -10 -4 6 17 20 17 14 12 10 7 5 3 1 1 -2 -6 -11 -13 -14 -13 -13 -12 -12 -13 -14 -14 -12 -8 -6 -8 -12 -15 -15 -13 -11 -12 -15 -18 -19 -17 -13 -10 -11 -13 -13 -11 -9 -10 -12 -14 -15 -16 -18 -19 -19 -18 -16 -15 -14 -13 -14 -15 -14 -13 -13 -14 -13 -13 -14 -15 -15 -14 -14 -13 -11 -11 -13 -15 -16 -17 -19 -21 -22 -21 -19 -19 -20 -21 -24 -25 -23 -20 -20 -22 -21 -20 -19 -19 -20 -21 -21 -18 -13 -8 -11 -17 -24 -25 -21 -20 -20 -20 -19 -21 -21 -22 -22 -22 -23 -25 -27 -27 -26 -24 -22 -22 -22 -24 -24 -25 -25 -27 -30 -31 -30 -29 -26 -23 -21 -20 -23 -26 -29 -31 -30 -30 -29 -28 -27 -26 -24 -24 -24 -24 -27 -28 -28 -28 -27 -26 -23 -22 -22 -23 -24 -25 -25 -25 -22 -20 -22 -24 -26 -26 -27 -27 -27 -26 -25 -26 -25 -24 -24 -25 -24 -24 -24 -25 -23 -21 -22 -27 -27 -25 -22 -19 -19 -25 -28 -28 -25 -23 -24 -24 -24 -25 -26 -27 -27 -26 -25 -23 -25 -28 -30 -27 -23 -20 -19 -18 -18 -19 -19 -18 -8 -3 3 3 -2 -5 -7 -8 -8 -6 -2 2 5 4 3 2 1 0 -3 -6 -10 -12 -13 -9 -5 -3 -3 -5 -7 -7 -6 -5 -5 -4 -2 -1 -1 -1 -1 -0 -0 -0 -1 -3 -4 -5 -3 -3 -4 -5 -5 -4 -3 -4 -5 -6 -7 -7 -7 -8 -9 -11 -11 -7 -2 1 0 -2 -4 -5 -4 -5 -5 -5 -5 -7 -8 -9 -8 -5 -2 0 1 1 2 2 1 1 0 1 2 2 1 -1 -2 -2 -3 -6 -10 -14 -15 -11 -5 -3 -5 -7 -9 -10 -12 -14 -17 -18 -17 -16 -16 -17 -17 -16 -10 -5 -5 -8 -7 -5 -4 -5 -8 -9 -8 -5 -2 -1 -3 -6 -8 -9 -10 -10 -11 -10 -6 -0 3 3 1 -4 -7 -10 -11 -12 -13 -14 -16 -17 -17 -16 -16 -18 -20 -17 -6 2 4 -4 -15 -21 -21 -17 -12 -9 -10 -12 -15 -17 -11 -3 4 4 -1 -3 -4 -3 -4 -5 -5 -6 -7 -8 -10 -9 -4 7 15 15 13 11 10 10 8 5 2 1 -1 -5 -9 -13 -14 -14 -14 -13 -13 -14 -15 -15 -13 -9 -5 -5 -8 -13 -15 -13 -11 -11 -13 -15 -17 -17 -15 -11 -11 -13 -13 -12 -10 -10 -10 -12 -14 -16 -17 -19 -19 -19 -17 -16 -15 -14 -14 -15 -14 -14 -13 -12 -13 -14 -15 -14 -14 -14 -15 -14 -10 -10 -12 -14 -16 -17 -19 -21 -21 -21 -20 -18 -18 -19 -21 -23 -22 -20 -19 -21 -21 -21 -19 -19 -20 -21 -22 -20 -14 -8 -10 -16 -24 -25 -20 -19 -19 -20 -20 -21 -21 -21 -22 -21 -22 -24 -25 -26 -25 -24 -23 -21 -21 -22 -24 -25 -27 -29 -31 -33 -35 -33 -29 -25 -22 -22 -24 -27 -29 -31 -30 -30 -29 -28 -26 -25 -25 -24 -24 -25 -28 -28 -28 -27 -27 -25 -23 -21 -21 -24 -24 -26 -27 -27 -23 -21 -22 -24 -25 -26 -27 -26 -26 -26 -26 -26 -26 -24 -24 -25 -25 -25 -25 -25 -22 -21 -21 -25 -27 -25 -22 -20 -18 -24 -28 -29 -26 -23 -23 -23 -23 -24 -24 -25 -25 -24 -24 -23 -24 -26 -29 -27 -24 -20 -18 -16 -17 -18 -18 -18 -2 3 3 -3 -6 -7 -7 -5 -1 2 3 4 3 2 1 -0 -1 -2 -4 -7 -10 -12 -13 -9 -6 -5 -6 -8 -9 -7 -6 -6 -7 -7 -5 -2 -0 0 1 1 0 1 0 -1 -3 -4 -4 -4 -5 -6 -6 -5 -4 -4 -4 -6 -6 -7 -7 -8 -11 -12 -11 -7 -1 2 1 -1 -3 -3 -3 -4 -6 -7 -7 -7 -8 -9 -9 -7 -3 -1 0 1 2 2 3 5 5 3 1 1 0 -1 -2 -2 -2 -3 -8 -14 -17 -15 -8 -3 -3 -6 -8 -9 -11 -13 -16 -18 -16 -15 -14 -15 -17 -17 -14 -8 -4 -5 -7 -7 -5 -4 -5 -7 -8 -7 -6 -4 -3 -5 -7 -9 -9 -9 -10 -10 -9 -6 -2 1 2 -1 -5 -8 -10 -11 -11 -13 -15 -18 -19 -17 -16 -15 -17 -18 -12 -4 3 2 -9 -17 -20 -19 -15 -11 -10 -10 -12 -16 -17 -13 -5 2 -1 -4 -5 -4 -3 -3 -3 -4 -5 -6 -8 -10 -10 -5 4 9 10 9 9 10 9 7 4 3 2 -2 -6 -10 -12 -13 -13 -14 -15 -15 -16 -16 -14 -11 -6 -3 -3 -9 -14 -14 -12 -11 -11 -11 -13 -14 -14 -11 -11 -12 -13 -13 -11 -10 -10 -11 -13 -15 -17 -18 -19 -20 -19 -17 -16 -15 -14 -15 -14 -13 -12 -12 -13 -15 -15 -13 -13 -14 -14 -14 -12 -10 -11 -13 -15 -17 -18 -20 -21 -21 -20 -18 -17 -18 -21 -23 -21 -19 -18 -21 -21 -21 -20 -18 -19 -21 -22 -21 -16 -10 -8 -13 -20 -22 -19 -19 -20 -21 -22 -22 -21 -21 -22 -21 -20 -21 -22 -23 -25 -26 -26 -23 -20 -21 -22 -24 -27 -29 -30 -33 -37 -37 -33 -29 -25 -24 -23 -25 -29 -31 -30 -30 -29 -27 -25 -24 -24 -24 -24 -25 -27 -28 -27 -26 -27 -25 -23 -22 -21 -24 -24 -25 -27 -27 -24 -22 -22 -24 -24 -26 -26 -26 -25 -26 -26 -27 -26 -25 -25 -25 -26 -25 -26 -24 -22 -20 -20 -23 -26 -26 -23 -21 -19 -23 -28 -31 -27 -24 -23 -23 -23 -23 -24 -24 -23 -23 -23 -23 -23 -25 -28 -27 -25 -22 -18 -16 -17 -18 -18 -19 2 2 -2 -6 -7 -5 -1 2 4 4 2 1 -0 -1 -2 -3 -4 -4 -4 -6 -8 -9 -10 -7 -6 -7 -9 -9 -8 -6 -6 -6 -8 -8 -8 -7 -4 -1 0 1 0 1 1 1 1 -1 -3 -4 -5 -6 -7 -6 -5 -4 -4 -5 -6 -6 -7 -9 -11 -12 -10 -6 -1 1 0 -1 -2 -2 -1 -3 -6 -9 -10 -9 -8 -9 -10 -9 -7 -3 -0 2 2 2 4 7 8 6 4 2 -1 -3 -3 -2 -1 -1 -5 -11 -16 -17 -12 -5 -2 -3 -6 -8 -10 -13 -15 -17 -16 -13 -12 -13 -17 -18 -16 -12 -6 -3 -5 -7 -7 -5 -4 -5 -7 -8 -9 -7 -5 -4 -5 -8 -10 -10 -9 -9 -8 -8 -7 -4 -0 -1 -3 -6 -9 -10 -11 -12 -15 -18 -20 -19 -16 -14 -14 -16 -15 -10 -4 -0 -5 -11 -15 -17 -15 -12 -11 -10 -10 -13 -17 -17 -13 -4 -1 -3 -5 -5 -2 -0 -1 -3 -7 -7 -6 -7 -10 -11 -7 0 5 8 8 8 8 8 7 7 6 3 -1 -6 -8 -10 -12 -14 -16 -18 -18 -17 -15 -12 -8 -3 -1 -3 -10 -13 -12 -11 -10 -8 -7 -9 -11 -10 -9 -10 -12 -14 -12 -10 -10 -11 -13 -15 -16 -18 -20 -21 -20 -19 -18 -16 -15 -15 -15 -13 -11 -11 -13 -15 -15 -12 -12 -13 -14 -15 -14 -12 -11 -11 -13 -14 -16 -18 -20 -21 -20 -18 -17 -18 -21 -22 -21 -19 -18 -20 -21 -21 -20 -19 -19 -20 -22 -22 -19 -12 -8 -10 -15 -17 -18 -19 -21 -23 -22 -21 -21 -22 -21 -21 -20 -19 -20 -21 -24 -27 -29 -27 -22 -21 -22 -23 -25 -26 -29 -33 -37 -38 -38 -35 -30 -25 -22 -24 -28 -30 -30 -30 -29 -27 -25 -25 -24 -23 -23 -26 -26 -27 -26 -26 -27 -26 -25 -23 -22 -23 -24 -25 -27 -26 -25 -23 -22 -23 -23 -25 -25 -25 -24 -26 -26 -26 -26 -26 -25 -25 -25 -24 -25 -24 -22 -21 -20 -22 -26 -26 -23 -22 -20 -21 -26 -31 -28 -25 -23 -22 -22 -23 -23 -23 -23 -22 -22 -23 -23 -23 -26 -27 -26 -24 -20 -18 -18 -18 -18 -18 0 -3 -6 -6 -3 1 4 5 4 1 -1 -3 -3 -3 -4 -4 -5 -4 -4 -4 -4 -4 -4 -4 -5 -7 -9 -7 -5 -4 -5 -6 -6 -7 -7 -8 -7 -5 -3 -1 -0 -1 1 2 3 3 0 -1 -3 -4 -5 -6 -6 -5 -4 -5 -6 -7 -7 -7 -9 -9 -8 -6 -4 -1 -1 -1 -1 -2 -2 -2 -4 -6 -9 -10 -10 -9 -10 -11 -9 -5 -1 1 1 1 2 4 8 9 8 6 1 -3 -4 -3 -1 -1 -3 -8 -13 -17 -16 -9 -4 -3 -4 -7 -10 -12 -13 -15 -16 -14 -12 -11 -13 -16 -17 -15 -10 -4 -3 -5 -7 -7 -5 -5 -5 -7 -9 -8 -7 -5 -5 -8 -11 -12 -10 -8 -6 -7 -8 -7 -4 -2 -3 -5 -7 -9 -10 -12 -14 -17 -19 -20 -18 -15 -12 -13 -14 -14 -12 -8 -7 -8 -10 -13 -14 -13 -12 -11 -10 -11 -14 -17 -17 -13 -5 -3 -4 -6 -5 -1 1 -1 -5 -8 -9 -8 -8 -10 -11 -7 -1 6 9 8 7 7 7 7 8 7 4 -1 -4 -7 -10 -14 -18 -20 -21 -19 -16 -13 -11 -7 -3 0 -4 -9 -10 -9 -8 -7 -5 -5 -7 -9 -9 -10 -12 -14 -14 -12 -10 -10 -13 -15 -17 -18 -20 -21 -20 -19 -18 -17 -16 -15 -15 -13 -10 -9 -12 -14 -15 -13 -13 -13 -14 -16 -16 -13 -11 -9 -10 -12 -15 -17 -19 -20 -19 -18 -17 -18 -21 -22 -21 -19 -18 -20 -20 -20 -20 -20 -19 -20 -21 -23 -20 -15 -11 -10 -11 -13 -16 -19 -23 -24 -22 -22 -23 -23 -22 -21 -20 -19 -20 -21 -24 -27 -30 -29 -26 -24 -23 -25 -24 -25 -28 -33 -36 -38 -39 -37 -32 -27 -25 -25 -27 -29 -30 -30 -29 -28 -25 -26 -25 -24 -23 -25 -26 -27 -27 -27 -27 -27 -26 -25 -23 -23 -24 -25 -26 -25 -25 -24 -23 -23 -21 -23 -24 -24 -23 -24 -25 -26 -25 -25 -25 -24 -23 -23 -24 -23 -22 -21 -20 -22 -25 -26 -24 -23 -21 -20 -24 -30 -29 -25 -23 -22 -22 -23 -23 -23 -22 -22 -22 -22 -22 -22 -25 -27 -28 -26 -22 -19 -19 -19 -20 -19 -3 -4 -4 -0 3 5 5 3 1 -2 -4 -5 -5 -6 -5 -5 -5 -4 -3 -2 -2 -1 0 -1 -3 -5 -6 -4 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -3 -2 -0 1 3 3 2 -0 -2 -4 -5 -7 -6 -5 -5 -7 -7 -7 -6 -5 -5 -6 -7 -7 -5 -2 -1 -0 -1 -3 -3 -4 -5 -8 -11 -11 -10 -9 -9 -9 -7 -4 1 1 -1 -2 -2 2 8 12 11 6 1 -2 -2 -2 -1 -2 -4 -9 -15 -17 -13 -7 -4 -3 -6 -9 -11 -12 -13 -14 -14 -13 -12 -12 -13 -15 -15 -12 -7 -4 -3 -5 -7 -8 -7 -7 -7 -8 -8 -7 -6 -6 -8 -12 -14 -12 -8 -4 -4 -6 -9 -8 -4 -2 -3 -5 -8 -10 -11 -13 -15 -18 -21 -20 -16 -12 -11 -12 -14 -15 -16 -14 -11 -9 -9 -11 -12 -12 -12 -11 -10 -12 -15 -17 -17 -12 -7 -4 -5 -7 -4 -0 3 0 -6 -9 -10 -9 -9 -10 -9 -5 2 10 13 10 5 1 2 5 8 8 6 1 -3 -7 -11 -16 -21 -23 -23 -19 -15 -14 -12 -8 -2 0 -2 -5 -6 -7 -9 -9 -8 -7 -8 -9 -9 -10 -13 -14 -13 -11 -10 -12 -15 -17 -19 -21 -21 -20 -18 -18 -17 -16 -16 -15 -14 -10 -9 -11 -14 -15 -14 -14 -13 -14 -15 -15 -14 -11 -9 -9 -13 -16 -17 -18 -20 -19 -18 -17 -18 -20 -21 -21 -19 -18 -20 -21 -21 -21 -20 -19 -20 -21 -22 -21 -18 -14 -9 -7 -10 -14 -19 -24 -25 -24 -24 -24 -24 -23 -22 -21 -19 -19 -20 -22 -25 -28 -30 -29 -27 -27 -28 -25 -25 -28 -32 -34 -37 -38 -36 -32 -27 -25 -25 -25 -27 -27 -29 -30 -30 -27 -27 -26 -25 -24 -24 -25 -26 -27 -27 -27 -27 -27 -26 -24 -23 -24 -25 -25 -24 -24 -24 -24 -23 -20 -20 -22 -23 -22 -23 -24 -25 -25 -25 -24 -23 -23 -22 -23 -23 -22 -21 -21 -22 -24 -26 -26 -24 -21 -19 -21 -28 -29 -27 -24 -22 -21 -22 -23 -23 -22 -23 -23 -23 -21 -22 -25 -27 -29 -28 -23 -21 -20 -20 -21 -20 -3 -1 2 5 5 3 1 -1 -2 -3 -4 -5 -7 -9 -8 -6 -4 -4 -3 -4 -4 -4 -4 -5 -6 -6 -5 -4 -5 -6 -7 -6 -5 -4 -3 -2 -2 -3 -4 -4 -4 -4 -3 -2 -0 1 2 2 1 -1 -3 -5 -6 -7 -6 -6 -7 -8 -7 -5 -4 -3 -5 -7 -9 -8 -4 -1 1 -0 -2 -3 -3 -4 -6 -9 -11 -11 -9 -7 -7 -7 -5 -1 2 0 -3 -6 -5 3 10 13 10 5 1 -1 -2 -2 -1 -2 -6 -11 -16 -15 -11 -6 -4 -5 -7 -10 -12 -13 -13 -14 -14 -14 -13 -13 -13 -13 -12 -9 -6 -4 -3 -5 -7 -8 -8 -8 -8 -8 -7 -7 -6 -7 -12 -15 -15 -11 -4 -1 -3 -6 -8 -6 -3 -1 -3 -7 -10 -11 -12 -13 -16 -20 -21 -19 -14 -11 -11 -13 -15 -18 -19 -16 -11 -7 -7 -9 -11 -12 -12 -11 -11 -13 -16 -18 -17 -12 -8 -6 -9 -8 -4 3 6 0 -5 -9 -11 -11 -12 -12 -10 -6 2 9 11 9 3 -1 0 4 9 10 7 4 -1 -6 -13 -19 -23 -24 -21 -17 -15 -15 -14 -10 -2 -1 -2 -4 -8 -11 -12 -10 -6 -6 -6 -7 -8 -11 -14 -14 -12 -10 -11 -13 -16 -18 -20 -21 -20 -18 -18 -17 -16 -16 -16 -15 -12 -10 -11 -13 -14 -14 -14 -14 -14 -15 -16 -15 -13 -10 -9 -11 -14 -17 -19 -21 -20 -19 -17 -17 -19 -21 -21 -20 -19 -20 -22 -23 -23 -21 -20 -20 -21 -22 -22 -20 -15 -9 -3 -7 -13 -19 -25 -26 -26 -26 -26 -25 -24 -23 -22 -20 -19 -19 -20 -23 -25 -29 -30 -30 -30 -31 -27 -27 -29 -32 -33 -35 -37 -36 -32 -27 -24 -22 -22 -24 -25 -27 -29 -30 -29 -28 -27 -27 -26 -24 -25 -26 -26 -27 -27 -27 -26 -25 -24 -24 -24 -24 -24 -24 -25 -25 -25 -22 -19 -19 -20 -21 -22 -23 -24 -25 -25 -25 -24 -23 -23 -21 -21 -21 -21 -21 -22 -22 -24 -26 -27 -25 -22 -19 -19 -26 -29 -28 -25 -23 -21 -21 -22 -23 -22 -23 -25 -24 -22 -22 -24 -27 -29 -29 -24 -21 -21 -20 -21 -20 0 4 5 4 2 -0 -2 -3 -3 -4 -5 -6 -7 -9 -8 -8 -7 -6 -4 -2 -1 -2 -5 -6 -5 -4 -4 -6 -7 -8 -8 -8 -5 -3 -2 -1 -1 -1 -2 -3 -4 -4 -4 -4 -3 -2 -0 1 1 0 -2 -4 -5 -6 -6 -6 -7 -7 -7 -6 -4 -3 -4 -6 -7 -8 -6 -3 0 1 -1 -2 -3 -3 -4 -7 -10 -11 -10 -6 -5 -5 -5 -3 1 1 -2 -6 -9 -3 5 12 14 9 4 0 -2 -2 -2 -2 -3 -7 -12 -14 -12 -9 -6 -5 -7 -10 -13 -13 -12 -13 -14 -14 -13 -13 -12 -12 -11 -10 -8 -5 -3 -3 -5 -7 -8 -9 -9 -9 -9 -8 -7 -7 -10 -13 -16 -15 -9 -2 0 -2 -7 -7 -4 -1 -2 -5 -9 -11 -12 -12 -14 -18 -21 -20 -16 -12 -10 -11 -13 -15 -17 -17 -15 -10 -6 -6 -8 -11 -13 -13 -12 -13 -15 -18 -19 -18 -14 -10 -10 -11 -8 -2 5 4 -1 -7 -11 -12 -13 -12 -12 -11 -7 -0 6 8 5 -0 -3 -3 1 6 9 9 6 0 -6 -13 -18 -22 -22 -18 -15 -15 -18 -19 -12 -6 -4 -4 -8 -11 -11 -10 -9 -6 -5 -5 -7 -9 -13 -15 -14 -12 -11 -13 -15 -18 -20 -21 -21 -19 -18 -17 -16 -16 -16 -16 -14 -11 -11 -12 -14 -14 -14 -14 -14 -15 -17 -17 -15 -11 -8 -8 -11 -15 -18 -21 -21 -20 -18 -17 -19 -21 -22 -20 -19 -20 -22 -24 -23 -22 -20 -20 -20 -22 -22 -21 -17 -11 -5 -7 -13 -19 -24 -27 -28 -28 -27 -26 -24 -23 -23 -21 -18 -18 -19 -21 -24 -29 -30 -29 -29 -30 -28 -28 -30 -32 -32 -33 -35 -35 -33 -28 -24 -20 -18 -21 -24 -28 -31 -32 -31 -30 -28 -27 -27 -25 -25 -25 -24 -25 -26 -26 -26 -25 -24 -24 -24 -24 -24 -24 -25 -26 -25 -21 -20 -20 -20 -20 -21 -23 -25 -25 -24 -24 -24 -24 -23 -21 -20 -20 -20 -21 -22 -23 -24 -25 -28 -25 -23 -21 -19 -24 -29 -30 -27 -23 -20 -20 -21 -22 -22 -24 -25 -25 -23 -22 -24 -27 -30 -30 -25 -22 -21 -21 -20 -20 4 4 2 -1 -1 -2 -3 -3 -4 -4 -4 -6 -8 -10 -10 -7 -3 -0 2 1 -1 -3 -6 -6 -5 -5 -5 -7 -9 -9 -8 -6 -5 -3 -2 -2 -1 -1 -1 -1 -2 -3 -4 -4 -5 -5 -3 -2 -0 0 -0 -2 -4 -5 -5 -5 -6 -7 -7 -6 -5 -4 -4 -4 -5 -6 -6 -4 -1 1 0 -2 -3 -3 -3 -5 -8 -10 -10 -7 -5 -4 -4 -4 -1 1 0 -3 -7 -6 -0 8 15 13 8 3 -1 -2 -2 -2 -2 -3 -7 -11 -12 -11 -9 -6 -7 -9 -13 -14 -13 -13 -13 -13 -12 -12 -12 -12 -11 -10 -9 -7 -5 -3 -3 -5 -8 -9 -10 -10 -11 -12 -10 -8 -8 -10 -13 -16 -14 -7 -1 1 -3 -6 -6 -3 -1 -3 -7 -10 -12 -11 -13 -16 -19 -20 -18 -13 -10 -10 -12 -13 -14 -16 -17 -16 -10 -6 -5 -8 -12 -13 -13 -14 -15 -17 -19 -20 -19 -15 -11 -11 -11 -10 -2 2 0 -5 -9 -11 -11 -11 -11 -12 -12 -8 -3 3 5 3 -1 -5 -6 -3 2 6 7 3 -1 -5 -11 -17 -21 -19 -15 -13 -17 -23 -20 -12 -5 -3 -6 -9 -10 -11 -11 -10 -7 -6 -6 -8 -11 -14 -15 -14 -13 -12 -13 -16 -20 -22 -22 -21 -20 -19 -17 -16 -15 -15 -14 -11 -10 -11 -12 -14 -15 -15 -15 -15 -17 -18 -17 -13 -9 -8 -10 -13 -17 -20 -21 -21 -19 -18 -19 -21 -22 -21 -19 -20 -22 -23 -23 -22 -21 -20 -20 -22 -22 -20 -17 -14 -9 -8 -11 -17 -24 -28 -29 -29 -28 -26 -24 -24 -23 -21 -18 -18 -19 -21 -24 -29 -31 -31 -29 -30 -30 -30 -30 -31 -31 -31 -32 -33 -31 -28 -24 -20 -18 -19 -23 -28 -32 -33 -32 -31 -30 -28 -26 -26 -25 -24 -23 -25 -26 -27 -26 -26 -24 -23 -23 -24 -24 -24 -25 -25 -24 -22 -21 -21 -20 -20 -20 -23 -24 -24 -22 -22 -23 -23 -23 -20 -19 -19 -20 -20 -22 -23 -24 -25 -27 -26 -24 -23 -19 -23 -27 -29 -28 -24 -20 -18 -20 -22 -22 -23 -24 -25 -23 -21 -23 -26 -29 -30 -26 -23 -21 -21 -20 -20 2 -0 -2 -2 -2 -2 -3 -4 -5 -5 -5 -6 -7 -9 -7 -4 -1 1 -0 -3 -5 -6 -6 -4 -4 -5 -6 -7 -8 -8 -6 -4 -3 -3 -3 -2 -1 0 0 0 0 -1 -2 -4 -5 -6 -6 -4 -3 -1 1 -0 -3 -4 -5 -5 -6 -6 -7 -7 -6 -5 -3 -2 -3 -4 -5 -5 -3 -0 1 -0 -2 -4 -4 -4 -6 -8 -11 -10 -7 -4 -2 -3 -3 -1 1 1 -3 -6 -4 2 11 14 11 6 1 -2 -2 -2 -2 -2 -4 -8 -10 -11 -10 -9 -8 -9 -13 -16 -16 -14 -12 -11 -10 -10 -11 -12 -11 -10 -10 -9 -8 -5 -3 -5 -7 -9 -10 -11 -13 -14 -14 -11 -8 -7 -9 -15 -18 -13 -5 2 1 -4 -7 -6 -2 -1 -4 -8 -11 -11 -11 -13 -17 -20 -20 -15 -11 -9 -11 -13 -13 -13 -15 -16 -15 -11 -7 -7 -9 -12 -13 -15 -15 -16 -18 -21 -21 -20 -14 -12 -12 -14 -12 -5 -2 -3 -7 -7 -8 -8 -8 -8 -11 -11 -9 -5 1 2 0 -4 -7 -8 -6 -3 0 1 -0 -2 -6 -11 -16 -17 -15 -12 -12 -17 -17 -14 -9 -5 -5 -7 -9 -10 -11 -11 -10 -9 -7 -7 -9 -13 -15 -16 -13 -11 -11 -15 -19 -23 -25 -25 -24 -21 -18 -16 -15 -15 -14 -12 -10 -9 -10 -13 -15 -17 -17 -16 -17 -19 -18 -15 -11 -9 -10 -13 -16 -19 -21 -21 -19 -18 -19 -20 -21 -21 -19 -20 -21 -23 -23 -22 -21 -20 -20 -20 -20 -19 -18 -16 -13 -10 -10 -14 -21 -27 -28 -28 -28 -26 -25 -24 -24 -21 -19 -18 -19 -20 -23 -28 -32 -33 -31 -31 -31 -31 -29 -29 -29 -29 -29 -28 -27 -27 -26 -23 -22 -20 -22 -27 -31 -31 -32 -32 -31 -28 -26 -25 -25 -24 -25 -25 -26 -27 -27 -26 -25 -24 -23 -24 -23 -24 -24 -24 -23 -23 -22 -21 -21 -21 -20 -22 -23 -22 -20 -21 -22 -22 -22 -20 -19 -19 -19 -20 -21 -23 -24 -25 -26 -26 -25 -24 -20 -21 -25 -28 -28 -25 -20 -18 -19 -22 -22 -22 -22 -23 -22 -21 -22 -25 -27 -28 -25 -22 -21 -20 -20 -21 -2 -3 -4 -3 -3 -2 -3 -3 -3 -4 -5 -6 -7 -7 -6 -3 -2 -3 -5 -8 -9 -8 -6 -3 -3 -4 -6 -7 -7 -5 -4 -2 -3 -4 -4 -3 -1 1 1 1 2 2 0 -2 -5 -7 -8 -7 -5 -2 -1 -1 -3 -4 -5 -5 -6 -6 -7 -7 -6 -5 -3 -1 -1 -2 -3 -4 -5 -3 -0 0 -1 -3 -5 -4 -4 -6 -8 -10 -9 -7 -4 -2 -2 -1 2 4 2 -2 -5 -3 4 12 14 10 4 -1 -2 -2 -3 -3 -4 -5 -7 -8 -10 -10 -10 -10 -13 -17 -18 -15 -11 -8 -7 -8 -10 -12 -12 -11 -10 -10 -10 -8 -5 -4 -6 -8 -9 -11 -13 -15 -16 -15 -11 -7 -6 -10 -17 -17 -12 -3 3 -1 -5 -7 -5 -1 -2 -5 -9 -11 -10 -12 -15 -19 -21 -17 -12 -9 -10 -13 -13 -12 -12 -14 -15 -14 -11 -8 -7 -10 -12 -14 -15 -16 -19 -21 -22 -23 -21 -16 -13 -13 -16 -13 -8 -3 -2 -5 -8 -9 -7 -6 -8 -9 -10 -9 -6 -3 -1 -2 -5 -9 -10 -9 -8 -7 -6 -5 -5 -6 -9 -13 -14 -14 -11 -12 -14 -15 -14 -9 -4 -4 -6 -9 -10 -10 -10 -9 -7 -7 -9 -12 -15 -16 -12 -9 -9 -13 -19 -25 -29 -29 -25 -20 -17 -16 -16 -16 -15 -13 -11 -10 -10 -12 -16 -18 -18 -17 -18 -19 -19 -17 -13 -11 -11 -13 -16 -19 -21 -21 -19 -18 -19 -20 -21 -21 -20 -20 -22 -23 -23 -22 -21 -20 -19 -18 -19 -19 -19 -18 -15 -12 -11 -12 -18 -24 -27 -27 -27 -24 -23 -23 -23 -20 -19 -18 -18 -19 -21 -26 -31 -35 -32 -32 -31 -29 -27 -28 -28 -28 -27 -26 -25 -27 -28 -27 -25 -22 -23 -25 -28 -28 -31 -34 -33 -28 -27 -26 -26 -26 -26 -26 -27 -27 -27 -26 -26 -25 -25 -24 -23 -23 -23 -22 -22 -22 -22 -22 -21 -22 -21 -21 -21 -21 -20 -20 -21 -21 -20 -20 -19 -19 -19 -20 -22 -23 -24 -25 -26 -26 -25 -24 -21 -21 -24 -27 -27 -25 -21 -18 -18 -20 -21 -21 -21 -22 -21 -21 -21 -23 -25 -25 -24 -21 -20 -19 -19 -20 -5 -5 -4 -3 -2 -2 -2 -2 -2 -3 -5 -6 -7 -6 -4 -4 -4 -6 -8 -9 -9 -8 -6 -4 -4 -5 -7 -7 -6 -3 -2 -1 -3 -4 -4 -3 -1 1 1 1 2 3 2 0 -3 -5 -8 -8 -6 -4 -2 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -4 -2 -1 -0 -0 -1 -3 -5 -5 -3 -1 -0 -2 -4 -5 -5 -5 -6 -9 -10 -9 -6 -2 -0 1 2 4 5 2 -2 -4 -2 6 12 12 8 3 0 -1 -3 -5 -6 -5 -5 -6 -8 -10 -11 -11 -12 -16 -19 -17 -13 -8 -5 -6 -9 -11 -12 -11 -10 -10 -10 -10 -7 -5 -4 -6 -9 -11 -12 -13 -15 -15 -13 -9 -5 -6 -13 -17 -17 -11 -2 0 -3 -7 -8 -4 -1 -2 -6 -9 -9 -10 -13 -17 -21 -19 -14 -10 -8 -11 -13 -13 -12 -11 -13 -14 -13 -11 -8 -8 -10 -13 -15 -16 -19 -22 -23 -24 -23 -19 -14 -9 -11 -14 -13 -9 -3 -4 -8 -9 -9 -8 -7 -7 -8 -10 -11 -8 -4 -2 -2 -6 -9 -11 -12 -13 -13 -11 -9 -7 -5 -8 -11 -13 -11 -9 -11 -15 -16 -13 -7 -4 -4 -6 -9 -10 -10 -9 -8 -8 -9 -11 -14 -16 -13 -9 -8 -11 -18 -27 -31 -30 -22 -17 -17 -17 -17 -16 -15 -14 -13 -12 -11 -12 -15 -17 -16 -17 -19 -19 -19 -17 -15 -13 -12 -13 -15 -18 -20 -21 -19 -19 -19 -20 -21 -20 -21 -21 -21 -22 -22 -22 -21 -19 -18 -17 -18 -19 -20 -19 -17 -15 -12 -10 -14 -21 -25 -25 -24 -22 -23 -23 -23 -20 -19 -18 -18 -18 -19 -23 -29 -35 -33 -31 -28 -26 -25 -27 -27 -26 -26 -26 -23 -24 -26 -26 -25 -24 -24 -24 -25 -27 -31 -35 -34 -29 -28 -28 -27 -27 -27 -27 -27 -27 -27 -26 -26 -26 -25 -24 -24 -23 -22 -21 -21 -21 -21 -22 -22 -22 -20 -20 -20 -20 -19 -19 -19 -20 -19 -19 -19 -19 -19 -20 -21 -23 -24 -24 -26 -26 -25 -24 -23 -22 -23 -26 -27 -25 -22 -19 -17 -19 -20 -21 -22 -21 -21 -21 -21 -20 -22 -23 -23 -21 -19 -19 -19 -20 -5 -5 -4 -3 -2 -1 -1 -1 -1 -3 -5 -6 -6 -4 -2 -3 -5 -7 -8 -8 -8 -7 -6 -5 -5 -6 -7 -8 -4 -2 -1 -1 -2 -2 -2 -1 0 1 1 1 2 3 2 0 -1 -3 -5 -7 -6 -4 -3 -4 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 -1 -2 -4 -5 -6 -4 -3 -2 -3 -5 -5 -5 -6 -8 -10 -10 -8 -3 0 1 2 3 4 4 2 -1 -4 0 7 11 11 6 3 1 -2 -4 -7 -8 -7 -5 -3 -6 -9 -11 -12 -13 -17 -18 -15 -10 -5 -5 -7 -10 -11 -11 -10 -9 -9 -10 -8 -6 -5 -6 -9 -10 -11 -11 -12 -14 -15 -14 -10 -6 -9 -14 -17 -16 -9 -2 -1 -5 -10 -7 -3 -1 -3 -6 -7 -9 -12 -16 -20 -21 -17 -11 -7 -9 -13 -15 -14 -10 -10 -12 -13 -13 -10 -8 -9 -12 -14 -15 -18 -21 -23 -24 -24 -22 -18 -13 -10 -12 -14 -13 -8 -6 -6 -7 -7 -6 -5 -5 -7 -8 -10 -9 -7 -4 -1 -3 -6 -9 -11 -14 -16 -17 -16 -12 -7 -7 -9 -11 -10 -8 -9 -13 -17 -17 -11 -6 -3 -4 -8 -10 -11 -11 -11 -10 -10 -12 -14 -16 -13 -10 -9 -10 -17 -25 -29 -26 -18 -16 -17 -17 -17 -16 -15 -15 -14 -12 -11 -12 -13 -16 -16 -17 -18 -18 -17 -17 -15 -14 -13 -13 -15 -17 -19 -20 -20 -20 -20 -21 -21 -21 -22 -21 -21 -22 -22 -21 -19 -17 -14 -14 -16 -19 -21 -20 -19 -17 -15 -9 -11 -17 -22 -24 -23 -23 -24 -24 -23 -21 -20 -19 -19 -19 -19 -21 -26 -33 -31 -29 -26 -24 -24 -25 -25 -24 -24 -25 -24 -24 -24 -24 -22 -25 -26 -24 -24 -27 -31 -34 -34 -31 -29 -29 -28 -28 -27 -27 -27 -26 -26 -26 -26 -26 -26 -24 -24 -23 -22 -21 -21 -20 -20 -21 -21 -21 -20 -19 -20 -20 -19 -19 -18 -19 -19 -18 -18 -19 -19 -20 -20 -22 -23 -23 -24 -25 -25 -24 -24 -23 -22 -25 -27 -25 -22 -19 -17 -18 -19 -21 -23 -22 -21 -22 -21 -19 -20 -22 -22 -20 -19 -19 -20 -21 -5 -4 -3 -3 -2 -1 0 0 -1 -3 -5 -5 -4 -2 -1 -3 -5 -7 -7 -7 -6 -5 -3 -3 -3 -4 -5 -5 -3 -1 -1 -2 -3 -2 -1 0 1 1 1 2 2 3 2 0 -1 -2 -3 -4 -5 -5 -4 -5 -6 -7 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -2 -1 -1 -2 -3 -4 -6 -6 -5 -3 -2 -4 -5 -6 -6 -6 -8 -8 -8 -5 -1 1 2 2 2 4 4 2 -2 -3 1 6 9 9 5 2 -0 -3 -7 -9 -9 -7 -4 -3 -6 -9 -11 -11 -14 -16 -16 -13 -7 -5 -6 -8 -10 -11 -10 -9 -8 -9 -9 -9 -9 -8 -9 -9 -8 -8 -10 -13 -15 -16 -14 -10 -7 -9 -14 -17 -15 -8 -3 -3 -7 -9 -6 -3 -1 -3 -6 -8 -10 -13 -18 -21 -20 -15 -8 -7 -11 -15 -17 -13 -10 -10 -12 -14 -12 -10 -9 -10 -12 -14 -17 -20 -23 -24 -24 -23 -21 -17 -13 -13 -15 -16 -14 -10 -9 -8 -7 -5 -3 -3 -5 -6 -8 -9 -9 -7 -4 -3 -5 -7 -10 -13 -17 -20 -21 -18 -13 -10 -8 -9 -9 -8 -9 -12 -16 -19 -16 -11 -5 -4 -6 -9 -11 -12 -11 -9 -9 -11 -13 -13 -13 -11 -9 -9 -16 -23 -26 -24 -17 -15 -16 -17 -17 -17 -16 -15 -13 -12 -11 -11 -12 -15 -17 -17 -16 -16 -17 -17 -17 -15 -14 -13 -15 -16 -18 -20 -21 -21 -21 -21 -22 -22 -22 -22 -21 -22 -22 -20 -17 -15 -13 -13 -15 -18 -20 -20 -20 -19 -17 -10 -9 -13 -19 -23 -24 -25 -25 -25 -25 -23 -22 -21 -21 -22 -23 -23 -24 -30 -30 -28 -26 -24 -23 -23 -22 -22 -22 -24 -25 -25 -24 -23 -22 -24 -25 -25 -24 -27 -29 -30 -32 -31 -30 -29 -28 -28 -28 -27 -26 -25 -25 -25 -25 -25 -25 -24 -24 -24 -23 -23 -22 -21 -20 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -19 -19 -20 -20 -20 -21 -22 -22 -23 -24 -24 -24 -25 -24 -22 -24 -27 -26 -24 -21 -17 -17 -18 -20 -22 -22 -22 -22 -22 -19 -20 -21 -22 -20 -19 -19 -20 -21 -5 -4 -3 -2 -2 -0 1 -0 -2 -4 -5 -4 -2 -1 -1 -3 -5 -6 -6 -5 -4 -2 -1 -1 -2 -3 -3 -2 -1 -2 -3 -3 -3 -3 -2 -1 -1 0 1 1 2 2 1 -1 -2 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -5 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -4 -5 -6 -6 -4 -2 -2 -4 -5 -6 -6 -6 -7 -7 -6 -2 1 2 1 1 3 4 4 2 -2 -3 -0 4 8 6 4 1 -1 -6 -9 -10 -10 -7 -4 -4 -6 -8 -10 -11 -13 -15 -15 -11 -6 -4 -5 -8 -10 -10 -8 -7 -7 -9 -11 -12 -12 -10 -8 -6 -7 -9 -12 -14 -16 -16 -13 -9 -8 -10 -14 -16 -13 -7 -4 -4 -7 -7 -5 -3 -2 -4 -6 -8 -11 -16 -20 -21 -18 -11 -6 -8 -14 -18 -18 -12 -9 -9 -12 -13 -12 -10 -9 -9 -12 -16 -19 -21 -23 -24 -24 -22 -19 -17 -16 -16 -16 -16 -14 -12 -10 -8 -5 -3 -2 -3 -5 -7 -8 -9 -9 -7 -5 -5 -7 -9 -11 -14 -17 -20 -23 -20 -15 -11 -8 -9 -10 -11 -12 -16 -20 -19 -15 -8 -3 -4 -6 -8 -10 -11 -11 -11 -11 -12 -13 -14 -13 -11 -10 -15 -20 -24 -23 -17 -15 -16 -17 -17 -17 -16 -15 -13 -12 -11 -10 -12 -14 -15 -16 -16 -16 -17 -18 -18 -17 -14 -13 -14 -15 -18 -20 -20 -21 -21 -22 -22 -23 -23 -22 -22 -20 -20 -18 -16 -15 -14 -14 -15 -17 -19 -20 -20 -19 -19 -14 -10 -11 -15 -20 -23 -24 -24 -24 -26 -25 -26 -26 -25 -27 -29 -28 -26 -30 -31 -29 -26 -23 -22 -22 -21 -19 -18 -21 -24 -26 -26 -25 -25 -25 -25 -24 -25 -26 -26 -27 -30 -30 -29 -29 -28 -28 -28 -27 -26 -25 -26 -26 -26 -25 -25 -24 -24 -24 -24 -23 -23 -22 -21 -20 -19 -19 -20 -20 -21 -20 -20 -20 -19 -18 -19 -19 -19 -20 -20 -21 -21 -22 -23 -22 -22 -23 -23 -23 -25 -24 -23 -23 -27 -27 -26 -23 -18 -17 -18 -19 -20 -22 -23 -23 -21 -19 -20 -20 -21 -20 -19 -19 -20 -21 -6 -5 -3 -2 -1 0 0 -1 -3 -4 -3 -2 -1 -2 -3 -4 -5 -6 -5 -5 -4 -3 -3 -5 -4 -3 -1 0 -1 -3 -3 -3 -2 -3 -3 -2 -2 -1 -0 0 0 -0 -1 -2 -3 -4 -4 -4 -5 -6 -6 -5 -5 -5 -5 -5 -4 -3 -2 -2 -3 -3 -3 -3 -3 -4 -3 -3 -3 -3 -4 -5 -5 -4 -2 -2 -2 -3 -5 -5 -6 -7 -7 -6 -2 0 2 1 -0 1 3 5 4 1 -3 -4 -1 4 5 4 3 1 -4 -7 -9 -10 -10 -7 -4 -4 -6 -9 -9 -12 -15 -17 -15 -9 -4 -2 -4 -7 -8 -7 -6 -6 -8 -11 -13 -13 -11 -8 -6 -6 -8 -10 -12 -13 -14 -15 -12 -10 -9 -11 -15 -14 -11 -6 -3 -5 -7 -6 -4 -2 -2 -4 -6 -9 -13 -17 -19 -19 -16 -9 -8 -11 -16 -19 -16 -11 -7 -8 -12 -13 -12 -9 -7 -9 -13 -17 -19 -21 -23 -24 -23 -21 -19 -18 -17 -17 -16 -16 -15 -13 -10 -7 -4 -3 -3 -4 -6 -7 -9 -9 -10 -9 -9 -9 -11 -12 -13 -15 -17 -22 -23 -19 -14 -9 -9 -12 -12 -12 -14 -17 -19 -17 -12 -4 -3 -3 -5 -9 -12 -13 -12 -11 -11 -14 -16 -16 -13 -10 -13 -18 -22 -22 -17 -15 -15 -16 -17 -18 -18 -16 -14 -13 -11 -11 -11 -12 -13 -14 -14 -15 -17 -19 -19 -17 -14 -11 -12 -14 -17 -20 -20 -21 -22 -22 -21 -22 -23 -23 -22 -19 -18 -17 -16 -15 -15 -15 -15 -17 -19 -19 -19 -19 -21 -18 -12 -9 -12 -17 -19 -20 -22 -24 -27 -28 -29 -30 -29 -31 -32 -31 -30 -31 -32 -29 -25 -21 -20 -20 -20 -19 -17 -18 -22 -25 -27 -28 -29 -28 -26 -24 -26 -25 -24 -24 -28 -28 -28 -28 -28 -29 -28 -27 -26 -26 -27 -27 -27 -26 -26 -24 -24 -24 -24 -24 -23 -23 -22 -21 -19 -19 -19 -20 -22 -21 -21 -20 -18 -18 -18 -19 -20 -21 -21 -21 -21 -23 -23 -22 -22 -22 -22 -22 -24 -24 -23 -23 -26 -27 -27 -25 -20 -18 -19 -20 -20 -22 -23 -24 -21 -20 -20 -21 -21 -21 -19 -19 -19 -20 -7 -5 -3 -1 -0 0 -1 -2 -4 -3 -2 -1 -2 -4 -5 -5 -6 -6 -6 -4 -4 -6 -8 -8 -4 0 1 -1 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -0 -0 -1 -2 -3 -3 -4 -5 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -3 -4 -4 -4 -4 -3 -3 -3 -4 -4 -3 -1 -1 -1 -3 -5 -7 -8 -8 -6 -3 -0 2 2 1 1 1 3 5 4 -1 -4 -5 -1 2 4 4 2 -1 -5 -8 -10 -11 -9 -6 -5 -5 -7 -8 -11 -14 -18 -18 -12 -5 1 1 -2 -4 -6 -6 -6 -7 -9 -12 -13 -11 -9 -8 -7 -6 -8 -10 -11 -12 -14 -14 -13 -11 -11 -13 -14 -12 -8 -3 -4 -6 -7 -5 -2 -1 -1 -3 -7 -12 -16 -18 -19 -18 -13 -9 -9 -13 -18 -19 -15 -9 -5 -8 -11 -13 -10 -6 -7 -10 -13 -16 -19 -22 -24 -24 -23 -21 -20 -19 -17 -17 -17 -16 -14 -11 -8 -6 -5 -5 -5 -5 -6 -7 -8 -10 -11 -12 -13 -14 -14 -13 -14 -15 -17 -19 -19 -15 -11 -10 -12 -12 -10 -10 -12 -15 -17 -15 -9 -4 -2 -3 -7 -12 -13 -12 -11 -11 -14 -17 -17 -15 -10 -10 -13 -18 -22 -18 -15 -14 -15 -17 -19 -19 -18 -16 -15 -13 -11 -10 -9 -11 -12 -13 -14 -17 -20 -21 -19 -14 -10 -11 -14 -17 -20 -21 -22 -22 -22 -21 -22 -23 -23 -23 -20 -19 -17 -16 -15 -16 -16 -16 -17 -20 -20 -19 -19 -22 -21 -15 -11 -11 -17 -17 -18 -21 -26 -29 -30 -31 -32 -32 -33 -33 -32 -30 -30 -31 -28 -24 -20 -18 -19 -19 -19 -17 -17 -20 -25 -28 -31 -32 -30 -28 -25 -26 -25 -23 -23 -26 -27 -27 -28 -28 -29 -29 -28 -27 -27 -28 -29 -28 -28 -27 -25 -24 -23 -24 -24 -24 -23 -22 -21 -20 -20 -21 -22 -22 -22 -21 -20 -18 -17 -18 -19 -20 -21 -22 -21 -20 -23 -23 -22 -22 -22 -21 -21 -22 -23 -22 -23 -25 -26 -25 -25 -21 -19 -19 -21 -21 -23 -24 -24 -22 -20 -20 -21 -23 -22 -21 -19 -18 -19 -5 -3 -2 -2 -3 -2 -3 -3 -3 -2 -2 -2 -4 -5 -6 -7 -7 -5 -3 -2 -6 -9 -10 -7 0 3 1 -3 -4 -3 -2 -2 -2 -2 -1 0 1 1 1 0 -1 -2 -3 -3 -4 -6 -8 -9 -9 -7 -5 -3 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -3 -2 -2 -2 -2 -3 -2 -1 -1 -1 -3 -6 -8 -8 -8 -5 -1 2 4 3 1 0 1 3 4 1 -3 -6 -5 -1 2 3 3 1 -3 -7 -9 -10 -10 -8 -6 -5 -6 -7 -9 -13 -16 -19 -17 -10 -1 5 4 1 -3 -6 -8 -8 -8 -8 -9 -10 -11 -11 -9 -6 -6 -8 -9 -10 -12 -13 -13 -13 -12 -13 -13 -12 -9 -4 -3 -5 -6 -6 -3 -1 -0 -2 -5 -10 -14 -16 -18 -19 -16 -12 -9 -9 -15 -18 -18 -14 -8 -6 -9 -12 -13 -9 -5 -5 -8 -13 -18 -22 -25 -25 -24 -22 -20 -19 -19 -18 -16 -14 -11 -9 -8 -8 -8 -8 -7 -5 -5 -6 -7 -9 -11 -13 -14 -14 -14 -14 -15 -16 -17 -16 -15 -13 -12 -11 -11 -10 -8 -7 -9 -12 -15 -16 -14 -8 -3 -2 -4 -8 -10 -11 -11 -12 -14 -17 -18 -17 -11 -7 -9 -14 -21 -19 -16 -13 -14 -17 -18 -18 -18 -17 -16 -13 -11 -8 -7 -10 -13 -15 -15 -18 -21 -23 -21 -16 -11 -11 -14 -17 -20 -21 -22 -22 -21 -22 -22 -23 -24 -24 -22 -19 -17 -15 -16 -16 -16 -17 -18 -20 -20 -20 -20 -22 -21 -18 -14 -12 -19 -19 -20 -24 -31 -32 -32 -32 -32 -32 -31 -30 -28 -26 -26 -27 -26 -23 -20 -19 -18 -18 -19 -18 -18 -21 -25 -28 -32 -33 -32 -29 -26 -26 -25 -24 -23 -26 -27 -27 -28 -29 -29 -29 -28 -28 -27 -29 -29 -29 -29 -28 -27 -25 -23 -24 -24 -23 -22 -22 -22 -21 -21 -22 -23 -23 -22 -21 -20 -19 -18 -17 -18 -20 -21 -21 -21 -19 -22 -23 -23 -22 -22 -21 -20 -21 -21 -21 -23 -24 -25 -24 -24 -22 -20 -18 -20 -22 -23 -24 -23 -22 -21 -21 -22 -24 -24 -22 -20 -18 -18 -3 -2 -3 -4 -5 -4 -3 -2 -2 -3 -4 -5 -5 -6 -7 -7 -5 -2 -1 -4 -8 -10 -9 -2 3 2 -2 -4 -3 -2 -3 -3 -4 -2 -1 1 2 2 2 1 -1 -2 -3 -3 -4 -6 -8 -9 -9 -7 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -1 -0 -0 -2 -2 -2 -1 -1 -2 -4 -6 -8 -9 -7 -4 1 4 6 4 2 1 1 2 1 -2 -5 -7 -3 -0 2 3 2 -1 -5 -7 -9 -9 -8 -7 -6 -5 -6 -8 -12 -16 -18 -19 -16 -10 1 8 8 3 -4 -9 -9 -7 -5 -5 -8 -11 -12 -11 -8 -6 -6 -7 -9 -10 -12 -13 -13 -14 -14 -14 -13 -10 -5 -2 -3 -5 -6 -4 -1 0 -1 -4 -8 -11 -14 -16 -18 -18 -15 -10 -7 -9 -13 -17 -18 -14 -9 -8 -10 -13 -12 -7 -4 -4 -8 -14 -19 -23 -25 -24 -22 -21 -19 -19 -17 -15 -12 -10 -8 -8 -8 -8 -9 -9 -7 -6 -6 -6 -8 -10 -13 -13 -13 -14 -16 -18 -19 -19 -16 -12 -10 -10 -11 -11 -10 -8 -7 -8 -10 -13 -16 -16 -11 -5 0 3 -2 -7 -11 -13 -13 -14 -16 -19 -20 -15 -9 -9 -13 -21 -21 -18 -14 -13 -15 -17 -17 -18 -18 -17 -15 -12 -10 -9 -12 -14 -16 -17 -19 -22 -24 -24 -20 -15 -14 -14 -16 -19 -21 -22 -22 -21 -21 -23 -24 -25 -25 -22 -19 -16 -15 -16 -17 -17 -17 -18 -19 -20 -20 -21 -23 -23 -21 -17 -14 -19 -21 -23 -27 -31 -31 -32 -32 -32 -32 -28 -25 -21 -19 -21 -23 -25 -24 -20 -19 -18 -18 -18 -19 -19 -21 -25 -28 -30 -31 -32 -31 -27 -27 -26 -25 -24 -26 -27 -27 -28 -29 -30 -29 -28 -28 -28 -29 -29 -30 -30 -29 -28 -27 -25 -24 -23 -22 -22 -23 -23 -22 -22 -22 -23 -23 -22 -21 -20 -19 -18 -18 -19 -20 -21 -21 -21 -20 -21 -22 -22 -22 -22 -21 -20 -20 -20 -21 -22 -23 -25 -26 -24 -22 -20 -16 -17 -20 -23 -24 -23 -22 -22 -22 -22 -23 -24 -23 -22 -19 -19 -2 -4 -5 -6 -5 -3 -2 -2 -3 -6 -6 -5 -5 -6 -6 -4 -1 0 -3 -8 -9 -7 -3 3 2 -1 -4 -3 -2 -2 -4 -5 -5 -3 -2 -0 1 2 1 0 -0 -1 -1 -3 -4 -5 -6 -7 -7 -5 -4 -4 -4 -4 -3 -2 -2 -3 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -0 1 0 -1 -2 -2 -2 -2 -2 -4 -6 -9 -8 -5 -1 4 6 6 5 3 1 1 0 -2 -6 -9 -6 -2 2 3 3 -0 -3 -6 -9 -9 -8 -6 -5 -5 -5 -8 -11 -16 -19 -20 -19 -16 -10 1 7 7 1 -6 -9 -8 -5 -3 -4 -8 -10 -12 -11 -9 -7 -7 -7 -9 -11 -11 -12 -13 -15 -16 -15 -13 -6 -0 1 -0 -4 -5 -3 -1 0 -1 -4 -8 -12 -15 -16 -18 -17 -14 -7 -5 -7 -13 -18 -19 -14 -10 -9 -12 -14 -11 -8 -5 -5 -10 -15 -20 -23 -23 -22 -22 -21 -19 -17 -15 -13 -11 -9 -7 -6 -7 -8 -9 -9 -8 -8 -8 -8 -10 -12 -13 -14 -15 -17 -19 -22 -22 -19 -14 -9 -7 -10 -11 -11 -9 -7 -8 -9 -12 -14 -16 -14 -9 -3 1 -1 -5 -10 -13 -14 -14 -15 -18 -21 -20 -15 -12 -14 -22 -21 -19 -16 -14 -13 -15 -16 -18 -19 -18 -16 -13 -10 -9 -11 -13 -15 -17 -19 -23 -26 -27 -25 -19 -16 -14 -16 -18 -20 -21 -21 -21 -21 -22 -24 -25 -25 -22 -18 -15 -15 -19 -20 -19 -18 -19 -20 -20 -20 -21 -25 -25 -24 -21 -17 -20 -23 -25 -26 -27 -29 -31 -32 -32 -31 -25 -19 -16 -16 -18 -21 -24 -25 -21 -19 -19 -18 -19 -19 -20 -22 -25 -27 -28 -29 -30 -31 -28 -29 -28 -26 -24 -25 -26 -27 -28 -29 -30 -29 -29 -29 -29 -29 -29 -30 -30 -29 -28 -27 -26 -24 -23 -22 -22 -23 -23 -23 -22 -22 -22 -23 -23 -22 -22 -20 -19 -18 -19 -20 -21 -22 -21 -20 -20 -21 -22 -21 -21 -22 -21 -20 -20 -20 -20 -22 -25 -27 -23 -21 -19 -16 -15 -18 -21 -23 -23 -23 -23 -23 -23 -23 -24 -25 -24 -21 -20 -3 -6 -7 -6 -3 -1 -1 -4 -7 -8 -6 -5 -5 -4 -1 3 1 -4 -9 -7 -6 -2 3 4 -1 -4 -4 -2 -1 -3 -4 -5 -4 -3 -2 -1 -1 0 0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -4 -4 -3 -4 -4 -4 -3 -2 -2 -3 -4 -4 -4 -4 -4 -5 -5 -6 -6 -5 -5 -4 -3 -2 -0 1 1 0 -1 -3 -3 -2 -2 -2 -4 -7 -8 -6 -2 3 6 6 6 6 4 3 1 -2 -7 -11 -10 -5 -0 3 3 1 -2 -4 -7 -8 -7 -6 -5 -5 -5 -7 -11 -15 -19 -20 -20 -19 -16 -10 -2 3 4 -1 -5 -7 -7 -6 -4 -5 -7 -9 -10 -10 -9 -7 -6 -8 -10 -10 -10 -11 -13 -15 -17 -17 -12 -2 4 5 1 -4 -4 -2 0 1 -1 -6 -10 -13 -13 -16 -18 -18 -12 -5 -4 -8 -15 -20 -17 -13 -10 -11 -15 -15 -13 -9 -6 -8 -12 -17 -20 -22 -22 -22 -21 -21 -18 -15 -13 -12 -11 -8 -6 -5 -6 -10 -11 -11 -12 -11 -9 -10 -11 -12 -13 -14 -16 -18 -22 -23 -22 -18 -12 -7 -8 -10 -11 -10 -7 -6 -7 -10 -14 -16 -15 -11 -6 -2 -2 -4 -8 -12 -14 -14 -15 -17 -22 -23 -18 -13 -13 -20 -20 -19 -17 -15 -14 -14 -15 -17 -19 -18 -17 -15 -12 -10 -10 -12 -14 -16 -19 -23 -26 -28 -27 -22 -17 -14 -15 -17 -19 -20 -20 -20 -20 -22 -23 -25 -25 -22 -19 -16 -17 -20 -22 -21 -20 -20 -21 -21 -21 -22 -25 -26 -26 -24 -22 -22 -24 -26 -25 -22 -25 -28 -31 -32 -30 -25 -19 -16 -15 -16 -20 -24 -25 -21 -20 -20 -20 -19 -19 -20 -22 -25 -27 -27 -27 -27 -29 -29 -31 -31 -28 -24 -24 -25 -26 -28 -29 -29 -29 -29 -29 -29 -29 -29 -30 -30 -29 -28 -27 -26 -25 -25 -24 -22 -22 -22 -22 -22 -22 -22 -22 -23 -23 -23 -21 -20 -19 -20 -21 -22 -22 -21 -20 -20 -21 -21 -21 -21 -21 -20 -19 -19 -19 -18 -19 -24 -26 -23 -20 -19 -16 -15 -18 -21 -23 -24 -24 -24 -23 -23 -24 -25 -27 -27 -23 -22 -6 -8 -8 -5 -2 -0 -3 -7 -9 -7 -5 -5 -2 3 8 2 -5 -8 -8 -5 2 6 5 1 -3 -4 -3 -2 -2 -4 -5 -5 -4 -2 -1 -1 -1 -1 -1 -0 -1 -2 -3 -4 -4 -4 -4 -3 -3 -2 -3 -3 -4 -3 -2 -2 -2 -3 -4 -4 -3 -3 -3 -4 -5 -6 -7 -7 -7 -6 -3 -1 -0 1 1 1 -1 -2 -3 -3 -2 -2 -2 -5 -8 -7 -4 2 6 7 7 7 7 5 3 -1 -6 -11 -13 -10 -5 1 3 1 -1 -3 -4 -5 -5 -4 -4 -5 -5 -7 -9 -13 -17 -19 -20 -19 -18 -16 -11 -6 -1 2 1 -3 -6 -8 -6 -5 -5 -6 -8 -10 -9 -7 -6 -7 -9 -11 -11 -10 -11 -13 -16 -18 -18 -10 -1 6 6 -0 -4 -4 -1 2 2 -2 -7 -11 -12 -14 -17 -20 -18 -11 -6 -5 -10 -17 -19 -16 -11 -9 -12 -15 -16 -14 -11 -10 -11 -13 -16 -19 -20 -20 -21 -21 -20 -17 -14 -12 -11 -10 -8 -6 -6 -9 -11 -11 -11 -10 -9 -10 -10 -10 -10 -13 -15 -17 -20 -23 -24 -23 -19 -10 -6 -7 -10 -10 -6 -4 -5 -8 -13 -15 -15 -12 -8 -5 -5 -7 -8 -10 -10 -10 -11 -16 -23 -24 -19 -13 -11 -17 -19 -18 -17 -16 -15 -15 -16 -17 -19 -19 -18 -16 -14 -12 -10 -10 -12 -15 -18 -22 -26 -29 -28 -24 -19 -16 -15 -16 -16 -17 -18 -18 -19 -20 -22 -23 -24 -22 -20 -18 -19 -21 -22 -22 -21 -21 -22 -23 -23 -22 -25 -26 -27 -26 -26 -24 -25 -26 -25 -21 -20 -23 -28 -30 -29 -24 -20 -17 -15 -17 -21 -25 -25 -22 -21 -20 -20 -20 -20 -20 -22 -25 -27 -27 -27 -27 -28 -29 -31 -31 -29 -25 -24 -25 -26 -27 -28 -29 -29 -29 -29 -29 -29 -29 -30 -29 -29 -28 -27 -25 -26 -26 -25 -23 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -21 -20 -19 -21 -21 -22 -22 -20 -19 -19 -20 -22 -22 -23 -23 -21 -20 -19 -18 -17 -18 -22 -23 -22 -20 -20 -18 -17 -18 -22 -24 -26 -26 -25 -24 -24 -25 -26 -28 -29 -26 -24 -8 -9 -7 -4 -0 -1 -6 -8 -7 -6 -7 -1 5 7 1 -6 -8 -7 -3 4 6 4 0 -2 -4 -3 -3 -3 -4 -5 -6 -5 -4 -2 -1 -1 -2 -2 -1 -0 -0 -1 -3 -5 -5 -5 -4 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -3 -3 -4 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -5 -2 0 0 -0 -0 -1 -2 -3 -4 -3 -2 -1 -2 -6 -8 -7 -1 5 7 7 6 7 7 5 1 -4 -10 -14 -14 -10 -4 -0 -0 -1 -2 -2 -1 -1 -2 -3 -5 -6 -6 -7 -10 -13 -15 -17 -18 -17 -17 -16 -13 -9 -3 1 1 -2 -7 -7 -7 -6 -6 -6 -8 -8 -7 -6 -6 -8 -11 -12 -12 -10 -10 -12 -16 -19 -16 -9 -0 7 5 0 -3 -3 0 2 -0 -4 -9 -11 -12 -14 -18 -20 -17 -11 -6 -7 -14 -18 -17 -13 -8 -8 -11 -15 -16 -14 -12 -11 -11 -12 -14 -16 -18 -19 -20 -21 -19 -16 -13 -12 -11 -9 -7 -6 -7 -9 -10 -10 -9 -9 -10 -10 -9 -10 -12 -14 -15 -17 -22 -25 -25 -23 -17 -8 -5 -6 -8 -7 -4 -4 -6 -10 -13 -13 -13 -11 -8 -8 -10 -10 -10 -7 -5 -6 -10 -18 -20 -18 -13 -10 -13 -15 -17 -17 -15 -16 -16 -17 -18 -20 -20 -19 -17 -15 -14 -11 -10 -11 -13 -16 -22 -27 -30 -29 -26 -22 -17 -14 -12 -12 -13 -15 -16 -16 -17 -19 -20 -22 -22 -21 -19 -20 -21 -22 -22 -22 -21 -22 -22 -22 -22 -25 -27 -28 -28 -28 -26 -25 -26 -27 -24 -19 -18 -22 -27 -27 -24 -20 -19 -17 -18 -21 -25 -26 -24 -22 -21 -20 -20 -21 -21 -21 -25 -27 -28 -27 -27 -26 -28 -30 -29 -28 -25 -25 -25 -26 -27 -28 -28 -28 -30 -29 -29 -29 -29 -29 -29 -29 -28 -28 -26 -26 -26 -26 -25 -23 -22 -21 -22 -23 -23 -22 -21 -21 -22 -21 -20 -19 -20 -22 -23 -22 -21 -20 -19 -20 -22 -23 -25 -25 -23 -20 -19 -18 -17 -17 -20 -21 -21 -20 -21 -20 -18 -18 -20 -25 -27 -27 -26 -25 -25 -25 -26 -28 -30 -28 -26 -9 -8 -5 -2 -0 -3 -6 -7 -6 -5 2 6 4 -1 -8 -9 -6 -1 4 6 3 -0 -3 -4 -4 -3 -3 -4 -6 -7 -7 -6 -5 -3 -2 -2 -3 -2 -1 -0 -0 -1 -3 -4 -5 -5 -4 -2 -1 -2 -2 -3 -2 -2 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -6 -8 -9 -7 -3 -1 0 -0 -1 -2 -2 -2 -3 -3 -3 -2 -1 -4 -7 -9 -6 2 7 8 7 6 8 8 5 -0 -5 -11 -14 -13 -9 -5 -4 -4 -4 -3 0 2 2 -1 -4 -6 -6 -6 -7 -10 -11 -13 -14 -15 -15 -16 -16 -15 -11 -4 1 1 -3 -7 -8 -8 -7 -6 -6 -7 -7 -7 -6 -7 -10 -12 -13 -11 -9 -9 -12 -16 -18 -16 -9 -0 6 5 2 -0 -1 1 1 -1 -6 -11 -13 -14 -16 -19 -19 -15 -10 -7 -11 -17 -18 -15 -9 -5 -7 -11 -15 -15 -14 -14 -13 -12 -11 -12 -13 -15 -18 -21 -21 -18 -15 -13 -11 -10 -8 -8 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -12 -13 -14 -15 -17 -21 -24 -26 -23 -14 -7 -4 -7 -8 -6 -4 -4 -8 -11 -13 -14 -13 -10 -9 -10 -12 -12 -7 -4 -3 -7 -14 -17 -18 -16 -12 -11 -13 -16 -17 -16 -15 -15 -16 -18 -21 -21 -19 -17 -16 -15 -13 -11 -9 -11 -14 -21 -27 -30 -30 -27 -22 -16 -12 -11 -11 -12 -15 -16 -15 -15 -15 -18 -21 -22 -22 -20 -20 -21 -22 -22 -22 -22 -21 -21 -21 -22 -24 -26 -27 -28 -28 -26 -25 -25 -27 -26 -22 -18 -17 -23 -25 -24 -21 -20 -19 -19 -21 -23 -26 -25 -25 -25 -22 -21 -22 -23 -23 -26 -27 -28 -28 -27 -26 -28 -30 -30 -29 -26 -25 -25 -26 -26 -27 -27 -28 -29 -29 -28 -28 -28 -29 -29 -29 -28 -27 -26 -26 -26 -26 -25 -24 -23 -22 -24 -24 -23 -23 -22 -21 -22 -22 -21 -20 -20 -22 -22 -22 -22 -21 -20 -20 -22 -23 -26 -26 -25 -22 -20 -18 -17 -17 -20 -22 -21 -20 -20 -20 -18 -16 -18 -24 -27 -27 -26 -26 -26 -25 -26 -28 -29 -27 -26 -7 -6 -3 -2 -3 -5 -6 -6 -3 2 5 2 -2 -7 -9 -5 -0 3 5 3 -0 -3 -5 -6 -5 -4 -4 -5 -6 -7 -7 -7 -5 -4 -3 -3 -3 -3 -2 -1 -1 -2 -3 -4 -4 -4 -4 -2 -2 -2 -2 -3 -2 -1 -1 -1 -1 -0 -0 -1 -2 -3 -4 -4 -3 -2 -3 -4 -5 -7 -7 -5 -3 -1 -0 -1 -2 -3 -3 -2 -3 -3 -3 -1 -1 -5 -8 -9 -4 3 7 8 6 8 9 8 4 1 -5 -10 -13 -11 -8 -7 -8 -8 -8 -2 2 4 2 -2 -4 -5 -5 -6 -7 -8 -10 -11 -12 -12 -13 -14 -16 -16 -11 -5 -0 -1 -5 -8 -9 -8 -6 -6 -6 -7 -8 -6 -6 -7 -11 -14 -14 -10 -7 -7 -10 -15 -17 -16 -10 -0 6 8 4 0 0 1 0 -3 -9 -12 -14 -14 -17 -19 -17 -13 -9 -10 -14 -18 -18 -13 -7 -5 -7 -11 -15 -16 -17 -16 -15 -11 -9 -9 -10 -14 -19 -22 -21 -19 -15 -11 -9 -9 -10 -9 -8 -7 -7 -8 -8 -8 -9 -10 -11 -13 -14 -15 -14 -14 -17 -21 -26 -26 -20 -12 -6 -7 -9 -8 -6 -4 -7 -11 -14 -15 -15 -11 -9 -9 -12 -14 -11 -7 -5 -6 -9 -14 -17 -18 -14 -11 -12 -15 -17 -17 -15 -13 -13 -15 -18 -20 -19 -17 -16 -16 -15 -12 -9 -8 -12 -18 -26 -30 -30 -28 -23 -15 -12 -11 -11 -12 -14 -16 -16 -15 -15 -18 -22 -24 -23 -22 -21 -21 -22 -22 -22 -22 -22 -21 -21 -22 -24 -25 -26 -27 -26 -25 -23 -23 -24 -24 -23 -22 -18 -22 -26 -26 -22 -21 -20 -19 -19 -21 -24 -26 -26 -27 -25 -24 -23 -24 -26 -27 -27 -28 -29 -28 -28 -29 -31 -32 -31 -27 -25 -25 -25 -25 -26 -27 -28 -28 -28 -28 -27 -28 -28 -28 -28 -28 -27 -26 -25 -26 -26 -25 -25 -24 -22 -24 -24 -24 -24 -23 -22 -23 -23 -21 -20 -20 -21 -22 -22 -22 -21 -20 -21 -23 -24 -25 -26 -26 -24 -20 -18 -18 -18 -21 -22 -21 -19 -19 -19 -16 -14 -16 -22 -25 -26 -26 -28 -27 -27 -28 -28 -27 -25 -25 -5 -4 -3 -4 -5 -7 -6 -2 1 3 0 -4 -6 -7 -5 -1 2 3 1 -1 -2 -4 -5 -7 -7 -5 -5 -5 -5 -6 -7 -6 -5 -4 -4 -4 -3 -2 -2 -2 -2 -3 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 0 -0 -2 -3 -4 -4 -3 -2 -2 -2 -3 -5 -6 -5 -4 -2 -1 -1 -2 -2 -2 -2 -3 -4 -3 -1 -2 -5 -9 -9 -2 4 7 7 6 7 8 8 5 0 -6 -10 -10 -9 -8 -9 -11 -13 -9 -3 3 5 3 -0 -3 -5 -6 -6 -7 -8 -10 -11 -11 -10 -10 -12 -15 -15 -12 -6 -1 -3 -7 -9 -8 -6 -5 -6 -7 -9 -7 -5 -5 -8 -13 -15 -13 -8 -4 -5 -10 -14 -18 -18 -10 1 8 10 4 1 -0 -0 -1 -6 -10 -12 -13 -15 -18 -18 -16 -12 -10 -13 -17 -19 -18 -11 -7 -5 -9 -14 -17 -18 -18 -18 -16 -12 -8 -5 -9 -15 -20 -23 -22 -18 -13 -10 -10 -10 -10 -9 -8 -7 -8 -8 -8 -9 -10 -13 -15 -16 -16 -13 -12 -14 -18 -24 -27 -23 -17 -10 -7 -8 -9 -8 -7 -8 -11 -13 -16 -17 -13 -8 -6 -9 -15 -16 -14 -11 -7 -6 -10 -15 -18 -16 -13 -12 -13 -16 -17 -15 -13 -11 -13 -17 -19 -19 -18 -17 -17 -17 -15 -10 -8 -10 -15 -22 -27 -29 -27 -22 -16 -13 -11 -11 -11 -14 -16 -17 -16 -16 -19 -23 -25 -24 -22 -21 -21 -21 -21 -21 -22 -22 -22 -22 -23 -24 -25 -25 -26 -25 -24 -23 -22 -22 -21 -22 -24 -24 -26 -27 -26 -23 -22 -20 -19 -19 -19 -22 -25 -26 -26 -25 -25 -25 -25 -25 -25 -27 -29 -29 -29 -29 -31 -32 -33 -33 -30 -27 -25 -25 -25 -26 -28 -29 -28 -28 -28 -27 -27 -26 -27 -27 -28 -27 -26 -25 -26 -26 -26 -25 -25 -24 -23 -24 -25 -24 -23 -24 -24 -23 -20 -19 -20 -21 -22 -22 -22 -21 -20 -20 -23 -24 -24 -24 -26 -24 -21 -19 -19 -19 -21 -21 -21 -20 -20 -19 -16 -13 -15 -21 -24 -26 -27 -29 -28 -28 -28 -27 -25 -24 -25 -4 -3 -4 -6 -7 -6 -2 1 2 -1 -5 -7 -6 -4 -1 1 1 -0 -2 -2 -2 -3 -5 -7 -8 -7 -6 -5 -5 -6 -6 -5 -4 -3 -3 -4 -3 -2 -2 -2 -3 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 0 0 -1 -2 -3 -3 -3 -3 -2 -1 -0 -1 -3 -5 -5 -4 -1 -0 -1 -2 -2 -3 -3 -4 -4 -2 -1 -2 -6 -9 -7 -1 4 7 5 4 5 6 6 4 1 -3 -6 -7 -8 -9 -10 -12 -14 -11 -6 1 5 3 -0 -4 -6 -6 -6 -8 -10 -12 -12 -10 -8 -7 -10 -14 -14 -11 -6 -4 -5 -7 -8 -6 -4 -5 -6 -9 -9 -6 -4 -5 -9 -14 -15 -11 -5 -3 -5 -9 -14 -19 -17 -9 2 10 8 3 -0 -1 -1 -4 -7 -10 -13 -14 -17 -18 -17 -14 -11 -12 -15 -19 -21 -18 -11 -6 -4 -9 -14 -16 -18 -18 -19 -17 -13 -7 -5 -11 -17 -21 -23 -20 -15 -11 -10 -11 -10 -10 -9 -8 -9 -9 -8 -8 -10 -14 -17 -19 -17 -13 -11 -12 -16 -22 -26 -24 -19 -12 -6 -6 -7 -8 -7 -7 -9 -11 -14 -17 -15 -10 -7 -7 -12 -17 -21 -20 -13 -6 -5 -10 -15 -17 -14 -12 -12 -14 -16 -15 -13 -11 -13 -16 -18 -19 -19 -18 -18 -18 -17 -13 -9 -9 -12 -18 -23 -25 -24 -21 -17 -13 -11 -11 -12 -15 -18 -19 -19 -19 -21 -23 -24 -24 -22 -22 -22 -21 -21 -22 -22 -22 -22 -22 -24 -25 -25 -25 -24 -24 -23 -22 -20 -20 -20 -22 -25 -28 -28 -27 -25 -25 -23 -21 -20 -18 -18 -21 -23 -25 -24 -23 -26 -26 -25 -23 -22 -24 -27 -27 -28 -29 -31 -33 -34 -34 -32 -29 -27 -26 -26 -27 -28 -28 -28 -28 -28 -27 -26 -26 -26 -27 -28 -27 -26 -26 -26 -25 -26 -26 -26 -25 -24 -24 -25 -25 -24 -24 -23 -22 -19 -19 -19 -21 -22 -23 -22 -22 -21 -21 -22 -22 -23 -25 -26 -23 -21 -20 -20 -19 -19 -20 -22 -22 -21 -20 -18 -14 -15 -20 -25 -29 -29 -30 -28 -26 -27 -26 -24 -23 -24 -4 -4 -6 -8 -7 -3 2 2 -2 -6 -7 -6 -3 -0 1 -0 -2 -3 -3 -3 -2 -3 -4 -5 -6 -7 -6 -6 -6 -7 -7 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 0 0 0 0 1 1 0 0 -0 -0 -0 -0 -0 -0 0 -0 -1 -2 -3 -3 -3 -1 0 1 -1 -3 -4 -4 -2 -0 -0 -1 -2 -2 -3 -3 -4 -3 -1 0 -2 -7 -9 -6 -1 5 4 3 2 3 4 5 5 3 -1 -4 -6 -8 -8 -10 -13 -14 -12 -7 -1 1 0 -2 -4 -5 -5 -7 -9 -11 -11 -9 -7 -6 -7 -10 -12 -13 -10 -7 -6 -7 -8 -6 -4 -4 -5 -9 -11 -9 -6 -3 -6 -12 -15 -15 -10 -5 -4 -5 -8 -14 -18 -17 -9 2 8 6 3 -1 -2 -3 -5 -8 -12 -14 -16 -17 -17 -15 -12 -11 -13 -18 -22 -22 -17 -9 -2 -4 -9 -14 -17 -19 -20 -20 -18 -13 -6 -5 -9 -16 -21 -20 -17 -14 -11 -9 -7 -7 -7 -8 -8 -9 -9 -8 -10 -14 -18 -20 -18 -13 -10 -10 -14 -20 -24 -24 -21 -15 -8 -6 -6 -7 -7 -6 -6 -9 -12 -16 -16 -14 -10 -8 -9 -15 -22 -27 -22 -10 -4 -4 -11 -15 -15 -13 -11 -12 -15 -15 -13 -11 -13 -16 -18 -18 -19 -18 -18 -18 -18 -16 -13 -11 -12 -15 -19 -21 -22 -21 -17 -14 -12 -12 -14 -17 -20 -21 -21 -21 -22 -23 -24 -23 -23 -23 -23 -22 -21 -22 -23 -23 -23 -23 -24 -25 -25 -24 -24 -23 -23 -22 -19 -19 -20 -23 -27 -32 -32 -30 -28 -26 -24 -22 -21 -19 -18 -20 -22 -24 -24 -23 -25 -26 -24 -21 -20 -21 -23 -25 -26 -28 -29 -31 -32 -34 -34 -32 -29 -28 -28 -28 -28 -28 -27 -28 -28 -27 -27 -26 -26 -26 -28 -27 -27 -26 -25 -25 -25 -25 -25 -25 -24 -24 -25 -24 -23 -23 -22 -21 -19 -19 -20 -21 -22 -23 -23 -22 -22 -21 -22 -22 -23 -24 -26 -24 -23 -22 -22 -19 -19 -20 -22 -23 -23 -21 -19 -15 -15 -20 -26 -31 -32 -31 -28 -25 -25 -25 -24 -23 -23 -3 -6 -8 -7 -4 1 2 -2 -5 -7 -6 -2 -0 0 -1 -3 -3 -4 -4 -3 -2 -2 -3 -3 -3 -4 -4 -5 -6 -7 -6 -5 -3 -4 -4 -4 -3 -3 -3 -3 -3 -2 -0 0 1 1 2 2 1 1 1 1 1 1 1 1 0 -0 -0 -0 -0 0 0 0 -1 -2 -2 -2 -2 -1 -0 -0 -1 -2 -3 -1 -0 0 0 -1 -2 -2 -2 -3 -3 -2 0 1 -3 -8 -9 -6 0 3 3 2 0 0 2 4 5 3 -0 -4 -6 -7 -7 -10 -13 -14 -12 -8 -5 -4 -3 -3 -2 -3 -4 -7 -9 -9 -8 -7 -6 -6 -8 -10 -12 -12 -10 -8 -8 -8 -8 -5 -4 -4 -7 -11 -12 -10 -5 -3 -7 -12 -15 -14 -8 -5 -4 -6 -9 -14 -17 -16 -10 2 6 5 2 -2 -2 -3 -6 -9 -12 -15 -17 -17 -16 -13 -11 -12 -15 -21 -24 -22 -15 -6 -2 -5 -10 -16 -19 -20 -21 -22 -19 -11 -5 -5 -10 -16 -19 -18 -15 -12 -10 -7 -6 -7 -8 -8 -9 -9 -10 -11 -14 -17 -19 -19 -14 -10 -9 -12 -18 -22 -24 -22 -17 -11 -8 -6 -7 -8 -5 -4 -5 -9 -14 -16 -16 -13 -10 -9 -12 -18 -24 -22 -11 -4 -3 -8 -14 -16 -15 -12 -11 -13 -14 -14 -12 -14 -16 -17 -18 -19 -18 -18 -18 -19 -18 -17 -15 -13 -12 -14 -17 -19 -20 -18 -15 -13 -14 -16 -19 -21 -21 -21 -21 -23 -23 -23 -23 -24 -24 -23 -21 -20 -22 -23 -23 -24 -24 -25 -25 -25 -24 -23 -23 -23 -23 -20 -19 -19 -22 -26 -32 -34 -34 -33 -29 -26 -24 -22 -19 -18 -19 -22 -25 -25 -24 -24 -25 -23 -21 -19 -19 -20 -22 -24 -25 -26 -27 -28 -30 -32 -34 -32 -31 -30 -29 -28 -27 -28 -28 -28 -26 -27 -26 -25 -26 -28 -28 -27 -26 -26 -24 -24 -25 -24 -25 -24 -24 -24 -24 -22 -22 -21 -20 -20 -20 -20 -21 -22 -22 -23 -23 -22 -20 -21 -22 -23 -24 -25 -24 -24 -24 -24 -21 -20 -21 -23 -24 -24 -23 -20 -16 -16 -21 -26 -31 -31 -30 -28 -26 -25 -24 -24 -23 -22 -4 -7 -7 -5 -1 1 -2 -5 -7 -6 -2 -0 -0 -1 -3 -4 -4 -5 -4 -4 -3 -2 -2 -2 -1 -1 -2 -4 -6 -6 -5 -4 -3 -4 -4 -3 -2 -2 -3 -3 -2 -1 1 3 3 3 3 3 3 3 2 2 2 1 1 0 -0 -0 -0 -0 0 1 1 0 0 -1 -1 -2 -2 -3 -3 -2 -1 -0 -0 -0 -0 1 2 1 -0 -1 -2 -2 -3 -3 -1 2 1 -4 -8 -9 -5 2 4 3 -0 -2 -2 -1 2 4 4 1 -3 -6 -6 -7 -9 -12 -13 -13 -12 -11 -8 -5 -1 0 -1 -4 -8 -8 -7 -6 -5 -6 -6 -8 -10 -12 -12 -10 -8 -8 -8 -7 -5 -4 -5 -9 -12 -13 -10 -4 -5 -8 -13 -15 -11 -7 -6 -6 -7 -9 -13 -16 -16 -8 0 5 5 1 -1 -2 -3 -6 -10 -14 -16 -18 -18 -16 -14 -13 -15 -18 -22 -23 -21 -13 -4 -1 -5 -12 -17 -18 -20 -22 -23 -17 -9 -5 -6 -11 -15 -17 -16 -14 -12 -9 -7 -6 -7 -8 -9 -10 -11 -12 -14 -17 -19 -19 -17 -13 -11 -11 -15 -20 -23 -23 -19 -14 -9 -6 -6 -8 -6 -4 -3 -6 -11 -15 -16 -16 -14 -11 -11 -14 -19 -21 -15 -8 -4 -4 -11 -17 -18 -15 -11 -13 -14 -14 -13 -14 -15 -16 -18 -19 -18 -19 -19 -19 -19 -19 -17 -15 -11 -12 -14 -17 -19 -18 -16 -14 -14 -16 -19 -20 -20 -19 -21 -23 -23 -23 -23 -23 -23 -21 -20 -20 -22 -23 -23 -24 -24 -24 -25 -25 -24 -23 -23 -23 -24 -22 -20 -19 -19 -22 -29 -34 -36 -35 -31 -28 -26 -24 -22 -19 -20 -22 -25 -25 -25 -25 -24 -22 -22 -20 -19 -19 -20 -22 -23 -24 -24 -25 -26 -28 -31 -33 -33 -32 -30 -28 -28 -29 -30 -28 -27 -25 -24 -25 -26 -28 -27 -27 -26 -27 -25 -24 -23 -22 -23 -23 -23 -24 -24 -22 -22 -22 -20 -20 -21 -21 -21 -21 -22 -23 -22 -21 -18 -20 -22 -24 -24 -24 -24 -23 -23 -24 -22 -21 -22 -24 -24 -24 -23 -21 -17 -17 -20 -26 -30 -30 -29 -28 -26 -25 -25 -24 -23 -21 -5 -7 -5 -2 0 -1 -5 -6 -5 -3 -0 -1 -2 -2 -3 -4 -5 -5 -5 -4 -3 -3 -2 -1 -0 1 -0 -2 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -2 -3 -2 -1 1 3 4 5 4 4 4 4 4 3 2 1 -0 -1 -1 -1 -1 -0 1 1 0 0 -0 -0 -1 -1 -2 -4 -5 -5 -3 -1 1 1 1 1 3 4 3 1 -0 -1 -2 -2 -2 0 2 -0 -5 -8 -8 -2 3 5 3 -1 -4 -5 -4 1 6 6 2 -2 -4 -5 -6 -9 -12 -15 -16 -16 -13 -8 -1 2 2 -2 -6 -7 -6 -5 -5 -5 -5 -6 -8 -12 -13 -12 -10 -8 -8 -8 -8 -6 -4 -6 -10 -13 -13 -9 -6 -7 -11 -15 -12 -9 -7 -6 -7 -8 -10 -14 -17 -14 -7 0 5 4 1 0 -1 -3 -7 -11 -15 -18 -19 -18 -16 -15 -15 -16 -18 -21 -22 -20 -11 -2 0 -4 -11 -15 -18 -21 -24 -23 -16 -9 -5 -7 -12 -15 -15 -15 -13 -11 -8 -7 -6 -7 -8 -10 -11 -12 -13 -15 -16 -18 -19 -18 -15 -12 -12 -17 -20 -22 -21 -16 -10 -6 -5 -7 -7 -4 -2 -3 -9 -13 -16 -17 -16 -13 -11 -12 -16 -20 -18 -13 -8 -3 -8 -14 -18 -17 -15 -14 -14 -13 -13 -13 -13 -14 -16 -18 -19 -20 -20 -19 -19 -19 -18 -15 -11 -9 -10 -14 -17 -17 -16 -16 -16 -16 -18 -19 -19 -18 -20 -22 -23 -23 -23 -22 -21 -20 -19 -20 -21 -22 -23 -24 -24 -25 -25 -26 -25 -23 -23 -23 -24 -23 -21 -20 -19 -21 -27 -32 -35 -36 -33 -31 -29 -28 -26 -22 -20 -20 -22 -24 -25 -26 -25 -22 -22 -22 -20 -18 -20 -21 -22 -23 -23 -23 -23 -24 -27 -29 -31 -31 -30 -28 -28 -30 -31 -30 -28 -25 -23 -24 -27 -28 -27 -27 -27 -28 -27 -26 -24 -22 -23 -22 -23 -24 -25 -23 -23 -23 -21 -21 -21 -21 -21 -21 -21 -22 -22 -20 -18 -21 -23 -25 -25 -24 -23 -22 -22 -24 -22 -22 -22 -23 -24 -24 -23 -22 -18 -17 -20 -25 -29 -29 -28 -27 -25 -24 -25 -25 -24 -21 -6 -6 -3 -0 -1 -3 -6 -5 -3 -1 -0 -1 -2 -2 -2 -3 -5 -5 -5 -4 -4 -3 -2 -1 1 1 1 -1 -2 -2 -2 -2 -2 -1 -0 1 1 0 -2 -2 -2 -2 -2 0 3 5 5 5 5 5 5 5 3 1 -0 -1 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -1 -2 -3 -4 -5 -6 -5 -4 -1 0 1 3 4 6 6 5 3 1 -0 -1 -2 -1 1 2 -1 -5 -9 -8 -2 4 6 4 -1 -6 -9 -7 3 8 8 4 -0 -3 -5 -8 -11 -14 -16 -16 -14 -10 -4 0 2 0 -4 -6 -6 -5 -5 -6 -5 -6 -7 -10 -13 -14 -13 -10 -8 -9 -9 -8 -5 -4 -7 -11 -14 -14 -10 -8 -9 -14 -13 -10 -6 -4 -6 -7 -9 -11 -14 -16 -13 -7 0 3 2 1 0 -0 -3 -7 -12 -17 -21 -20 -19 -17 -15 -15 -16 -18 -21 -24 -21 -12 -2 3 -3 -10 -16 -20 -24 -26 -23 -15 -7 -4 -8 -12 -15 -15 -14 -13 -11 -8 -7 -7 -8 -9 -11 -12 -13 -13 -14 -17 -20 -21 -19 -14 -12 -16 -20 -21 -21 -18 -13 -8 -4 -5 -7 -5 -2 -1 -7 -12 -15 -16 -16 -14 -12 -12 -15 -18 -19 -17 -13 -7 -7 -11 -17 -18 -17 -15 -12 -9 -10 -11 -10 -11 -13 -17 -20 -20 -19 -19 -18 -18 -17 -15 -11 -7 -7 -10 -15 -17 -17 -17 -18 -18 -18 -18 -19 -20 -21 -22 -23 -23 -23 -22 -21 -20 -19 -19 -20 -22 -23 -24 -24 -25 -25 -26 -25 -24 -24 -24 -23 -23 -23 -23 -23 -24 -27 -31 -34 -35 -35 -34 -33 -31 -29 -25 -21 -18 -19 -22 -24 -25 -25 -23 -23 -23 -22 -18 -20 -22 -23 -23 -22 -21 -21 -22 -24 -25 -27 -30 -30 -27 -27 -28 -30 -31 -30 -26 -24 -24 -27 -28 -28 -28 -28 -28 -29 -27 -25 -24 -23 -24 -24 -25 -25 -25 -24 -24 -22 -22 -22 -21 -21 -21 -21 -22 -23 -21 -20 -21 -23 -25 -24 -23 -22 -21 -22 -23 -22 -21 -21 -23 -24 -24 -23 -23 -19 -17 -19 -23 -27 -28 -28 -27 -26 -23 -24 -25 -24 -21 -6 -4 -1 -1 -2 -5 -6 -4 -2 -1 -1 -2 -2 -2 -2 -3 -4 -5 -5 -4 -3 -3 -2 -0 1 1 1 0 -1 -0 -1 -1 -0 1 1 0 -0 -1 -2 -1 -3 -4 -6 -3 1 4 6 6 6 7 7 6 5 4 2 1 -0 -1 -1 -1 -2 -2 -1 -0 0 0 -1 -2 -4 -4 -4 -5 -5 -5 -5 -4 -2 -0 2 5 7 7 6 3 1 -0 -2 -2 1 3 2 -1 -6 -9 -7 -2 4 7 5 -1 -8 -12 -6 5 11 11 7 2 -3 -7 -11 -13 -13 -12 -10 -9 -7 -5 -2 0 -1 -3 -5 -6 -6 -6 -5 -5 -5 -7 -12 -15 -16 -14 -10 -8 -8 -8 -6 -3 -3 -6 -11 -15 -13 -10 -9 -12 -14 -11 -6 -2 -2 -6 -8 -10 -11 -14 -15 -12 -6 -0 1 0 -1 -0 -1 -4 -9 -14 -19 -20 -19 -17 -15 -15 -16 -17 -19 -22 -23 -19 -11 -0 3 -4 -12 -18 -23 -26 -26 -19 -9 -3 -6 -11 -14 -15 -15 -15 -14 -11 -8 -7 -7 -8 -10 -11 -12 -12 -13 -16 -20 -22 -22 -17 -13 -14 -17 -19 -20 -19 -16 -11 -6 -5 -7 -7 -6 -3 -5 -8 -12 -15 -15 -14 -13 -13 -14 -15 -17 -18 -17 -11 -8 -9 -13 -18 -19 -16 -12 -8 -9 -10 -9 -8 -10 -15 -19 -20 -18 -18 -19 -18 -16 -14 -12 -8 -6 -7 -12 -16 -17 -18 -19 -18 -18 -17 -18 -21 -23 -23 -23 -23 -22 -21 -20 -20 -19 -19 -20 -22 -23 -24 -24 -24 -25 -26 -25 -25 -25 -25 -24 -23 -23 -23 -24 -24 -27 -30 -33 -34 -36 -36 -35 -34 -32 -27 -22 -19 -18 -21 -23 -25 -26 -25 -23 -22 -23 -19 -20 -23 -25 -25 -22 -21 -21 -22 -23 -24 -26 -29 -31 -26 -26 -26 -28 -30 -29 -27 -25 -25 -28 -29 -28 -28 -29 -29 -29 -28 -26 -25 -24 -24 -24 -25 -26 -26 -25 -24 -23 -23 -22 -21 -21 -20 -21 -22 -24 -23 -22 -21 -20 -23 -23 -23 -22 -21 -22 -23 -23 -22 -21 -22 -24 -25 -24 -25 -22 -19 -19 -22 -25 -28 -28 -27 -26 -23 -23 -23 -24 -23 -5 -2 -1 -2 -4 -5 -4 -2 -1 -1 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -3 -3 -2 -1 0 1 1 1 1 0 0 0 0 -0 -2 -4 -5 -4 -0 -0 -4 -8 -8 -4 -0 3 5 7 8 8 8 8 7 7 6 5 4 3 2 0 -1 -1 -1 -1 0 1 -0 -2 -3 -4 -4 -3 -2 -3 -3 -5 -5 -4 -2 1 5 7 7 6 4 1 -1 -2 -1 1 3 3 -0 -5 -8 -8 -5 1 5 3 -2 -10 -12 -5 4 11 13 9 3 -4 -9 -12 -11 -9 -7 -7 -9 -9 -7 -3 1 1 -2 -5 -6 -6 -5 -4 -4 -5 -9 -13 -18 -19 -16 -10 -7 -7 -7 -5 -2 -2 -6 -13 -14 -12 -10 -11 -14 -13 -9 -1 1 -2 -6 -9 -11 -13 -15 -15 -11 -5 -2 -2 -2 -1 -1 -3 -6 -11 -17 -19 -19 -17 -15 -15 -15 -15 -17 -19 -21 -21 -19 -12 -4 -2 -6 -13 -18 -22 -24 -22 -15 -6 -6 -9 -13 -15 -15 -15 -15 -14 -11 -8 -7 -7 -9 -10 -11 -12 -12 -15 -18 -22 -24 -21 -15 -13 -14 -16 -18 -19 -17 -14 -8 -5 -6 -8 -7 -4 -3 -5 -10 -14 -15 -15 -15 -16 -15 -14 -16 -18 -18 -15 -10 -8 -9 -15 -18 -16 -12 -9 -10 -10 -8 -8 -9 -15 -19 -20 -18 -18 -18 -16 -14 -14 -14 -12 -8 -5 -9 -14 -17 -19 -19 -18 -18 -18 -19 -21 -23 -24 -24 -23 -22 -21 -21 -20 -20 -20 -21 -21 -22 -23 -24 -24 -24 -25 -25 -25 -25 -25 -24 -23 -23 -23 -24 -25 -26 -29 -32 -34 -35 -35 -35 -34 -32 -29 -25 -21 -19 -21 -24 -25 -26 -26 -23 -22 -22 -19 -20 -22 -24 -27 -23 -21 -21 -22 -25 -25 -27 -30 -32 -28 -26 -27 -28 -28 -27 -26 -25 -24 -28 -29 -28 -27 -28 -28 -29 -28 -27 -26 -25 -24 -24 -25 -26 -26 -25 -25 -24 -23 -22 -21 -21 -20 -21 -23 -24 -24 -22 -20 -18 -22 -23 -23 -22 -21 -21 -23 -24 -22 -20 -22 -24 -25 -26 -27 -24 -21 -20 -22 -25 -27 -28 -26 -26 -24 -22 -23 -24 -24 -3 -1 -1 -3 -4 -4 -2 -1 -1 -2 -3 -2 -1 -2 -3 -4 -4 -4 -4 -3 -3 -2 -2 -1 0 0 0 0 1 1 0 -1 -2 -2 -6 -9 -9 -5 -1 -3 -6 -8 -7 -3 -1 -1 0 3 6 7 7 6 6 6 7 8 8 7 6 4 2 1 -0 -1 -1 -0 0 -0 -2 -3 -4 -3 -1 -0 -0 -1 -1 -2 -3 -2 0 3 6 8 6 4 1 -1 -1 -0 2 3 4 0 -4 -8 -10 -8 -3 1 2 -4 -10 -11 -7 0 8 12 9 3 -4 -9 -10 -9 -7 -6 -7 -9 -10 -8 -2 1 1 -1 -4 -5 -5 -5 -3 -2 -5 -10 -15 -21 -21 -16 -9 -5 -6 -7 -5 -3 -3 -8 -13 -13 -11 -9 -13 -15 -13 -5 3 3 -2 -8 -11 -12 -13 -15 -14 -9 -6 -4 -4 -2 -2 -3 -5 -8 -14 -18 -18 -17 -15 -15 -14 -14 -16 -18 -19 -21 -22 -21 -15 -8 -5 -7 -13 -19 -23 -22 -18 -9 -6 -7 -11 -13 -13 -14 -14 -15 -13 -11 -9 -8 -8 -9 -10 -11 -11 -13 -16 -21 -25 -25 -17 -13 -11 -14 -16 -18 -18 -16 -12 -7 -6 -7 -8 -6 -2 -3 -6 -10 -13 -16 -19 -20 -17 -14 -15 -17 -18 -17 -13 -9 -7 -12 -16 -16 -13 -10 -10 -10 -9 -9 -9 -14 -18 -19 -17 -15 -14 -14 -13 -14 -16 -13 -9 -5 -7 -13 -17 -19 -19 -18 -18 -19 -20 -22 -23 -24 -24 -24 -23 -23 -22 -21 -21 -21 -21 -21 -20 -22 -23 -24 -25 -25 -24 -25 -25 -25 -25 -24 -24 -24 -25 -25 -26 -28 -32 -33 -34 -34 -35 -33 -32 -30 -27 -23 -21 -24 -26 -25 -26 -26 -24 -21 -21 -19 -19 -19 -22 -24 -22 -21 -22 -23 -25 -26 -28 -31 -33 -30 -28 -28 -28 -28 -28 -26 -25 -25 -28 -28 -27 -26 -28 -29 -29 -28 -28 -26 -25 -24 -24 -25 -26 -26 -26 -26 -24 -23 -21 -21 -21 -21 -21 -22 -23 -24 -22 -20 -18 -22 -23 -22 -22 -22 -21 -22 -23 -22 -20 -22 -24 -25 -26 -28 -25 -22 -21 -23 -26 -27 -25 -25 -24 -23 -23 -23 -24 -24 -3 -1 -3 -4 -3 -2 -0 -1 -2 -3 -2 -1 -1 -2 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 -0 -0 0 1 -0 -1 -1 -1 -2 -6 -8 -7 -3 -1 -3 -5 -5 -2 0 -1 -4 -4 -2 1 3 4 5 4 4 4 5 7 7 7 6 5 4 2 0 -1 -2 -1 -1 -1 -2 -3 -3 -3 -2 -1 2 3 3 1 -2 -3 -1 3 6 7 6 4 2 0 -1 0 2 4 5 1 -4 -9 -13 -10 -5 -0 1 -4 -10 -13 -12 -5 5 9 9 4 -3 -8 -10 -10 -8 -6 -7 -9 -10 -7 -3 1 1 -1 -4 -5 -5 -3 0 -0 -4 -11 -19 -23 -21 -14 -6 -4 -7 -9 -8 -4 -6 -10 -13 -12 -8 -9 -13 -16 -13 -2 4 4 -3 -9 -11 -12 -13 -14 -13 -10 -8 -6 -4 -4 -3 -4 -6 -11 -15 -17 -17 -16 -14 -14 -14 -15 -16 -17 -19 -22 -24 -22 -15 -9 -4 -7 -14 -19 -21 -18 -12 -7 -6 -8 -10 -11 -12 -14 -15 -14 -13 -11 -10 -8 -9 -10 -10 -10 -11 -14 -19 -25 -27 -20 -13 -9 -11 -15 -17 -18 -17 -15 -11 -8 -8 -8 -8 -4 -1 -1 -5 -12 -18 -22 -21 -15 -12 -13 -16 -19 -19 -16 -13 -9 -11 -15 -15 -13 -11 -11 -11 -10 -10 -10 -12 -14 -15 -15 -14 -13 -12 -12 -13 -15 -15 -11 -7 -7 -12 -16 -18 -18 -17 -17 -19 -21 -22 -23 -24 -25 -25 -25 -25 -24 -22 -22 -21 -21 -21 -20 -21 -23 -25 -26 -25 -24 -24 -26 -26 -26 -26 -26 -26 -26 -25 -25 -27 -30 -32 -33 -33 -34 -33 -30 -28 -26 -23 -24 -28 -29 -26 -26 -26 -24 -22 -21 -20 -19 -19 -21 -22 -22 -22 -23 -25 -26 -27 -28 -30 -33 -31 -29 -29 -29 -29 -29 -28 -26 -24 -26 -26 -25 -27 -29 -30 -29 -28 -28 -27 -26 -25 -26 -26 -26 -26 -26 -26 -25 -24 -23 -21 -22 -21 -21 -21 -21 -22 -21 -20 -18 -21 -22 -23 -23 -24 -23 -22 -22 -22 -21 -23 -25 -26 -26 -27 -26 -24 -22 -24 -27 -27 -25 -26 -24 -23 -23 -23 -24 -25 -3 -3 -4 -3 -2 -0 -0 -2 -3 -3 -2 -1 -2 -3 -4 -5 -5 -5 -5 -5 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -1 -0 -0 -2 -5 -4 -3 -1 -0 -3 -3 -1 3 3 0 -3 -4 -3 -1 1 3 4 3 2 2 2 3 4 5 6 6 6 5 3 1 -1 -3 -3 -3 -2 -2 -3 -5 -6 -6 -1 4 7 7 2 -2 -3 -2 2 5 6 6 5 3 1 -1 -0 2 5 5 2 -4 -11 -14 -12 -7 1 1 -4 -12 -17 -17 -8 2 9 9 2 -4 -10 -12 -11 -7 -5 -5 -8 -10 -8 -4 -0 0 -2 -5 -6 -4 1 3 1 -6 -14 -21 -23 -19 -11 -6 -7 -10 -11 -8 -6 -8 -11 -12 -8 -6 -9 -15 -18 -12 -2 4 3 -4 -9 -11 -11 -12 -14 -13 -11 -8 -5 -5 -4 -3 -3 -7 -11 -15 -16 -15 -14 -14 -14 -14 -14 -15 -17 -20 -23 -24 -22 -16 -8 -5 -9 -14 -18 -18 -14 -10 -8 -8 -9 -10 -11 -13 -15 -15 -14 -13 -12 -10 -9 -8 -8 -9 -10 -13 -18 -23 -27 -22 -15 -9 -9 -13 -16 -17 -18 -17 -15 -11 -9 -9 -9 -7 -4 -1 -2 -10 -16 -19 -18 -15 -13 -13 -15 -18 -20 -19 -16 -12 -10 -12 -14 -14 -12 -11 -11 -11 -10 -10 -10 -10 -11 -12 -13 -13 -12 -11 -12 -14 -13 -12 -9 -8 -11 -15 -19 -19 -16 -17 -19 -21 -21 -22 -24 -25 -26 -26 -26 -25 -23 -23 -22 -22 -21 -21 -21 -23 -25 -26 -25 -25 -25 -26 -28 -29 -29 -28 -28 -27 -26 -25 -26 -29 -31 -31 -31 -32 -32 -30 -27 -25 -23 -26 -29 -30 -27 -26 -27 -26 -23 -22 -21 -21 -22 -22 -23 -23 -23 -24 -25 -25 -28 -31 -31 -32 -31 -29 -29 -30 -30 -30 -29 -27 -25 -24 -24 -23 -26 -29 -30 -29 -27 -28 -28 -28 -28 -29 -27 -26 -25 -25 -25 -25 -25 -23 -22 -21 -20 -20 -20 -19 -20 -20 -20 -19 -21 -22 -23 -24 -26 -25 -24 -23 -22 -23 -25 -27 -27 -26 -26 -26 -25 -23 -24 -25 -25 -25 -26 -25 -24 -23 -24 -25 -26 -4 -3 -3 -2 -0 0 -2 -3 -2 -1 -1 -1 -2 -3 -4 -4 -6 -7 -7 -6 -3 -1 -0 -1 -2 -2 -2 -1 -1 -2 -1 0 1 -1 -3 -2 -2 -2 -3 -2 -0 3 5 4 2 1 0 0 0 1 3 3 3 3 2 1 0 1 2 3 4 5 6 5 4 2 -2 -4 -5 -4 -2 -2 -5 -8 -11 -8 -1 5 9 7 2 -2 -4 -3 1 4 6 6 6 3 1 -1 -1 2 5 5 2 -4 -11 -15 -13 -6 1 0 -6 -15 -22 -19 -8 3 10 7 0 -6 -10 -11 -8 -5 -4 -5 -9 -11 -9 -5 -1 -2 -5 -7 -6 -2 4 4 -0 -9 -18 -23 -22 -17 -9 -8 -10 -12 -11 -7 -8 -10 -13 -11 -7 -6 -10 -17 -18 -11 -2 4 1 -6 -10 -12 -12 -13 -13 -12 -10 -7 -6 -5 -3 -2 -4 -8 -12 -14 -14 -13 -14 -14 -13 -12 -13 -15 -17 -20 -24 -25 -22 -15 -8 -7 -10 -14 -17 -16 -13 -9 -7 -7 -8 -10 -12 -14 -15 -15 -14 -13 -12 -10 -9 -8 -8 -9 -12 -16 -21 -26 -24 -17 -10 -6 -10 -14 -17 -18 -18 -16 -13 -10 -9 -11 -12 -9 -4 -1 -6 -12 -16 -18 -16 -14 -13 -14 -17 -19 -20 -17 -12 -7 -8 -10 -12 -12 -11 -10 -10 -10 -10 -8 -7 -7 -10 -12 -13 -12 -11 -12 -13 -13 -12 -12 -11 -11 -14 -20 -20 -18 -18 -19 -20 -21 -22 -23 -24 -25 -26 -26 -26 -24 -24 -23 -23 -23 -22 -22 -23 -25 -26 -26 -26 -26 -26 -28 -30 -30 -30 -29 -28 -27 -25 -25 -27 -29 -30 -30 -32 -32 -30 -27 -26 -24 -24 -26 -27 -26 -26 -27 -27 -24 -22 -22 -23 -25 -24 -23 -23 -24 -25 -26 -25 -26 -29 -31 -32 -30 -29 -29 -29 -30 -30 -30 -29 -26 -24 -23 -22 -24 -27 -28 -27 -25 -27 -29 -30 -31 -31 -29 -27 -26 -25 -24 -24 -23 -22 -22 -21 -20 -19 -19 -18 -18 -19 -19 -20 -22 -23 -23 -24 -27 -26 -25 -23 -21 -22 -25 -28 -28 -25 -25 -25 -24 -22 -22 -22 -23 -25 -26 -25 -24 -23 -25 -27 -27 -3 -3 -2 -1 -0 -1 -2 -2 -1 -1 -1 -3 -3 -3 -3 -3 -6 -8 -8 -6 -3 -1 -1 -2 -3 -4 -3 -2 -1 -1 -1 0 0 -1 -1 -1 -2 -4 -4 -0 3 4 3 3 3 4 5 5 4 4 4 5 5 5 5 3 2 1 0 -0 1 3 4 6 6 5 1 -3 -5 -5 -3 -1 -2 -6 -10 -11 -8 -2 5 9 6 2 -2 -4 -3 0 3 6 7 6 3 0 -2 -1 3 6 7 3 -4 -12 -16 -14 -5 0 -1 -7 -17 -21 -16 -6 6 8 5 -1 -5 -9 -9 -7 -5 -4 -7 -10 -11 -9 -5 -3 -4 -7 -8 -6 1 4 4 -3 -13 -21 -25 -23 -14 -9 -8 -11 -13 -10 -8 -9 -13 -14 -9 -6 -6 -12 -18 -16 -10 -1 3 -2 -7 -11 -13 -13 -13 -13 -11 -9 -8 -7 -6 -4 -3 -5 -9 -12 -13 -13 -12 -12 -13 -12 -12 -13 -15 -17 -22 -25 -25 -21 -13 -8 -8 -11 -15 -16 -14 -10 -7 -5 -6 -8 -10 -12 -13 -14 -15 -15 -13 -12 -10 -8 -7 -9 -11 -14 -19 -24 -25 -21 -12 -4 -7 -11 -16 -18 -19 -18 -15 -11 -9 -12 -15 -14 -9 -2 -3 -7 -13 -17 -17 -15 -13 -13 -15 -18 -19 -19 -15 -9 -7 -9 -11 -11 -10 -10 -10 -10 -9 -7 -6 -6 -8 -11 -13 -13 -12 -12 -13 -13 -13 -15 -15 -14 -16 -19 -20 -19 -18 -18 -19 -20 -21 -22 -22 -24 -25 -26 -25 -24 -24 -24 -24 -24 -24 -24 -24 -25 -26 -27 -27 -26 -26 -28 -29 -30 -31 -31 -29 -28 -26 -24 -26 -28 -28 -29 -31 -32 -30 -27 -26 -25 -24 -23 -22 -24 -26 -27 -27 -26 -23 -23 -25 -26 -25 -22 -22 -24 -25 -26 -24 -23 -25 -28 -29 -28 -28 -29 -29 -30 -30 -31 -30 -29 -26 -23 -22 -22 -24 -26 -26 -23 -25 -28 -30 -32 -31 -30 -29 -27 -25 -24 -24 -22 -21 -23 -22 -21 -20 -19 -18 -18 -18 -18 -19 -21 -23 -24 -25 -27 -28 -27 -25 -22 -22 -24 -28 -28 -24 -23 -23 -23 -19 -19 -20 -21 -24 -25 -24 -24 -24 -26 -28 -28 -3 -2 -2 -1 -1 -1 -1 -1 -1 -2 -3 -4 -3 -3 -2 -2 -6 -8 -7 -5 -2 -1 -2 -4 -6 -5 -3 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -2 4 5 4 1 1 4 6 7 8 8 7 6 6 7 8 8 7 6 4 2 0 -1 0 2 3 4 5 4 1 -1 -3 -3 -1 -0 -0 -3 -8 -11 -9 -3 5 9 8 5 -0 -3 -3 -2 1 5 7 6 4 1 -1 -0 3 7 7 2 -6 -14 -19 -13 -5 -1 -1 -7 -13 -16 -12 -3 6 6 4 -0 -5 -8 -9 -7 -5 -5 -8 -11 -11 -8 -5 -4 -5 -8 -9 -4 1 4 2 -7 -17 -25 -28 -21 -11 -7 -8 -12 -11 -9 -8 -11 -15 -13 -8 -4 -5 -13 -17 -16 -8 1 1 -3 -8 -12 -13 -13 -13 -12 -10 -9 -8 -8 -7 -6 -5 -6 -8 -11 -12 -12 -12 -12 -11 -10 -11 -13 -15 -19 -23 -26 -25 -18 -10 -6 -8 -13 -15 -15 -12 -9 -7 -6 -6 -7 -9 -11 -13 -14 -14 -15 -14 -13 -10 -9 -9 -10 -12 -16 -22 -26 -24 -17 -7 -4 -8 -14 -18 -19 -18 -16 -13 -11 -13 -15 -15 -13 -7 -3 -4 -9 -15 -16 -15 -14 -13 -14 -16 -18 -19 -18 -12 -9 -7 -8 -9 -9 -9 -8 -8 -7 -7 -6 -6 -8 -11 -13 -14 -14 -14 -14 -14 -15 -17 -17 -17 -18 -19 -19 -18 -18 -18 -19 -20 -20 -21 -21 -22 -24 -24 -24 -24 -24 -25 -26 -26 -26 -26 -25 -26 -27 -28 -27 -27 -26 -27 -28 -29 -32 -32 -30 -27 -25 -24 -25 -26 -27 -28 -30 -30 -29 -28 -27 -27 -26 -24 -22 -23 -25 -27 -28 -26 -24 -24 -24 -24 -22 -20 -21 -24 -25 -25 -23 -22 -23 -24 -25 -26 -27 -28 -29 -30 -30 -31 -31 -30 -28 -25 -24 -23 -23 -24 -25 -23 -24 -27 -30 -32 -31 -30 -29 -28 -24 -25 -24 -23 -22 -23 -23 -23 -22 -20 -19 -18 -18 -17 -17 -20 -23 -25 -26 -28 -29 -29 -27 -24 -23 -24 -26 -26 -23 -22 -23 -22 -19 -18 -20 -21 -23 -23 -24 -24 -26 -28 -29 -29 -2 -2 -2 -1 -0 0 -0 -1 -2 -3 -3 -3 -3 -2 -2 -3 -6 -7 -7 -4 -1 -1 -4 -6 -7 -6 -3 -1 -0 -1 -2 -3 -3 -2 -1 -2 -3 -2 3 5 5 2 0 -0 2 4 5 6 6 5 5 5 6 7 7 8 8 7 5 4 3 3 2 1 -0 0 2 2 1 -1 -3 -3 -0 2 3 -1 -5 -8 -8 -3 5 9 10 7 3 -0 -2 -3 0 3 5 4 3 1 -0 1 3 5 3 -2 -9 -17 -18 -12 -5 -1 -2 -7 -11 -13 -9 -1 4 5 3 -2 -6 -9 -9 -7 -6 -7 -9 -11 -10 -6 -4 -4 -6 -9 -8 -4 -0 3 -2 -11 -22 -30 -27 -16 -8 -4 -8 -11 -9 -7 -8 -13 -15 -11 -6 -1 -7 -14 -18 -15 -6 0 0 -4 -10 -13 -13 -13 -12 -11 -9 -9 -9 -9 -9 -8 -6 -6 -8 -9 -10 -11 -11 -10 -10 -10 -12 -14 -17 -20 -24 -27 -22 -14 -7 -5 -9 -13 -15 -14 -11 -9 -8 -7 -6 -7 -10 -12 -13 -13 -14 -15 -14 -12 -11 -10 -10 -11 -14 -20 -25 -26 -22 -11 -4 -5 -9 -15 -18 -18 -16 -14 -10 -9 -11 -13 -16 -12 -6 -4 -7 -12 -14 -15 -15 -15 -15 -15 -17 -19 -20 -16 -11 -7 -6 -6 -6 -5 -4 -5 -6 -7 -8 -9 -10 -13 -15 -17 -16 -16 -15 -15 -16 -17 -18 -19 -19 -19 -19 -18 -17 -18 -18 -19 -20 -20 -20 -21 -22 -23 -24 -25 -25 -26 -27 -28 -27 -27 -26 -27 -28 -29 -28 -27 -26 -27 -28 -29 -31 -31 -29 -27 -25 -25 -24 -24 -25 -27 -28 -29 -30 -30 -29 -29 -28 -26 -23 -23 -25 -27 -28 -26 -24 -23 -22 -20 -18 -19 -21 -23 -24 -24 -23 -23 -23 -22 -23 -24 -27 -28 -28 -29 -30 -30 -31 -31 -29 -27 -26 -24 -24 -23 -24 -23 -25 -28 -32 -35 -33 -30 -27 -25 -23 -23 -23 -23 -23 -24 -24 -24 -24 -21 -19 -18 -17 -17 -16 -19 -23 -26 -25 -27 -29 -30 -29 -26 -24 -24 -25 -24 -22 -22 -22 -21 -19 -20 -21 -21 -22 -23 -23 -25 -26 -28 -29 -29 -3 -3 -2 -0 1 1 -1 -2 -3 -4 -3 -2 -2 -2 -3 -5 -6 -7 -6 -4 -1 -2 -5 -8 -8 -5 -2 -1 -1 -3 -3 -3 -2 -2 -2 -3 -2 -0 3 2 1 -1 -1 -1 0 2 3 4 4 3 2 2 3 4 4 4 5 5 4 5 5 6 5 3 -0 -2 -1 -0 0 -1 -3 -5 -3 1 6 6 3 -2 -6 -6 -3 3 8 11 9 5 2 -0 -1 0 2 3 4 3 2 2 1 1 1 -1 -6 -13 -17 -15 -10 -3 1 -1 -6 -11 -12 -6 0 4 4 0 -4 -6 -8 -8 -7 -6 -8 -10 -10 -7 -4 -3 -4 -7 -8 -8 -6 -3 -2 -7 -17 -27 -30 -24 -14 -5 -3 -9 -10 -8 -5 -9 -14 -14 -10 -2 -3 -9 -15 -19 -14 -5 0 0 -5 -11 -13 -13 -12 -11 -10 -9 -9 -10 -11 -10 -9 -7 -7 -8 -9 -10 -11 -11 -10 -10 -11 -12 -14 -18 -22 -27 -26 -21 -12 -5 -5 -10 -13 -13 -11 -9 -8 -7 -6 -6 -8 -10 -12 -12 -13 -14 -14 -14 -13 -11 -11 -11 -13 -17 -23 -27 -26 -17 -8 -4 -6 -12 -15 -17 -16 -14 -12 -9 -9 -12 -16 -15 -10 -7 -5 -9 -12 -14 -16 -16 -15 -14 -15 -18 -19 -17 -12 -7 -4 -4 -3 -3 -2 -4 -5 -7 -10 -12 -12 -12 -14 -15 -16 -16 -16 -16 -16 -17 -19 -20 -20 -19 -18 -17 -17 -17 -18 -18 -19 -19 -19 -20 -22 -24 -26 -26 -26 -27 -28 -28 -28 -28 -28 -28 -29 -29 -29 -28 -27 -27 -28 -29 -30 -30 -29 -28 -28 -27 -26 -25 -24 -25 -27 -31 -33 -33 -32 -31 -29 -27 -24 -23 -25 -27 -28 -27 -25 -23 -21 -19 -18 -19 -21 -22 -23 -23 -23 -23 -25 -23 -22 -24 -28 -29 -28 -28 -29 -30 -30 -30 -28 -26 -26 -25 -25 -24 -23 -22 -24 -28 -32 -35 -33 -30 -26 -23 -22 -22 -22 -23 -24 -25 -25 -24 -25 -22 -19 -18 -17 -16 -16 -18 -23 -26 -25 -25 -27 -29 -27 -25 -24 -24 -24 -22 -21 -21 -21 -21 -20 -20 -20 -20 -21 -22 -24 -25 -26 -27 -27 -28 -3 -4 -2 1 1 -0 -2 -4 -4 -3 -2 -1 -2 -3 -5 -6 -8 -8 -7 -5 -3 -4 -6 -7 -7 -4 -2 -2 -2 -3 -2 -2 -1 -1 -2 -2 1 2 0 -3 -4 -3 0 3 3 3 2 3 3 3 3 3 3 3 3 2 1 1 2 3 5 7 7 5 3 0 -1 -1 -1 -2 -4 -5 -5 -3 2 5 6 5 1 -4 -5 -3 2 9 11 10 8 5 1 -1 -1 0 2 4 4 4 2 0 -1 -3 -6 -11 -16 -16 -12 -5 1 1 -2 -6 -10 -8 -4 0 3 1 -2 -5 -6 -7 -7 -7 -7 -8 -9 -7 -4 -2 -2 -5 -7 -8 -8 -7 -5 -6 -12 -21 -29 -30 -23 -12 -2 -5 -9 -9 -4 -4 -9 -14 -14 -7 -2 -3 -10 -17 -19 -13 -5 1 0 -7 -10 -12 -11 -11 -11 -10 -9 -8 -10 -12 -12 -10 -8 -7 -8 -9 -11 -11 -11 -11 -11 -12 -13 -15 -18 -24 -27 -26 -20 -10 -5 -7 -10 -12 -11 -9 -8 -7 -6 -5 -6 -8 -11 -12 -13 -14 -14 -14 -14 -13 -12 -11 -13 -16 -21 -25 -28 -23 -13 -6 -4 -8 -14 -16 -16 -15 -14 -12 -10 -9 -13 -16 -15 -12 -7 -5 -9 -13 -15 -16 -14 -13 -13 -15 -17 -15 -12 -8 -4 -2 -1 -0 -1 -3 -5 -8 -11 -14 -13 -11 -11 -13 -17 -18 -17 -16 -17 -18 -20 -20 -21 -20 -19 -17 -16 -17 -18 -18 -19 -19 -19 -20 -22 -24 -27 -27 -27 -28 -28 -28 -28 -29 -29 -29 -29 -29 -29 -29 -28 -28 -29 -29 -29 -29 -29 -29 -29 -28 -27 -25 -24 -24 -28 -32 -36 -35 -33 -31 -29 -26 -23 -23 -24 -26 -28 -28 -26 -24 -21 -20 -19 -20 -22 -22 -23 -23 -23 -24 -27 -24 -23 -24 -28 -29 -27 -27 -28 -28 -27 -28 -28 -26 -25 -24 -24 -23 -21 -20 -22 -25 -28 -31 -30 -28 -25 -24 -23 -24 -24 -24 -25 -25 -24 -24 -25 -22 -20 -18 -17 -15 -15 -17 -23 -25 -25 -26 -27 -28 -25 -23 -22 -23 -22 -21 -21 -22 -21 -21 -20 -20 -21 -20 -21 -23 -24 -25 -26 -26 -26 -26 -4 -3 -0 2 0 -2 -4 -4 -3 -1 -1 -1 -3 -4 -5 -7 -9 -9 -9 -6 -5 -6 -7 -8 -7 -5 -3 -2 -2 -3 -3 -3 -3 -2 -1 2 3 1 -2 -5 -5 -2 3 5 5 4 3 3 4 5 6 6 5 5 4 3 1 0 1 2 3 4 6 6 6 5 3 1 -0 -2 -3 -5 -6 -6 -5 -1 4 6 6 2 -3 -5 -3 3 9 12 11 9 5 1 -1 -2 -0 2 5 6 5 2 -1 -4 -8 -12 -16 -16 -13 -8 -2 2 1 -2 -6 -8 -7 -3 1 1 -1 -4 -6 -7 -7 -7 -7 -6 -5 -6 -4 -3 -1 -2 -5 -7 -9 -9 -7 -7 -9 -15 -23 -28 -25 -16 -4 -3 -6 -9 -6 -2 -4 -10 -15 -13 -6 -2 -4 -11 -18 -18 -13 -4 2 -1 -6 -9 -11 -11 -11 -10 -9 -8 -9 -11 -13 -12 -10 -8 -8 -8 -9 -9 -10 -11 -11 -12 -12 -12 -14 -19 -25 -27 -25 -18 -8 -5 -6 -10 -12 -11 -9 -8 -7 -6 -5 -6 -9 -12 -13 -13 -12 -12 -13 -13 -13 -12 -12 -13 -18 -23 -28 -27 -19 -10 -4 -5 -13 -17 -18 -16 -16 -14 -11 -8 -11 -15 -17 -16 -12 -9 -8 -9 -11 -12 -12 -11 -11 -11 -12 -13 -13 -11 -7 -3 -0 1 0 -3 -5 -8 -11 -15 -13 -11 -11 -13 -17 -19 -18 -17 -16 -17 -19 -20 -21 -21 -19 -17 -16 -16 -17 -18 -19 -19 -18 -19 -21 -25 -27 -28 -28 -28 -28 -29 -29 -29 -29 -29 -28 -28 -29 -30 -30 -30 -29 -29 -29 -29 -29 -29 -28 -27 -26 -25 -23 -23 -27 -32 -35 -33 -33 -31 -28 -25 -22 -22 -22 -24 -27 -29 -28 -25 -21 -20 -19 -20 -22 -24 -25 -25 -25 -26 -28 -26 -24 -25 -26 -27 -27 -27 -27 -26 -26 -28 -29 -29 -27 -26 -25 -23 -21 -20 -21 -22 -24 -26 -26 -25 -24 -26 -26 -25 -25 -24 -24 -23 -22 -23 -23 -22 -20 -19 -17 -15 -14 -16 -22 -24 -25 -26 -26 -26 -25 -23 -21 -21 -20 -21 -23 -24 -21 -21 -21 -21 -22 -21 -23 -25 -26 -26 -27 -27 -26 -26 -4 -2 1 1 -1 -3 -4 -3 -1 -0 -1 -2 -4 -5 -6 -8 -9 -10 -9 -7 -5 -6 -7 -8 -8 -7 -5 -4 -4 -4 -5 -4 -3 -1 2 3 1 -2 -5 -6 -4 -1 2 4 5 5 3 3 4 6 7 7 7 6 5 4 4 3 3 2 2 2 3 5 7 8 7 6 4 2 -0 -2 -4 -7 -8 -7 -2 2 5 5 2 -2 -4 -3 3 8 11 11 8 4 1 -1 -1 1 3 6 7 5 1 -4 -8 -13 -16 -15 -12 -9 -6 -1 1 2 -0 -4 -5 -4 -2 0 -1 -3 -6 -8 -10 -9 -7 -4 -1 -3 -4 -4 -2 -1 -2 -5 -8 -10 -9 -7 -7 -10 -19 -26 -27 -20 -8 -3 -5 -8 -8 -3 -2 -5 -12 -15 -10 -5 -2 -5 -13 -18 -18 -13 -4 -1 -3 -7 -10 -11 -10 -10 -9 -7 -8 -10 -12 -13 -12 -11 -9 -8 -7 -7 -9 -10 -11 -12 -11 -11 -12 -15 -21 -26 -27 -24 -14 -7 -4 -7 -11 -11 -10 -8 -6 -6 -6 -5 -6 -9 -11 -13 -13 -13 -13 -13 -13 -12 -11 -12 -15 -20 -25 -28 -23 -15 -6 -5 -13 -17 -17 -15 -15 -14 -12 -9 -10 -14 -17 -18 -17 -13 -9 -6 -7 -10 -11 -11 -10 -10 -11 -13 -14 -14 -12 -7 -2 2 1 -2 -5 -8 -11 -15 -15 -13 -12 -13 -16 -19 -19 -18 -16 -16 -18 -20 -22 -22 -19 -17 -15 -15 -17 -18 -19 -20 -18 -18 -20 -23 -27 -28 -28 -29 -28 -28 -28 -29 -28 -28 -27 -27 -28 -30 -30 -31 -31 -30 -30 -29 -29 -29 -28 -27 -26 -25 -23 -22 -26 -30 -32 -31 -32 -31 -29 -27 -24 -22 -21 -22 -26 -28 -29 -27 -23 -21 -19 -20 -22 -25 -28 -27 -26 -26 -26 -25 -25 -24 -24 -25 -26 -27 -27 -24 -25 -28 -31 -32 -30 -29 -28 -27 -25 -24 -23 -22 -22 -23 -24 -24 -24 -26 -26 -25 -25 -24 -23 -22 -21 -22 -22 -21 -20 -19 -17 -15 -14 -16 -22 -24 -25 -25 -25 -25 -24 -22 -20 -20 -20 -23 -25 -26 -23 -22 -22 -22 -23 -23 -24 -26 -29 -29 -29 -28 -28 -28 -3 -1 1 -1 -3 -3 -2 0 -0 -1 -3 -3 -4 -6 -7 -9 -10 -10 -9 -7 -4 -5 -7 -9 -9 -8 -7 -5 -3 -2 -2 -3 -2 0 3 0 -3 -6 -7 -5 -2 -1 -1 -2 -0 1 2 2 2 3 4 5 5 5 6 6 6 6 6 5 3 2 1 2 4 7 8 9 8 7 5 3 0 -3 -6 -8 -7 -5 -1 3 4 2 -1 -4 -2 2 6 9 9 6 4 2 1 1 2 4 7 7 3 -1 -6 -11 -14 -13 -11 -10 -10 -7 -2 3 5 3 1 -2 -3 -2 -2 -3 -6 -10 -13 -13 -10 -4 2 1 -3 -5 -4 -0 -0 -3 -7 -10 -11 -9 -7 -7 -15 -22 -24 -21 -11 -5 -4 -7 -9 -6 -3 -2 -7 -13 -13 -9 -4 -2 -7 -13 -18 -18 -12 -5 -3 -4 -9 -11 -10 -10 -9 -8 -8 -9 -10 -12 -12 -12 -12 -10 -7 -6 -7 -10 -11 -12 -12 -11 -11 -13 -17 -22 -26 -27 -22 -13 -7 -4 -8 -10 -11 -9 -7 -7 -7 -6 -5 -7 -10 -12 -13 -14 -14 -14 -13 -11 -10 -11 -13 -17 -22 -27 -26 -20 -11 -7 -10 -12 -13 -11 -12 -13 -13 -12 -11 -13 -15 -18 -18 -15 -10 -5 -4 -8 -11 -12 -11 -10 -11 -12 -13 -14 -13 -8 -4 1 2 -1 -5 -9 -12 -15 -16 -14 -12 -12 -15 -18 -20 -19 -16 -15 -16 -19 -22 -22 -20 -18 -15 -15 -16 -18 -20 -21 -19 -18 -19 -22 -25 -27 -28 -28 -28 -27 -27 -27 -27 -27 -26 -26 -27 -29 -30 -31 -31 -31 -30 -29 -29 -28 -27 -27 -25 -24 -23 -22 -25 -28 -29 -30 -31 -32 -31 -29 -26 -23 -22 -22 -25 -28 -30 -28 -25 -22 -20 -19 -22 -25 -28 -28 -26 -26 -25 -25 -25 -26 -26 -26 -27 -28 -27 -23 -25 -29 -32 -33 -32 -31 -30 -30 -28 -27 -26 -25 -25 -25 -26 -26 -25 -26 -25 -25 -23 -22 -22 -22 -21 -21 -22 -22 -20 -19 -17 -16 -16 -17 -21 -22 -23 -23 -25 -24 -23 -22 -21 -21 -22 -25 -27 -26 -23 -22 -21 -21 -23 -23 -24 -26 -29 -30 -30 -30 -30 -30 -2 -1 -1 -3 -3 -2 0 1 -1 -2 -3 -3 -5 -7 -9 -10 -10 -10 -8 -6 -4 -5 -7 -9 -9 -9 -6 -1 2 2 -1 -2 -1 1 1 -4 -8 -10 -9 -3 1 0 -5 -10 -8 -3 0 2 0 -1 -1 1 2 3 4 5 5 5 6 6 5 3 2 2 2 3 4 6 8 9 9 8 6 3 -0 -3 -6 -7 -6 -3 1 2 2 -1 -3 -1 3 7 8 7 7 6 4 3 2 2 4 7 6 3 -1 -6 -10 -10 -10 -11 -15 -14 -9 -2 5 7 7 4 -1 -3 -3 -3 -6 -10 -14 -15 -12 -6 1 2 -2 -5 -6 -2 1 -0 -4 -8 -11 -11 -8 -5 -9 -14 -18 -19 -15 -8 -5 -5 -9 -9 -5 -2 -3 -9 -13 -12 -8 -3 -4 -8 -14 -18 -17 -11 -5 -3 -6 -9 -10 -10 -9 -8 -7 -8 -9 -10 -11 -12 -13 -11 -8 -6 -6 -7 -9 -11 -12 -12 -11 -11 -13 -18 -23 -27 -27 -21 -13 -5 -5 -9 -11 -10 -8 -7 -8 -7 -6 -6 -8 -10 -12 -14 -14 -14 -13 -12 -11 -11 -12 -14 -19 -24 -27 -25 -18 -9 -7 -8 -9 -10 -10 -12 -13 -14 -12 -12 -14 -16 -18 -17 -12 -7 -4 -7 -10 -12 -12 -11 -11 -12 -13 -14 -12 -9 -6 -2 1 0 -4 -8 -11 -14 -15 -14 -12 -11 -14 -18 -20 -20 -18 -15 -15 -17 -21 -22 -21 -19 -16 -15 -16 -18 -21 -22 -20 -19 -19 -21 -24 -27 -28 -28 -27 -26 -25 -26 -27 -26 -26 -26 -26 -28 -29 -30 -31 -31 -30 -29 -28 -28 -26 -25 -23 -23 -22 -23 -25 -27 -28 -29 -31 -32 -32 -31 -28 -25 -23 -22 -24 -28 -30 -29 -26 -24 -22 -21 -23 -26 -28 -28 -26 -26 -26 -26 -27 -28 -27 -28 -29 -29 -28 -24 -25 -29 -31 -33 -33 -33 -31 -30 -29 -28 -27 -27 -26 -26 -27 -27 -27 -25 -24 -24 -23 -22 -23 -23 -21 -21 -22 -22 -21 -18 -17 -17 -18 -20 -20 -20 -21 -22 -24 -24 -23 -22 -22 -23 -23 -25 -26 -24 -23 -22 -22 -21 -21 -22 -24 -26 -29 -31 -32 -31 -31 -32 -2 -2 -3 -4 -2 -0 1 0 -2 -3 -3 -4 -6 -9 -10 -11 -10 -9 -8 -6 -4 -5 -6 -8 -8 -7 0 6 6 2 -1 -1 -0 1 -2 -7 -11 -12 -8 1 5 2 -6 -13 -10 -4 2 4 2 -1 -1 -0 1 1 1 1 1 -0 -1 0 2 3 4 4 3 1 -1 -0 2 5 7 9 8 7 5 2 -1 -4 -6 -5 -3 -1 -1 -2 -3 -2 1 3 5 5 6 7 7 6 4 2 1 3 6 6 4 -1 -6 -7 -8 -9 -13 -17 -16 -12 -3 4 8 9 7 1 -2 -4 -6 -8 -11 -13 -13 -10 -5 -3 -3 -4 -6 -4 -1 2 1 -3 -8 -10 -9 -4 -3 -7 -12 -18 -18 -12 -7 -5 -7 -10 -8 -4 -1 -4 -10 -13 -11 -7 -4 -5 -10 -16 -18 -15 -9 -5 -4 -7 -9 -10 -9 -8 -8 -8 -8 -9 -10 -10 -11 -11 -10 -7 -6 -6 -8 -10 -11 -12 -12 -11 -12 -15 -19 -24 -27 -26 -20 -11 -5 -7 -10 -11 -9 -8 -7 -7 -6 -5 -7 -9 -11 -13 -14 -14 -14 -13 -12 -11 -11 -12 -15 -21 -25 -26 -22 -12 -6 -5 -8 -10 -9 -10 -11 -13 -11 -10 -11 -13 -17 -18 -15 -11 -6 -5 -7 -10 -12 -11 -11 -12 -12 -12 -10 -9 -8 -6 -2 -2 -4 -8 -10 -13 -14 -14 -12 -11 -14 -17 -20 -21 -19 -17 -15 -16 -19 -21 -22 -20 -18 -16 -16 -17 -20 -22 -21 -20 -19 -20 -23 -26 -28 -28 -26 -24 -23 -24 -26 -26 -26 -26 -26 -27 -28 -29 -30 -31 -31 -30 -28 -27 -24 -22 -21 -22 -23 -24 -25 -26 -28 -29 -31 -32 -33 -32 -30 -27 -25 -23 -25 -27 -29 -28 -26 -26 -26 -25 -25 -27 -28 -28 -26 -26 -26 -26 -27 -28 -27 -29 -30 -30 -27 -25 -26 -28 -31 -33 -34 -33 -31 -30 -29 -28 -27 -27 -26 -26 -27 -27 -26 -25 -24 -24 -24 -23 -24 -24 -22 -22 -23 -22 -21 -19 -18 -18 -19 -22 -20 -19 -20 -21 -24 -23 -23 -22 -23 -23 -23 -24 -25 -23 -22 -23 -23 -22 -20 -21 -23 -25 -29 -31 -32 -32 -32 -32 -3 -3 -3 -3 -0 1 0 -2 -2 -3 -3 -5 -8 -10 -11 -11 -11 -10 -8 -6 -4 -5 -6 -7 -5 -2 8 9 5 0 -1 -1 -0 -1 -5 -9 -11 -9 -2 7 6 1 -4 -6 -4 -1 2 3 3 3 3 2 1 1 -0 -1 -2 -4 -4 -3 -2 -0 2 3 3 2 0 -2 -2 -1 2 4 6 7 7 5 3 1 -1 -2 -3 -3 -2 -3 -3 -2 -1 1 2 3 4 5 6 7 6 3 1 -0 2 5 6 4 -1 -4 -6 -7 -10 -13 -16 -16 -12 -7 -0 6 11 8 3 -1 -4 -6 -7 -9 -10 -10 -11 -11 -8 -6 -5 -5 -3 0 3 1 -3 -5 -5 -3 -1 -3 -8 -14 -18 -15 -9 -5 -5 -9 -10 -7 -3 -2 -6 -10 -13 -11 -6 -5 -7 -12 -17 -17 -14 -9 -5 -6 -8 -10 -10 -10 -9 -8 -7 -7 -8 -8 -9 -10 -11 -9 -7 -7 -7 -9 -10 -11 -11 -11 -12 -13 -16 -20 -25 -27 -25 -18 -9 -6 -7 -10 -10 -8 -7 -6 -6 -6 -6 -7 -9 -11 -13 -14 -15 -15 -14 -13 -12 -11 -12 -17 -23 -26 -25 -16 -8 -4 -6 -9 -9 -9 -10 -12 -12 -11 -11 -12 -15 -18 -19 -16 -9 -5 -6 -8 -10 -10 -10 -11 -11 -9 -7 -7 -8 -8 -5 -5 -5 -6 -9 -11 -13 -14 -14 -15 -15 -17 -19 -22 -21 -19 -17 -15 -17 -20 -21 -22 -20 -18 -16 -17 -19 -21 -21 -20 -19 -19 -22 -25 -27 -27 -26 -23 -22 -23 -25 -26 -26 -26 -26 -26 -27 -28 -29 -31 -31 -31 -29 -26 -23 -21 -21 -23 -26 -27 -26 -26 -28 -28 -30 -31 -33 -32 -31 -29 -27 -25 -25 -27 -28 -28 -27 -29 -31 -30 -29 -29 -29 -27 -25 -25 -26 -26 -26 -27 -27 -30 -33 -32 -28 -26 -27 -27 -30 -32 -33 -32 -30 -30 -29 -28 -27 -27 -26 -26 -27 -26 -24 -23 -23 -24 -23 -24 -24 -24 -23 -22 -22 -22 -20 -19 -18 -18 -19 -22 -21 -20 -21 -22 -24 -24 -23 -22 -23 -24 -23 -23 -24 -23 -22 -22 -22 -23 -22 -22 -23 -26 -30 -32 -33 -32 -32 -32 -4 -3 -3 -1 0 -0 -1 -2 -2 -2 -4 -7 -10 -11 -12 -12 -11 -10 -8 -5 -4 -6 -6 -6 -3 7 9 6 1 -1 -1 -1 -1 -3 -5 -8 -9 -4 4 6 3 -1 -2 -1 1 2 3 3 4 5 5 4 2 1 0 -1 -1 -1 -1 -1 -2 -3 -2 -0 2 4 3 1 -2 -3 -3 -1 0 2 3 3 3 3 3 2 1 -0 -1 -1 -2 -1 -1 -0 0 1 2 4 4 6 6 4 2 -1 -1 1 4 6 4 1 -3 -5 -7 -10 -12 -15 -16 -15 -11 -5 4 9 7 3 -1 -4 -5 -7 -8 -10 -13 -15 -15 -11 -6 -5 -5 -5 -4 -2 -2 -3 -3 -1 2 2 -2 -9 -16 -16 -12 -7 -4 -7 -10 -10 -7 -2 -3 -7 -12 -13 -9 -6 -5 -8 -13 -17 -16 -13 -8 -6 -7 -9 -10 -11 -11 -9 -6 -6 -7 -7 -7 -8 -10 -10 -9 -7 -6 -8 -9 -10 -11 -11 -12 -12 -14 -17 -21 -25 -26 -24 -16 -10 -7 -8 -10 -8 -6 -5 -5 -6 -5 -6 -7 -9 -11 -13 -14 -16 -16 -15 -13 -12 -12 -15 -20 -24 -26 -19 -11 -5 -4 -7 -8 -8 -8 -10 -12 -12 -12 -12 -13 -17 -18 -17 -12 -8 -7 -7 -6 -7 -9 -10 -9 -6 -5 -6 -7 -8 -8 -7 -6 -5 -6 -9 -11 -13 -16 -17 -16 -17 -19 -22 -23 -22 -19 -15 -16 -18 -20 -22 -22 -20 -18 -17 -18 -19 -20 -20 -19 -19 -21 -23 -26 -26 -24 -22 -21 -22 -23 -25 -26 -26 -26 -26 -27 -28 -29 -31 -32 -31 -30 -27 -23 -21 -22 -24 -26 -26 -25 -25 -26 -26 -28 -30 -32 -32 -31 -30 -28 -27 -26 -27 -28 -28 -28 -30 -32 -32 -32 -33 -31 -28 -25 -24 -25 -25 -26 -27 -29 -33 -36 -35 -31 -29 -28 -27 -27 -30 -32 -31 -30 -30 -29 -27 -26 -27 -27 -27 -26 -26 -23 -22 -23 -24 -24 -23 -23 -22 -22 -21 -20 -20 -20 -19 -19 -18 -19 -22 -21 -21 -21 -22 -24 -24 -23 -23 -23 -24 -24 -24 -23 -23 -22 -22 -23 -23 -24 -24 -25 -27 -31 -34 -34 -33 -32 -31 -4 -3 -1 1 0 -1 -2 -2 -2 -3 -6 -9 -10 -12 -12 -12 -11 -10 -7 -5 -3 -5 -7 -4 3 8 4 0 -2 -2 -2 -3 -4 -5 -5 -7 -4 2 7 1 -2 -4 -4 -1 2 3 2 2 2 3 3 3 2 2 1 1 1 2 2 1 -1 -3 -3 -2 -0 3 5 4 1 -2 -4 -4 -3 -2 -2 -1 0 2 3 3 3 2 1 1 1 0 -0 -1 -1 -0 1 2 3 3 4 4 4 2 -1 -2 -0 3 5 5 2 -2 -5 -7 -9 -11 -13 -16 -17 -15 -8 2 7 7 3 -1 -3 -6 -8 -10 -12 -16 -18 -16 -10 -5 -5 -7 -9 -8 -7 -6 -5 -3 3 5 3 -4 -11 -15 -14 -10 -5 -6 -9 -11 -11 -6 -3 -4 -9 -13 -12 -9 -6 -5 -10 -15 -17 -16 -11 -7 -6 -7 -10 -12 -13 -11 -7 -5 -5 -6 -6 -7 -9 -11 -10 -9 -7 -7 -8 -9 -10 -11 -12 -12 -13 -15 -18 -22 -25 -26 -22 -15 -10 -7 -8 -8 -7 -5 -4 -5 -6 -6 -6 -7 -9 -11 -13 -14 -16 -16 -15 -14 -13 -14 -17 -21 -24 -21 -15 -9 -4 -5 -7 -8 -7 -7 -9 -11 -12 -12 -12 -14 -17 -17 -15 -13 -11 -10 -7 -7 -9 -10 -9 -6 -4 -4 -6 -8 -10 -10 -7 -3 -3 -6 -9 -12 -15 -18 -18 -17 -18 -22 -24 -23 -20 -15 -15 -16 -19 -21 -22 -21 -20 -18 -18 -18 -19 -20 -20 -20 -20 -22 -23 -24 -23 -22 -21 -21 -22 -24 -26 -26 -26 -26 -27 -28 -29 -31 -32 -32 -30 -27 -23 -22 -22 -23 -23 -22 -22 -22 -23 -24 -26 -28 -30 -31 -30 -30 -29 -28 -27 -26 -27 -28 -29 -30 -31 -32 -34 -34 -33 -29 -26 -25 -24 -25 -25 -30 -34 -37 -39 -37 -35 -32 -30 -27 -25 -27 -30 -31 -32 -32 -29 -26 -24 -26 -27 -27 -26 -25 -23 -23 -25 -25 -25 -23 -22 -21 -20 -19 -19 -19 -20 -19 -19 -19 -19 -21 -21 -21 -21 -23 -24 -25 -24 -24 -23 -23 -25 -25 -22 -23 -23 -23 -24 -23 -23 -25 -26 -27 -31 -34 -35 -33 -33 -31 -3 -1 1 1 -2 -3 -2 -1 -2 -4 -8 -10 -11 -11 -11 -10 -9 -8 -6 -4 -3 -5 -3 2 6 3 -1 -2 -2 -2 -3 -7 -7 -6 -6 -4 2 6 3 -3 -6 -7 -4 1 3 3 2 1 1 0 -0 1 2 2 3 3 2 2 2 1 1 -1 -3 -4 -2 1 5 6 5 2 -2 -2 -2 -2 -3 -3 -2 -1 0 1 1 1 1 1 2 2 2 0 -1 -1 0 2 2 2 3 4 4 4 1 -2 -3 -1 4 6 6 3 -2 -5 -7 -8 -9 -12 -16 -19 -17 -9 1 6 6 2 -0 -3 -6 -8 -11 -16 -19 -20 -15 -6 -3 -4 -8 -11 -11 -10 -10 -9 -3 2 4 1 -7 -12 -14 -12 -7 -6 -7 -10 -12 -10 -6 -4 -6 -10 -12 -12 -9 -6 -7 -11 -14 -16 -13 -9 -5 -5 -7 -11 -13 -12 -8 -5 -5 -5 -5 -6 -8 -10 -10 -10 -8 -7 -7 -7 -9 -10 -11 -12 -13 -14 -15 -18 -22 -26 -25 -20 -14 -9 -8 -7 -7 -5 -4 -4 -5 -5 -5 -6 -7 -9 -10 -12 -14 -15 -16 -16 -16 -15 -15 -16 -20 -21 -19 -14 -7 -4 -6 -8 -8 -6 -6 -8 -11 -12 -11 -13 -15 -17 -16 -15 -13 -11 -9 -8 -9 -9 -9 -7 -4 -3 -4 -7 -11 -12 -9 -5 -3 -5 -8 -10 -14 -18 -19 -18 -18 -21 -24 -23 -21 -18 -17 -17 -17 -20 -21 -21 -20 -19 -18 -18 -19 -21 -22 -22 -21 -20 -21 -22 -22 -22 -22 -22 -22 -23 -25 -26 -26 -27 -27 -28 -29 -31 -32 -32 -30 -26 -23 -22 -23 -22 -21 -21 -21 -21 -20 -21 -23 -27 -29 -29 -29 -28 -27 -28 -27 -26 -26 -28 -29 -30 -31 -33 -36 -37 -35 -32 -29 -27 -25 -25 -25 -32 -37 -39 -39 -38 -36 -33 -29 -27 -24 -25 -27 -30 -33 -32 -30 -26 -24 -26 -28 -28 -26 -23 -23 -24 -26 -27 -25 -24 -22 -21 -20 -20 -20 -20 -20 -19 -19 -19 -20 -21 -22 -22 -22 -24 -26 -27 -26 -25 -24 -24 -25 -25 -23 -24 -25 -25 -25 -23 -22 -24 -27 -27 -30 -34 -36 -34 -33 -31 -1 1 2 -1 -3 -3 -2 -1 -3 -6 -9 -11 -11 -11 -10 -10 -9 -7 -5 -4 -3 -3 3 5 3 -1 -3 -3 -2 -2 -5 -8 -8 -7 -6 1 6 4 -3 -7 -8 -6 -1 5 4 2 1 1 0 -1 -2 -1 1 2 3 3 1 -1 -1 -1 0 0 -2 -4 -4 -2 3 6 6 4 2 1 2 1 0 -1 -2 -3 -2 -1 -1 -1 -1 -0 1 2 3 2 0 -0 0 2 2 2 2 2 4 5 4 1 -2 -3 0 5 8 8 3 -1 -5 -7 -7 -8 -11 -15 -19 -18 -10 -1 5 5 3 1 -1 -5 -9 -14 -20 -23 -20 -9 -1 1 -3 -9 -12 -13 -14 -15 -11 -4 2 4 -2 -9 -14 -14 -9 -6 -6 -9 -13 -13 -9 -6 -4 -6 -10 -12 -12 -10 -8 -8 -11 -14 -14 -11 -8 -6 -6 -8 -11 -12 -10 -8 -7 -6 -5 -6 -7 -8 -9 -10 -10 -8 -7 -6 -7 -8 -10 -12 -12 -13 -14 -16 -19 -23 -24 -22 -18 -13 -9 -7 -6 -6 -4 -3 -3 -3 -4 -5 -6 -7 -8 -10 -12 -14 -16 -17 -17 -17 -16 -16 -18 -20 -20 -17 -11 -5 -6 -9 -11 -7 -5 -6 -9 -12 -11 -12 -14 -17 -18 -17 -15 -13 -12 -10 -9 -7 -6 -5 -4 -3 -3 -6 -12 -14 -12 -8 -5 -6 -7 -9 -13 -17 -19 -19 -19 -21 -23 -23 -22 -21 -19 -18 -18 -19 -20 -21 -20 -19 -18 -19 -20 -21 -24 -23 -22 -19 -18 -18 -20 -21 -22 -22 -22 -23 -25 -26 -27 -27 -28 -28 -29 -31 -31 -31 -29 -24 -22 -22 -22 -21 -21 -21 -22 -21 -19 -19 -21 -25 -28 -30 -29 -26 -25 -27 -27 -27 -26 -27 -29 -30 -31 -35 -38 -39 -38 -36 -33 -31 -28 -27 -26 -29 -33 -36 -36 -36 -35 -32 -28 -27 -24 -24 -25 -28 -32 -32 -30 -28 -26 -27 -28 -28 -26 -22 -22 -24 -27 -26 -26 -24 -23 -23 -22 -22 -22 -20 -20 -20 -20 -20 -21 -22 -23 -23 -22 -24 -27 -28 -27 -25 -24 -24 -24 -24 -24 -25 -25 -26 -25 -23 -22 -22 -25 -26 -29 -34 -36 -36 -34 -31 1 2 0 -3 -3 -2 -1 -2 -5 -7 -10 -11 -11 -11 -11 -9 -8 -6 -5 -4 -2 3 6 4 -0 -3 -3 -2 -2 -2 -5 -6 -7 -6 -2 6 5 -1 -8 -10 -7 -1 6 9 4 2 1 2 2 1 0 1 2 2 2 1 -2 -5 -6 -5 -3 -1 -2 -4 -5 -5 -2 1 3 4 3 4 4 4 4 2 1 -1 -1 -1 -2 -2 -3 -3 -1 0 2 4 4 3 1 1 1 1 1 1 2 3 4 3 1 -3 -3 1 6 10 8 4 -1 -4 -7 -7 -7 -10 -15 -20 -19 -12 -2 5 6 5 4 1 -4 -10 -17 -22 -22 -12 -2 4 3 -4 -9 -12 -14 -17 -17 -12 -4 3 2 -5 -11 -14 -11 -7 -6 -8 -11 -13 -12 -9 -5 -3 -6 -10 -13 -12 -9 -8 -8 -10 -13 -13 -11 -8 -6 -7 -9 -10 -9 -8 -9 -8 -7 -6 -6 -7 -8 -9 -11 -11 -10 -8 -6 -7 -9 -11 -12 -13 -14 -15 -17 -20 -22 -22 -20 -17 -12 -8 -6 -6 -5 -3 -2 -1 -2 -3 -5 -6 -7 -8 -9 -12 -14 -17 -18 -18 -16 -15 -14 -16 -19 -20 -16 -10 -8 -9 -11 -9 -5 -4 -7 -9 -10 -11 -14 -17 -20 -19 -17 -15 -14 -13 -10 -6 -4 -4 -3 -3 -3 -5 -10 -14 -15 -10 -7 -6 -7 -8 -12 -16 -19 -20 -20 -21 -22 -22 -22 -22 -21 -21 -19 -19 -19 -19 -19 -19 -20 -20 -20 -21 -24 -25 -23 -19 -15 -15 -17 -20 -23 -23 -22 -23 -24 -26 -27 -28 -28 -28 -28 -30 -31 -30 -28 -23 -22 -22 -23 -21 -21 -22 -23 -22 -19 -18 -19 -24 -28 -30 -29 -26 -25 -26 -27 -27 -26 -27 -28 -29 -32 -36 -38 -38 -38 -36 -35 -33 -31 -29 -28 -27 -27 -30 -32 -33 -32 -30 -28 -27 -25 -24 -26 -27 -30 -31 -30 -30 -28 -27 -26 -27 -27 -23 -22 -23 -25 -25 -25 -25 -25 -25 -25 -24 -23 -21 -20 -20 -21 -22 -21 -21 -22 -23 -22 -23 -25 -26 -26 -24 -23 -23 -23 -23 -25 -25 -24 -25 -24 -23 -21 -21 -22 -24 -28 -33 -36 -36 -35 -32 1 1 -2 -4 -3 -1 -2 -4 -6 -9 -10 -12 -12 -11 -11 -9 -7 -6 -5 -2 2 8 5 2 -2 -3 -3 -2 -1 -1 -2 -4 -5 -2 6 6 -1 -7 -12 -11 -3 6 12 8 3 2 2 3 3 3 3 3 4 3 1 -2 -4 -6 -6 -5 -3 -1 -2 -4 -4 -5 -5 -5 -4 -2 1 3 5 6 6 6 5 4 2 2 1 -1 -2 -3 -2 -2 -0 2 5 5 4 2 1 0 -0 0 1 2 3 3 2 -1 -3 -2 1 6 9 8 4 0 -4 -5 -6 -7 -10 -17 -23 -22 -14 -1 5 6 6 5 2 -4 -11 -18 -22 -16 -6 2 6 1 -5 -9 -12 -15 -19 -18 -11 -2 3 -0 -6 -11 -11 -8 -6 -6 -8 -12 -13 -12 -8 -4 -4 -7 -11 -13 -11 -9 -7 -8 -11 -13 -13 -11 -8 -7 -8 -8 -8 -8 -9 -10 -9 -8 -7 -7 -7 -7 -9 -10 -10 -8 -6 -5 -6 -9 -12 -13 -14 -14 -15 -17 -19 -21 -21 -19 -15 -11 -7 -6 -6 -4 -2 0 1 -1 -3 -5 -7 -7 -8 -9 -12 -15 -17 -18 -16 -14 -13 -14 -17 -19 -19 -14 -11 -10 -12 -12 -8 -5 -4 -4 -6 -9 -13 -17 -20 -20 -18 -16 -16 -14 -11 -7 -3 -3 -3 -3 -2 -4 -10 -15 -16 -13 -9 -7 -7 -9 -12 -16 -19 -21 -21 -21 -21 -21 -20 -21 -22 -22 -21 -19 -18 -18 -18 -19 -20 -21 -22 -22 -24 -24 -24 -21 -16 -14 -16 -19 -23 -23 -22 -22 -23 -26 -28 -29 -29 -28 -28 -29 -30 -29 -25 -23 -22 -22 -23 -21 -21 -22 -23 -23 -20 -18 -17 -20 -25 -29 -30 -28 -27 -28 -28 -28 -27 -26 -27 -28 -31 -34 -35 -35 -35 -34 -35 -33 -31 -29 -29 -27 -26 -26 -29 -30 -30 -28 -27 -26 -25 -25 -27 -26 -28 -30 -30 -31 -30 -28 -26 -26 -28 -26 -23 -22 -22 -23 -24 -25 -26 -26 -27 -27 -25 -23 -22 -21 -22 -23 -21 -20 -20 -21 -20 -21 -22 -23 -23 -23 -23 -23 -23 -24 -25 -24 -23 -23 -23 -22 -21 -22 -21 -23 -26 -30 -34 -35 -35 -34 1 -1 -3 -4 -2 -1 -3 -5 -7 -9 -11 -11 -11 -10 -10 -8 -7 -6 -2 3 7 6 2 -0 -2 -3 -3 -2 -1 0 -0 -4 -1 4 8 0 -6 -11 -12 -9 1 8 9 5 3 3 3 3 2 3 4 5 5 3 1 -2 -5 -5 -3 -2 -1 -2 -4 -4 -4 -5 -7 -8 -7 -6 -3 -2 -1 1 3 6 8 8 8 7 5 3 0 -1 -2 -2 -1 0 3 5 6 5 3 1 -0 -1 -1 1 1 1 -0 -1 -3 -3 -1 1 4 6 6 5 2 -0 -2 -5 -9 -15 -21 -24 -21 -10 -1 2 3 3 3 2 -2 -9 -17 -18 -14 -6 2 3 -0 -4 -8 -12 -17 -20 -18 -9 -1 1 -2 -7 -10 -8 -6 -5 -6 -10 -13 -14 -13 -8 -5 -5 -7 -11 -12 -10 -8 -7 -9 -11 -12 -12 -11 -10 -9 -8 -8 -8 -9 -10 -12 -11 -10 -9 -7 -6 -7 -8 -9 -9 -7 -6 -6 -7 -9 -12 -14 -15 -14 -15 -17 -19 -20 -20 -18 -14 -10 -6 -6 -6 -4 -1 2 2 -0 -3 -7 -7 -7 -8 -10 -13 -15 -17 -16 -15 -13 -13 -15 -18 -20 -17 -13 -9 -10 -12 -11 -7 -3 0 -2 -6 -10 -13 -16 -17 -17 -17 -16 -15 -12 -8 -3 -2 -3 -3 -3 -5 -10 -14 -16 -14 -10 -7 -7 -9 -13 -16 -18 -20 -21 -20 -20 -20 -19 -21 -22 -23 -23 -21 -19 -18 -18 -19 -20 -21 -22 -22 -23 -24 -25 -23 -20 -17 -17 -19 -22 -22 -22 -22 -22 -25 -27 -29 -29 -28 -28 -29 -30 -29 -26 -24 -23 -23 -23 -21 -20 -21 -22 -23 -20 -17 -15 -17 -22 -27 -30 -30 -30 -30 -29 -29 -27 -27 -27 -28 -30 -31 -31 -31 -31 -32 -35 -34 -31 -28 -28 -27 -25 -24 -27 -29 -30 -29 -28 -27 -26 -26 -27 -26 -27 -28 -29 -31 -30 -29 -27 -26 -28 -27 -24 -22 -21 -22 -23 -25 -27 -27 -28 -28 -26 -24 -23 -23 -23 -23 -21 -20 -20 -21 -20 -20 -22 -22 -22 -23 -23 -23 -23 -24 -24 -24 -22 -22 -21 -21 -22 -25 -23 -23 -25 -26 -30 -32 -34 -35 1 -2 -4 -3 -1 -2 -4 -7 -8 -10 -11 -11 -9 -8 -7 -7 -6 -5 4 7 6 1 -1 -2 -3 -3 -3 -2 -1 -2 -4 -3 3 7 2 -5 -9 -11 -10 -4 3 5 4 2 3 4 5 4 3 3 4 4 5 4 1 -1 -3 -3 -2 -1 -2 -4 -5 -5 -4 -4 -6 -7 -7 -6 -5 -4 -4 -4 -4 -2 1 4 7 9 9 8 5 2 0 -1 -1 -1 0 2 4 5 5 4 2 0 -1 -0 -0 -0 -0 -1 -2 -2 -1 1 2 2 3 3 4 3 1 -2 -6 -11 -17 -21 -21 -15 -7 -2 -1 -2 -2 1 2 0 -7 -15 -19 -17 -10 -1 1 -0 -4 -7 -13 -17 -19 -17 -10 -3 -0 -2 -7 -8 -7 -6 -6 -8 -11 -13 -15 -13 -9 -6 -5 -7 -9 -10 -10 -8 -7 -8 -10 -12 -12 -12 -11 -9 -7 -7 -8 -10 -12 -14 -13 -11 -9 -6 -5 -6 -7 -8 -8 -7 -6 -5 -6 -10 -13 -14 -15 -14 -15 -16 -18 -20 -20 -18 -13 -7 -6 -7 -7 -4 1 3 2 -1 -6 -8 -7 -7 -8 -10 -13 -15 -16 -15 -13 -12 -13 -16 -20 -19 -15 -9 -7 -10 -12 -11 -5 2 2 -2 -7 -10 -13 -16 -18 -19 -17 -15 -12 -9 -4 -2 -2 -3 -4 -7 -10 -13 -15 -14 -10 -7 -7 -9 -12 -15 -17 -19 -21 -21 -20 -20 -20 -21 -23 -24 -24 -22 -20 -18 -17 -18 -19 -21 -23 -23 -23 -24 -25 -26 -23 -21 -19 -19 -19 -20 -20 -21 -22 -24 -26 -28 -28 -28 -28 -29 -30 -31 -28 -26 -25 -25 -25 -22 -20 -20 -21 -21 -19 -16 -12 -14 -19 -25 -29 -32 -33 -33 -32 -31 -28 -27 -27 -29 -30 -31 -31 -31 -32 -35 -37 -36 -32 -27 -27 -26 -25 -23 -25 -27 -29 -30 -29 -28 -27 -27 -26 -25 -25 -26 -27 -29 -30 -30 -29 -26 -27 -26 -25 -24 -22 -22 -23 -26 -28 -28 -27 -27 -27 -26 -24 -24 -24 -22 -21 -20 -21 -21 -20 -20 -21 -23 -24 -24 -24 -24 -23 -24 -24 -25 -23 -22 -21 -21 -21 -25 -24 -24 -24 -24 -28 -30 -32 -35 -1 -3 -4 -2 -2 -4 -6 -7 -8 -10 -10 -9 -7 -6 -6 -6 -6 3 8 7 2 -2 -3 -3 -4 -4 -2 -3 -4 -6 -6 2 5 4 -4 -9 -11 -10 -7 -0 2 1 -0 1 3 5 5 4 3 4 4 5 4 3 2 1 -1 -1 -1 -1 -2 -4 -5 -5 -4 -5 -6 -6 -6 -5 -4 -3 -3 -5 -7 -8 -7 -4 0 4 7 9 9 7 4 2 0 -1 -1 -0 1 2 4 5 5 3 1 -0 -1 -1 -1 -1 -1 -0 1 2 2 1 0 0 1 2 2 0 -3 -7 -11 -15 -17 -16 -10 -6 -4 -6 -7 -4 -1 2 -0 -9 -17 -22 -20 -9 -2 1 -1 -4 -9 -13 -17 -18 -13 -6 -0 1 -3 -6 -8 -7 -7 -8 -9 -11 -14 -15 -13 -9 -5 -4 -7 -10 -12 -11 -8 -7 -7 -9 -11 -11 -11 -10 -9 -7 -7 -9 -12 -14 -15 -14 -11 -8 -5 -4 -5 -6 -7 -8 -7 -5 -5 -8 -11 -14 -15 -14 -14 -15 -16 -18 -20 -20 -17 -11 -6 -6 -8 -9 -5 1 4 3 -2 -7 -8 -8 -8 -8 -10 -13 -16 -15 -13 -12 -12 -14 -19 -20 -17 -11 -6 -8 -12 -12 -8 1 3 1 -5 -9 -13 -16 -18 -19 -17 -15 -13 -10 -6 -2 -0 -1 -4 -8 -10 -12 -13 -13 -11 -9 -8 -10 -13 -15 -16 -18 -20 -21 -20 -20 -20 -21 -22 -23 -23 -23 -21 -19 -17 -18 -19 -22 -23 -23 -23 -24 -25 -27 -26 -24 -22 -19 -18 -18 -19 -20 -21 -22 -25 -27 -28 -29 -29 -29 -30 -31 -30 -27 -26 -27 -27 -24 -21 -20 -20 -21 -19 -16 -11 -12 -18 -24 -29 -32 -34 -35 -36 -35 -31 -28 -27 -29 -32 -33 -33 -33 -35 -38 -40 -39 -34 -28 -27 -26 -25 -24 -24 -26 -28 -30 -30 -28 -28 -28 -28 -27 -26 -25 -25 -27 -29 -31 -30 -27 -26 -26 -25 -26 -25 -25 -25 -26 -28 -28 -27 -27 -27 -27 -26 -25 -24 -22 -21 -20 -21 -21 -20 -20 -20 -23 -24 -24 -24 -24 -24 -25 -26 -27 -25 -24 -22 -21 -20 -22 -23 -24 -25 -24 -27 -31 -33 -34 -2 -3 -2 -1 -3 -5 -7 -8 -9 -11 -10 -9 -6 -5 -5 -4 -1 8 7 3 -1 -3 -4 -5 -5 -4 -2 -4 -7 -8 -5 4 5 -0 -7 -11 -11 -7 -2 4 3 1 0 2 3 4 3 3 3 4 5 4 4 3 2 2 2 1 1 -0 -2 -3 -3 -3 -3 -4 -5 -6 -6 -5 -3 -1 -0 -1 -4 -8 -10 -10 -8 -5 -2 2 6 9 8 6 4 2 0 -1 -1 -1 1 3 5 6 5 2 -1 -2 -3 -2 -0 1 3 3 3 2 0 -1 -2 -2 -2 -2 -3 -5 -6 -9 -12 -15 -13 -9 -5 -4 -7 -7 -6 -3 -1 -6 -12 -19 -22 -16 -8 -1 1 -1 -6 -10 -15 -18 -15 -8 -2 2 1 -2 -5 -7 -8 -8 -9 -10 -12 -15 -16 -14 -10 -4 -4 -6 -10 -12 -11 -8 -7 -7 -9 -10 -11 -11 -10 -8 -7 -8 -11 -13 -14 -15 -14 -11 -7 -4 -3 -4 -5 -7 -7 -6 -4 -6 -9 -13 -15 -15 -15 -14 -15 -16 -19 -20 -20 -16 -8 -5 -6 -9 -9 -5 0 4 2 -4 -8 -10 -8 -6 -8 -11 -14 -14 -13 -12 -11 -13 -17 -20 -19 -14 -7 -7 -10 -13 -11 -3 2 3 -1 -7 -12 -16 -17 -17 -16 -14 -13 -11 -8 -4 -1 -1 -3 -7 -9 -11 -12 -13 -13 -11 -10 -11 -12 -14 -15 -17 -19 -21 -21 -20 -19 -20 -20 -21 -22 -21 -20 -19 -18 -18 -20 -22 -24 -23 -22 -23 -24 -26 -27 -25 -23 -19 -18 -19 -20 -21 -21 -20 -22 -25 -28 -29 -29 -28 -29 -31 -30 -27 -25 -26 -27 -25 -22 -21 -21 -21 -20 -18 -13 -11 -16 -22 -28 -30 -34 -36 -38 -39 -34 -29 -27 -29 -33 -34 -34 -35 -37 -40 -40 -38 -35 -29 -27 -27 -26 -24 -24 -26 -28 -29 -29 -28 -29 -32 -32 -31 -29 -26 -26 -27 -29 -31 -31 -28 -27 -26 -26 -27 -28 -28 -27 -27 -27 -27 -27 -27 -26 -27 -27 -25 -24 -22 -20 -20 -21 -21 -21 -20 -20 -24 -24 -24 -24 -24 -25 -26 -28 -29 -28 -26 -24 -21 -20 -21 -22 -24 -25 -26 -29 -32 -35 -35 -3 -3 -2 -2 -5 -6 -7 -8 -10 -11 -10 -8 -6 -5 -5 -2 4 8 3 -1 -4 -4 -5 -5 -4 -3 -3 -7 -10 -8 -2 5 3 -3 -8 -10 -9 -4 3 7 5 3 3 3 3 2 2 2 4 5 4 4 2 2 3 4 5 4 3 1 1 0 0 0 -0 -1 -3 -5 -6 -6 -4 -1 1 2 1 -2 -6 -8 -10 -10 -10 -8 -4 2 7 10 9 7 4 2 0 -1 -1 0 3 5 7 5 3 -0 -3 -4 -2 1 3 5 5 4 2 0 -2 -5 -7 -7 -7 -6 -4 -5 -8 -14 -15 -11 -5 -0 -3 -7 -9 -9 -6 -5 -8 -13 -20 -20 -14 -7 0 1 -3 -8 -13 -17 -15 -10 -4 -0 1 0 -2 -5 -7 -8 -9 -10 -11 -13 -15 -16 -14 -9 -6 -5 -7 -11 -12 -11 -10 -8 -7 -8 -10 -11 -11 -9 -9 -8 -9 -11 -12 -14 -15 -15 -12 -8 -4 -2 -3 -5 -6 -5 -4 -5 -7 -11 -14 -15 -15 -14 -14 -15 -17 -19 -21 -20 -13 -7 -5 -7 -10 -10 -6 -1 3 0 -4 -8 -8 -5 -5 -7 -10 -12 -12 -12 -11 -11 -15 -18 -20 -18 -10 -6 -7 -11 -14 -8 -2 2 1 -4 -10 -15 -16 -16 -14 -13 -12 -10 -9 -7 -5 -3 -4 -6 -8 -9 -11 -13 -14 -13 -12 -11 -12 -13 -14 -16 -19 -20 -21 -20 -19 -19 -19 -20 -20 -20 -19 -19 -19 -20 -21 -23 -24 -24 -22 -22 -23 -25 -27 -25 -23 -19 -19 -20 -22 -23 -22 -20 -20 -22 -26 -28 -28 -27 -27 -28 -27 -25 -23 -25 -25 -24 -23 -22 -23 -22 -21 -19 -16 -13 -14 -19 -25 -28 -31 -35 -38 -40 -35 -30 -27 -29 -32 -34 -35 -36 -38 -40 -38 -36 -34 -31 -28 -27 -27 -25 -25 -25 -27 -28 -28 -28 -30 -35 -37 -35 -32 -28 -28 -29 -30 -31 -31 -30 -29 -28 -27 -29 -30 -30 -28 -27 -26 -25 -26 -26 -25 -27 -27 -25 -24 -21 -20 -20 -21 -21 -21 -20 -20 -23 -25 -26 -26 -26 -25 -26 -27 -29 -28 -26 -24 -22 -20 -20 -21 -23 -26 -28 -31 -33 -35 -36 -4 -2 -2 -4 -6 -6 -7 -8 -10 -11 -10 -8 -6 -6 -4 1 6 5 -2 -5 -6 -5 -5 -4 -2 -1 -4 -11 -12 -8 2 5 0 -5 -8 -9 -5 1 6 7 6 5 4 3 1 1 1 3 5 4 3 2 0 0 2 3 5 5 4 3 3 3 4 4 3 3 1 -1 -3 -5 -6 -4 -2 1 4 3 0 -3 -6 -8 -11 -13 -14 -12 -3 7 13 14 11 7 5 2 1 0 1 2 5 7 7 5 2 -3 -4 -2 1 5 7 6 5 2 -0 -4 -8 -11 -11 -8 -5 -5 -9 -15 -17 -13 -5 2 2 -4 -9 -13 -11 -7 -5 -7 -14 -20 -20 -14 -4 1 -0 -5 -11 -15 -14 -11 -7 -4 -1 -0 -0 -2 -4 -7 -8 -9 -9 -11 -13 -15 -16 -14 -10 -7 -5 -7 -10 -12 -11 -9 -8 -7 -7 -9 -11 -10 -9 -8 -8 -9 -10 -12 -15 -17 -17 -13 -8 -3 -1 -2 -4 -5 -6 -5 -5 -8 -13 -14 -14 -14 -14 -14 -15 -17 -19 -21 -17 -11 -6 -4 -8 -11 -10 -6 0 2 -0 -4 -7 -6 -5 -6 -7 -10 -11 -11 -11 -10 -12 -16 -20 -21 -15 -7 -5 -8 -13 -11 -6 -1 2 -2 -8 -13 -15 -15 -13 -12 -11 -9 -9 -9 -8 -6 -5 -6 -8 -10 -11 -12 -13 -13 -12 -11 -12 -12 -12 -14 -17 -19 -20 -20 -19 -18 -19 -19 -20 -19 -19 -19 -19 -20 -22 -23 -24 -24 -23 -21 -21 -24 -26 -25 -22 -19 -19 -21 -23 -25 -24 -20 -18 -20 -24 -27 -27 -26 -25 -27 -26 -24 -23 -24 -24 -25 -25 -25 -26 -25 -23 -21 -19 -15 -14 -15 -22 -25 -29 -33 -36 -37 -34 -30 -27 -27 -30 -33 -35 -36 -37 -38 -36 -34 -33 -31 -29 -28 -27 -26 -25 -25 -25 -27 -27 -28 -30 -36 -38 -37 -33 -28 -28 -30 -32 -32 -33 -33 -32 -31 -30 -30 -31 -32 -30 -28 -25 -24 -24 -24 -24 -25 -26 -25 -23 -21 -20 -21 -21 -22 -21 -21 -19 -21 -24 -27 -28 -26 -25 -24 -24 -28 -26 -25 -24 -22 -20 -19 -19 -22 -27 -30 -32 -33 -35 -36 -3 -2 -3 -6 -7 -7 -7 -8 -10 -10 -9 -8 -8 -7 -2 3 5 -1 -6 -8 -7 -6 -5 -2 1 1 -7 -13 -12 -6 3 2 -2 -6 -8 -7 -1 4 6 5 5 3 2 0 -1 -0 0 1 1 0 -1 -3 -4 -4 -2 -1 -0 0 -0 -0 1 2 3 4 5 5 6 4 2 -1 -4 -6 -6 -3 -0 2 1 -1 -2 -4 -7 -10 -15 -19 -18 -8 4 14 16 13 9 6 5 3 1 -0 0 3 7 8 8 4 -1 -3 -2 1 5 7 7 6 3 -1 -5 -9 -11 -9 -7 -8 -11 -16 -18 -14 -7 1 3 -0 -6 -12 -14 -10 -5 -2 -5 -14 -19 -19 -12 -2 0 -3 -8 -11 -11 -10 -8 -7 -4 -2 -0 -0 -2 -4 -6 -7 -8 -10 -12 -14 -16 -16 -14 -11 -7 -5 -7 -9 -11 -11 -9 -7 -5 -6 -9 -10 -10 -9 -8 -8 -9 -11 -13 -15 -18 -18 -14 -7 -2 0 -1 -5 -6 -5 -4 -6 -10 -12 -13 -14 -14 -13 -14 -15 -17 -20 -20 -15 -9 -4 -6 -9 -12 -11 -5 0 2 0 -4 -6 -6 -5 -6 -7 -9 -10 -10 -10 -10 -14 -19 -23 -19 -10 -4 -4 -10 -13 -10 -4 2 -1 -6 -12 -15 -14 -13 -11 -10 -9 -9 -10 -10 -9 -7 -6 -7 -8 -10 -10 -11 -12 -13 -14 -13 -13 -11 -12 -14 -17 -19 -19 -19 -18 -18 -19 -19 -20 -20 -19 -19 -21 -22 -23 -25 -25 -23 -22 -21 -23 -25 -24 -23 -20 -20 -21 -24 -26 -25 -21 -18 -17 -21 -24 -25 -24 -25 -27 -25 -23 -22 -23 -25 -26 -28 -29 -29 -27 -24 -22 -21 -18 -14 -13 -17 -23 -26 -29 -32 -32 -32 -30 -28 -26 -28 -32 -35 -36 -36 -36 -35 -34 -33 -32 -30 -29 -27 -26 -25 -24 -23 -26 -28 -29 -30 -35 -38 -37 -33 -29 -28 -31 -34 -35 -35 -35 -34 -33 -33 -32 -31 -32 -32 -30 -26 -24 -23 -23 -23 -25 -25 -24 -22 -21 -21 -23 -24 -23 -22 -20 -19 -18 -22 -27 -29 -26 -24 -24 -24 -28 -28 -26 -23 -21 -19 -17 -17 -20 -27 -30 -31 -33 -34 -35 -2 -3 -5 -7 -7 -6 -7 -8 -10 -10 -10 -9 -9 -7 -0 3 1 -6 -9 -9 -9 -9 -6 0 3 0 -10 -14 -11 -4 3 -1 -4 -6 -7 -1 3 4 3 3 2 1 -1 -2 -1 -0 -0 -1 -2 -2 -3 -4 -4 -3 -2 -2 -3 -5 -6 -6 -5 -3 -2 -1 0 2 5 6 5 3 1 -2 -4 -5 -3 -2 -2 -1 -0 1 -0 -3 -8 -15 -22 -20 -11 2 12 13 11 8 7 6 4 1 -2 -2 1 4 8 9 5 1 -1 -1 2 5 7 7 5 3 -1 -4 -6 -7 -7 -9 -12 -16 -17 -14 -9 -4 -2 -1 -3 -8 -14 -14 -9 -2 3 -4 -13 -20 -20 -9 -1 1 -2 -8 -10 -10 -9 -8 -7 -5 -2 -1 -1 -3 -4 -6 -7 -9 -10 -12 -14 -16 -16 -14 -11 -7 -6 -6 -8 -11 -10 -8 -5 -4 -6 -8 -9 -9 -9 -9 -9 -10 -11 -14 -17 -19 -19 -15 -7 -1 1 -2 -5 -5 -4 -4 -6 -10 -12 -13 -14 -13 -14 -15 -16 -19 -21 -19 -14 -6 -4 -6 -10 -13 -10 -4 1 3 -1 -4 -6 -6 -5 -5 -7 -9 -10 -10 -9 -12 -17 -22 -21 -15 -7 -3 -7 -12 -12 -8 -0 0 -4 -9 -14 -14 -12 -10 -9 -9 -9 -10 -12 -12 -10 -8 -7 -7 -9 -10 -11 -12 -14 -17 -17 -15 -12 -11 -12 -14 -16 -18 -18 -18 -18 -19 -20 -20 -20 -19 -19 -20 -21 -23 -24 -25 -24 -22 -21 -22 -23 -24 -23 -22 -20 -19 -21 -24 -25 -22 -19 -16 -18 -22 -24 -25 -25 -26 -24 -22 -20 -22 -24 -27 -31 -33 -32 -29 -25 -24 -22 -20 -16 -12 -15 -20 -24 -26 -28 -28 -29 -29 -29 -26 -27 -30 -35 -36 -36 -36 -35 -34 -33 -32 -31 -29 -28 -26 -24 -23 -23 -27 -30 -31 -32 -35 -39 -39 -35 -31 -29 -31 -34 -37 -37 -36 -36 -35 -35 -33 -32 -33 -35 -33 -29 -25 -23 -23 -24 -25 -25 -23 -22 -22 -22 -24 -26 -26 -23 -20 -18 -17 -20 -25 -28 -26 -25 -25 -25 -27 -27 -26 -22 -20 -18 -17 -17 -19 -25 -28 -30 -31 -31 -32 -2 -3 -6 -8 -7 -7 -7 -9 -10 -11 -11 -11 -11 -7 -0 -0 -5 -10 -10 -10 -10 -9 -5 1 1 -4 -12 -12 -8 -3 0 -4 -6 -5 -1 7 5 4 4 6 4 2 1 -0 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -2 -5 -8 -9 -9 -8 -6 -5 -4 -3 -1 2 4 4 4 2 -0 -2 -3 -4 -4 -4 -2 2 4 4 0 -7 -16 -21 -19 -11 2 9 11 9 6 6 6 4 0 -3 -4 -3 1 6 7 6 3 1 1 2 4 6 6 5 3 1 -1 -3 -5 -7 -10 -14 -13 -11 -7 -6 -6 -5 -4 -6 -11 -16 -15 -9 2 4 -2 -13 -21 -16 -5 2 4 -3 -8 -10 -10 -8 -8 -7 -5 -4 -3 -3 -3 -4 -5 -7 -9 -11 -13 -14 -16 -16 -15 -11 -7 -6 -6 -9 -10 -9 -7 -5 -3 -5 -7 -8 -9 -9 -9 -10 -10 -12 -15 -19 -22 -21 -15 -6 0 1 -3 -5 -4 -3 -4 -7 -10 -12 -13 -14 -14 -15 -16 -18 -20 -20 -17 -10 -5 -5 -8 -12 -13 -9 -3 3 3 -2 -5 -6 -5 -4 -5 -7 -9 -9 -9 -11 -15 -22 -24 -20 -13 -5 -4 -9 -12 -11 -4 0 -1 -5 -12 -14 -13 -11 -10 -10 -10 -10 -12 -13 -12 -9 -6 -6 -8 -9 -10 -11 -14 -19 -20 -18 -14 -11 -10 -12 -14 -16 -17 -17 -18 -19 -20 -20 -20 -19 -18 -19 -20 -22 -23 -24 -24 -23 -21 -20 -22 -23 -24 -23 -20 -18 -16 -19 -23 -23 -21 -17 -16 -20 -23 -25 -24 -24 -23 -21 -20 -22 -22 -24 -27 -31 -32 -30 -26 -24 -23 -21 -18 -14 -15 -19 -23 -25 -26 -27 -28 -29 -29 -26 -25 -28 -32 -35 -36 -37 -36 -35 -34 -33 -32 -30 -28 -26 -24 -23 -25 -28 -29 -30 -31 -36 -40 -42 -39 -36 -33 -32 -33 -37 -37 -37 -37 -36 -36 -35 -34 -35 -36 -35 -32 -27 -25 -25 -25 -25 -25 -22 -22 -22 -23 -25 -27 -27 -25 -20 -19 -17 -18 -22 -27 -27 -26 -26 -25 -25 -25 -24 -23 -22 -19 -18 -18 -19 -23 -27 -29 -30 -28 -28 -2 -4 -7 -8 -7 -7 -8 -10 -10 -11 -12 -13 -12 -7 -2 -4 -9 -11 -10 -9 -9 -9 -5 -1 -2 -7 -10 -9 -4 -1 -5 -8 -8 -2 6 9 5 4 5 6 4 3 2 2 -0 -1 -1 -1 -1 -1 -1 -0 -0 -1 -0 -0 -1 -3 -7 -9 -11 -10 -7 -6 -5 -6 -6 -4 -1 1 3 4 3 1 -1 -4 -7 -9 -8 -3 3 6 6 2 -5 -13 -18 -17 -8 2 7 8 5 5 5 5 3 -1 -4 -6 -5 -1 3 5 5 4 3 2 3 4 4 4 3 3 2 1 -1 -3 -7 -11 -10 -7 -4 -4 -6 -6 -6 -6 -9 -14 -17 -15 -6 3 4 -3 -15 -19 -12 -3 5 3 -3 -8 -10 -9 -8 -7 -7 -6 -4 -4 -4 -4 -4 -5 -7 -9 -11 -12 -13 -15 -16 -16 -12 -8 -6 -6 -8 -10 -9 -6 -4 -3 -3 -6 -7 -9 -9 -9 -10 -11 -13 -17 -22 -25 -21 -13 -4 2 -0 -3 -5 -4 -2 -4 -7 -11 -13 -14 -15 -15 -16 -18 -20 -20 -19 -14 -9 -6 -6 -9 -14 -13 -8 1 5 2 -3 -6 -6 -4 -4 -4 -7 -8 -8 -10 -13 -21 -24 -23 -17 -8 -4 -7 -10 -11 -5 1 2 -1 -8 -12 -13 -13 -13 -12 -12 -11 -10 -11 -11 -8 -5 -4 -7 -8 -9 -9 -14 -19 -21 -20 -15 -12 -10 -10 -12 -14 -16 -18 -19 -19 -20 -20 -19 -19 -18 -18 -19 -20 -22 -23 -23 -22 -19 -19 -21 -23 -25 -25 -22 -17 -13 -14 -19 -22 -22 -19 -16 -18 -21 -23 -23 -23 -22 -21 -20 -21 -21 -21 -22 -25 -29 -30 -26 -24 -23 -22 -20 -16 -15 -18 -21 -23 -26 -27 -28 -28 -29 -27 -25 -25 -29 -33 -36 -37 -37 -37 -34 -33 -32 -30 -28 -26 -24 -23 -26 -27 -27 -27 -28 -34 -39 -41 -40 -39 -35 -32 -31 -35 -37 -38 -38 -38 -37 -37 -36 -36 -37 -36 -34 -31 -29 -28 -27 -26 -24 -21 -21 -23 -24 -26 -27 -27 -25 -20 -19 -18 -17 -19 -24 -26 -26 -25 -25 -24 -23 -22 -25 -24 -22 -20 -19 -21 -24 -26 -29 -29 -26 -25 -3 -5 -6 -7 -7 -8 -9 -10 -10 -11 -13 -14 -12 -6 -5 -7 -11 -11 -8 -8 -9 -10 -6 -3 -3 -5 -8 -4 -1 -2 -9 -11 -7 1 9 7 5 5 6 7 5 4 4 3 1 1 1 1 1 0 0 0 0 0 0 0 0 -1 -5 -8 -10 -9 -6 -4 -4 -6 -6 -6 -4 -2 0 3 4 3 1 -3 -8 -12 -14 -11 -4 2 6 6 4 -2 -9 -14 -13 -5 2 6 5 4 4 4 3 2 -1 -4 -6 -5 -2 1 3 4 4 3 2 2 2 2 1 1 0 1 1 -0 -3 -7 -8 -7 -4 -3 -5 -6 -6 -5 -7 -11 -15 -17 -15 -5 2 2 -5 -14 -14 -9 -1 5 3 -2 -7 -9 -8 -7 -6 -6 -5 -4 -5 -6 -6 -6 -6 -7 -8 -10 -11 -12 -15 -16 -15 -12 -9 -6 -8 -9 -9 -8 -6 -3 -2 -2 -5 -8 -9 -9 -9 -9 -11 -15 -20 -25 -25 -20 -11 -0 1 -2 -5 -5 -2 -2 -5 -9 -12 -14 -15 -16 -16 -17 -19 -20 -19 -16 -12 -9 -6 -6 -11 -13 -12 -5 4 5 2 -3 -6 -4 -3 -3 -4 -7 -8 -9 -12 -19 -23 -23 -19 -12 -6 -7 -9 -11 -6 2 6 5 -1 -7 -11 -13 -13 -13 -12 -10 -7 -8 -9 -9 -6 -5 -7 -8 -8 -9 -14 -19 -21 -20 -17 -14 -12 -10 -10 -11 -14 -16 -18 -19 -19 -19 -19 -18 -17 -16 -17 -19 -20 -22 -22 -21 -19 -20 -21 -24 -25 -25 -23 -19 -13 -12 -16 -20 -22 -20 -16 -16 -17 -20 -21 -22 -22 -21 -21 -20 -20 -20 -20 -21 -26 -29 -28 -25 -25 -24 -22 -18 -14 -14 -17 -21 -24 -26 -27 -28 -29 -27 -25 -25 -27 -31 -35 -37 -37 -38 -35 -32 -31 -30 -28 -26 -24 -24 -27 -26 -24 -24 -27 -33 -37 -38 -38 -38 -34 -31 -29 -32 -34 -37 -39 -39 -39 -38 -38 -37 -37 -37 -36 -34 -32 -30 -28 -26 -23 -21 -21 -22 -24 -26 -27 -26 -23 -20 -19 -18 -17 -17 -20 -23 -25 -25 -25 -24 -24 -23 -26 -26 -24 -22 -21 -22 -25 -27 -29 -28 -26 -25 -4 -5 -6 -6 -7 -9 -10 -10 -10 -11 -14 -15 -12 -5 -5 -9 -11 -9 -6 -8 -11 -11 -7 -5 -4 -5 -5 1 -1 -5 -11 -12 -5 3 7 5 4 6 7 6 6 5 5 4 3 2 2 2 2 1 1 1 1 1 1 1 1 -0 -3 -6 -7 -6 -3 -2 -3 -4 -4 -4 -4 -4 -2 1 3 3 2 -1 -6 -11 -15 -16 -12 -7 -2 2 6 5 1 -5 -10 -8 -2 3 5 3 2 2 2 2 1 -1 -3 -4 -4 -3 -2 0 2 3 3 2 2 0 -2 -4 -5 -5 -3 -1 -1 -3 -6 -7 -7 -7 -7 -6 -5 -4 -4 -6 -10 -15 -18 -14 -6 1 2 -5 -11 -13 -8 1 5 4 -1 -6 -8 -8 -7 -6 -5 -4 -4 -5 -7 -7 -7 -7 -8 -8 -9 -10 -12 -14 -15 -14 -13 -10 -8 -7 -7 -8 -8 -6 -3 -2 -3 -6 -7 -8 -8 -9 -10 -13 -17 -22 -25 -23 -17 -7 -2 -2 -5 -6 -4 -2 -2 -5 -9 -13 -15 -16 -16 -16 -17 -18 -18 -17 -15 -12 -9 -5 -7 -11 -13 -10 -1 5 6 2 -3 -4 -3 -3 -4 -6 -7 -9 -12 -18 -22 -23 -21 -17 -11 -9 -10 -11 -7 1 9 12 8 1 -5 -9 -11 -12 -10 -8 -5 -6 -10 -11 -9 -8 -8 -8 -8 -9 -14 -18 -19 -19 -17 -15 -14 -12 -10 -9 -11 -14 -16 -17 -16 -17 -18 -18 -17 -17 -16 -17 -19 -20 -21 -21 -20 -21 -23 -24 -25 -24 -23 -20 -15 -13 -16 -20 -23 -22 -18 -15 -15 -18 -20 -22 -22 -22 -21 -20 -20 -21 -20 -20 -24 -28 -28 -26 -26 -26 -24 -21 -15 -12 -13 -18 -22 -25 -26 -27 -28 -27 -26 -25 -26 -30 -33 -35 -35 -36 -34 -31 -30 -29 -27 -26 -24 -24 -26 -25 -23 -24 -29 -33 -36 -35 -35 -35 -33 -30 -26 -26 -29 -34 -38 -39 -39 -39 -38 -37 -37 -37 -36 -35 -34 -31 -29 -27 -23 -21 -21 -21 -23 -24 -26 -25 -22 -20 -19 -18 -16 -16 -18 -21 -23 -26 -26 -27 -27 -25 -27 -26 -25 -24 -23 -23 -25 -28 -28 -26 -24 -24 -5 -5 -5 -6 -8 -10 -10 -9 -9 -11 -15 -16 -12 -4 -4 -8 -10 -9 -7 -9 -11 -11 -8 -7 -6 -4 -2 1 -4 -8 -10 -10 -2 3 5 3 4 5 6 5 5 5 5 4 4 4 4 4 3 2 1 1 2 2 2 3 2 1 -3 -5 -5 -3 -0 -0 -1 -2 -2 -1 -1 -2 -3 -2 0 2 3 1 -3 -8 -12 -14 -14 -13 -12 -10 -4 3 7 5 -1 -5 -5 -1 3 3 1 1 1 1 2 1 0 -2 -3 -4 -4 -3 -1 1 2 2 2 1 -2 -5 -10 -13 -12 -8 -2 0 -3 -7 -11 -14 -13 -9 -6 -3 -1 -1 -4 -8 -15 -18 -14 -6 3 2 -5 -11 -13 -7 1 6 5 -0 -5 -7 -7 -6 -6 -4 -4 -4 -6 -7 -8 -8 -7 -7 -8 -9 -11 -12 -14 -14 -14 -13 -10 -8 -6 -6 -8 -7 -6 -3 -2 -4 -6 -7 -7 -8 -10 -11 -14 -18 -21 -23 -21 -14 -8 -5 -6 -8 -6 -3 -0 -1 -5 -9 -12 -15 -16 -15 -15 -15 -16 -16 -16 -15 -12 -7 -5 -8 -11 -13 -6 2 7 7 1 -2 -2 -2 -2 -3 -5 -8 -11 -15 -19 -21 -22 -19 -14 -11 -11 -12 -10 -1 9 17 17 11 3 -3 -8 -10 -9 -7 -4 -6 -8 -10 -10 -11 -11 -9 -8 -9 -13 -16 -18 -18 -17 -16 -15 -14 -12 -10 -10 -11 -13 -13 -13 -15 -17 -18 -18 -18 -17 -17 -18 -20 -21 -21 -22 -24 -25 -25 -23 -22 -21 -20 -18 -15 -16 -19 -22 -23 -20 -17 -15 -17 -21 -23 -23 -23 -22 -21 -22 -23 -22 -20 -22 -25 -26 -25 -26 -27 -26 -23 -17 -13 -11 -15 -20 -23 -25 -26 -26 -26 -26 -26 -26 -28 -31 -32 -33 -33 -31 -30 -29 -29 -28 -26 -25 -24 -26 -26 -24 -25 -31 -34 -35 -33 -31 -32 -32 -29 -26 -25 -27 -31 -36 -38 -38 -38 -38 -37 -37 -37 -36 -35 -35 -33 -31 -29 -24 -22 -22 -21 -21 -23 -24 -24 -21 -20 -19 -18 -16 -16 -18 -19 -21 -23 -26 -28 -28 -27 -27 -26 -25 -25 -23 -23 -25 -28 -27 -24 -23 -23 -4 -4 -5 -7 -10 -11 -10 -8 -8 -12 -17 -17 -11 -2 -2 -7 -10 -10 -8 -9 -10 -10 -9 -9 -8 -5 -2 -4 -7 -8 -8 -6 0 3 3 3 5 5 4 4 5 5 5 4 5 6 6 5 4 3 2 2 2 2 3 4 4 1 -2 -4 -3 -0 2 1 -1 -2 -1 1 1 1 0 -2 -2 -0 3 5 2 -2 -6 -10 -11 -12 -15 -18 -17 -10 -0 8 8 2 -2 -3 -0 2 2 2 3 3 3 2 2 1 -0 -1 -2 -3 -3 -2 -1 1 2 1 -0 -4 -8 -14 -17 -15 -9 -1 -1 -5 -12 -18 -18 -15 -9 -3 2 3 2 -1 -8 -15 -17 -14 -3 3 1 -5 -12 -13 -6 1 6 5 0 -4 -6 -7 -7 -6 -5 -5 -5 -5 -7 -8 -8 -8 -8 -8 -9 -11 -12 -13 -13 -12 -11 -8 -6 -5 -6 -7 -7 -6 -5 -5 -6 -7 -7 -8 -9 -10 -11 -14 -17 -21 -22 -19 -13 -8 -7 -10 -10 -6 -2 1 -0 -4 -8 -12 -14 -15 -14 -13 -13 -15 -16 -16 -15 -11 -7 -6 -8 -11 -10 -3 5 9 6 2 -0 -1 -1 -1 -3 -6 -10 -13 -17 -20 -22 -21 -16 -12 -11 -12 -13 -6 5 18 22 18 11 3 -3 -6 -8 -8 -6 -6 -7 -9 -9 -11 -11 -10 -9 -8 -12 -15 -18 -18 -17 -16 -15 -15 -14 -12 -10 -9 -9 -10 -11 -12 -14 -17 -18 -18 -18 -17 -19 -20 -21 -22 -24 -25 -25 -25 -22 -20 -19 -20 -21 -18 -17 -17 -19 -23 -23 -21 -18 -18 -21 -23 -24 -25 -24 -22 -23 -25 -24 -23 -22 -22 -21 -23 -26 -28 -27 -24 -20 -15 -10 -12 -17 -22 -24 -25 -26 -27 -28 -27 -27 -28 -29 -30 -31 -29 -28 -28 -29 -29 -28 -27 -26 -26 -28 -28 -26 -26 -30 -32 -33 -31 -30 -31 -31 -28 -28 -29 -30 -31 -33 -34 -35 -36 -36 -35 -36 -36 -36 -36 -35 -34 -33 -30 -26 -24 -23 -22 -21 -22 -23 -22 -21 -20 -20 -18 -15 -16 -17 -19 -20 -21 -23 -26 -27 -27 -26 -26 -26 -26 -24 -24 -25 -27 -26 -24 -23 -25 -3 -4 -5 -8 -11 -12 -10 -8 -8 -13 -18 -17 -10 -0 1 -5 -10 -12 -10 -9 -9 -9 -9 -10 -9 -8 -6 -8 -7 -7 -6 -1 3 3 2 4 4 4 3 4 5 6 6 6 6 6 6 6 5 4 3 2 2 3 3 3 2 -1 -3 -3 -0 4 4 2 -1 -1 -0 1 2 3 2 -1 -3 -3 -0 4 4 3 -1 -5 -6 -8 -10 -15 -19 -18 -13 -3 5 5 3 0 -0 1 1 1 2 3 4 4 4 3 1 -0 -1 -1 -2 -2 -2 -1 0 0 -0 -2 -6 -10 -13 -15 -14 -8 -4 -5 -9 -15 -19 -19 -16 -10 -1 5 7 5 -1 -9 -15 -17 -11 -0 4 1 -6 -13 -12 -7 0 6 5 2 -3 -6 -6 -7 -6 -5 -4 -4 -5 -7 -8 -8 -8 -8 -8 -10 -11 -12 -12 -12 -10 -8 -7 -5 -5 -6 -7 -8 -7 -6 -6 -6 -6 -7 -8 -9 -9 -11 -13 -16 -19 -20 -16 -12 -9 -10 -12 -12 -8 -1 2 1 -3 -8 -12 -14 -13 -12 -11 -13 -15 -16 -16 -14 -10 -7 -5 -8 -10 -7 -0 7 8 5 2 0 1 1 -1 -4 -9 -13 -17 -19 -22 -23 -21 -16 -12 -12 -15 -11 -2 13 21 20 14 7 1 -3 -7 -10 -9 -7 -7 -8 -9 -11 -12 -11 -9 -8 -11 -15 -19 -20 -19 -16 -14 -14 -15 -14 -11 -9 -7 -8 -9 -10 -12 -15 -16 -17 -17 -18 -18 -19 -20 -22 -23 -25 -25 -25 -21 -18 -18 -20 -23 -21 -18 -16 -17 -21 -23 -24 -22 -20 -22 -23 -25 -25 -24 -22 -23 -26 -27 -25 -22 -18 -18 -21 -25 -28 -28 -26 -22 -17 -10 -11 -15 -20 -23 -24 -26 -28 -30 -30 -30 -30 -30 -30 -29 -27 -26 -26 -29 -30 -29 -27 -26 -29 -30 -29 -27 -25 -26 -27 -28 -29 -30 -30 -30 -27 -31 -33 -33 -33 -31 -31 -32 -32 -33 -34 -35 -36 -37 -36 -36 -35 -33 -30 -28 -26 -25 -23 -21 -21 -22 -22 -22 -21 -20 -18 -16 -16 -17 -18 -20 -20 -22 -24 -25 -25 -26 -26 -27 -27 -25 -24 -24 -24 -24 -24 -25 -28