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 1 2 3 4 6 7 9 11 13 15 13 9 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 4 3 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 181 191 202 207 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Helicity 7 8 8 8 8 8 9 9 8 8 8 9 9 10 10 11 12 15 17 16 13 10 10 11 11 11 11 12 12 12 12 13 14 16 17 19 22 23 25 27 27 24 18 11 4 -1 -4 -5 -4 -2 -1 -1 -1 -1 -1 -1 -0 -0 0 1 2 3 5 7 9 11 11 10 7 3 -2 -7 -10 -12 -13 -13 -12 -10 -9 -8 -7 -7 -8 -10 -11 -11 -12 -12 -14 -14 -14 -14 -14 -15 -20 -24 -24 -24 -25 -25 -21 -16 -14 -16 -20 -21 -19 -16 -12 -10 -10 -13 -14 -13 -12 -12 -13 -15 -14 -11 -11 -13 -15 -13 -9 -8 -10 -13 -13 -12 -10 -11 -11 -11 -10 -9 -8 -7 -7 -6 -6 -6 -7 -6 -6 -5 -5 -6 -7 -8 -9 -9 -10 -10 -11 -11 -12 -12 -12 -13 -14 -14 -14 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -14 -14 -14 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -18 -18 -19 -19 -18 -18 -17 -16 -14 -13 -11 -11 -11 -12 -13 -13 -12 -11 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -9 -8 -8 -8 -9 -9 -8 -7 -7 -7 -8 -9 -10 -11 -10 -9 -8 -7 -6 -6 -5 -4 -3 -3 -2 -0 2 2 2 2 2 3 4 5 5 6 6 7 7 7 8 8 9 9 9 10 11 11 12 12 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 15 16 17 18 19 19 20 20 21 22 22 23 23 24 24 25 25 25 25 24 24 24 24 24 23 23 23 23 23 22 22 22 21 20 20 19 18 18 17 17 17 17 18 19 20 20 20 20 20 19 19 18 18 18 18 19 19 20 20 21 21 22 22 23 24 25 25 25 25 26 26 27 27 28 29 30 30 31 32 32 30 28 25 23 21 20 20 21 22 22 21 20 19 19 18 17 16 14 12 11 9 8 7 4 1 -1 -4 -5 -5 -4 -4 -4 -4 -5 -8 -12 -16 -18 -18 -17 -14 -11 -7 -3 0 8 8 8 9 9 9 9 9 9 9 9 10 11 12 12 13 14 15 17 15 13 11 11 11 11 11 12 12 12 12 12 12 12 12 13 14 15 18 20 23 26 28 28 24 19 12 4 -1 -3 -3 -2 -2 -3 -4 -4 -3 -3 -2 -1 0 1 2 2 3 4 6 8 9 9 7 4 -1 -7 -12 -16 -17 -17 -15 -13 -12 -11 -11 -11 -11 -12 -11 -11 -13 -16 -16 -13 -11 -12 -16 -21 -24 -24 -24 -24 -22 -18 -15 -16 -19 -21 -19 -15 -11 -9 -9 -11 -14 -14 -12 -11 -11 -13 -14 -12 -11 -12 -14 -14 -11 -8 -9 -11 -13 -12 -11 -11 -11 -11 -10 -10 -9 -8 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -6 -7 -8 -9 -9 -9 -9 -10 -10 -11 -11 -12 -13 -14 -14 -14 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -15 -15 -15 -16 -16 -16 -16 -16 -17 -17 -18 -18 -18 -18 -17 -15 -13 -11 -10 -9 -9 -10 -10 -10 -10 -9 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -7 -7 -6 -6 -6 -7 -8 -7 -7 -6 -6 -5 -5 -5 -4 -3 -2 -1 -0 2 4 6 6 5 5 5 5 6 7 7 7 7 8 9 9 9 9 10 10 11 11 12 12 13 13 14 14 14 15 15 15 15 16 16 16 15 15 15 15 15 16 16 17 18 19 19 20 21 21 22 22 23 24 24 25 25 26 26 26 26 26 26 25 25 25 24 24 24 24 23 23 23 22 22 21 21 20 19 18 17 17 17 17 18 19 20 21 22 22 21 21 20 20 19 19 20 20 20 20 21 21 21 22 23 23 24 24 24 24 24 25 26 27 28 29 30 31 33 34 34 32 30 28 25 24 23 23 23 24 24 24 23 22 21 21 20 18 16 13 12 11 10 8 6 4 1 -1 -3 -3 -3 -3 -3 -4 -5 -7 -11 -15 -18 -19 -19 -16 -13 -8 -4 0 10 10 10 10 9 9 9 10 10 10 11 12 12 13 14 15 16 17 19 16 14 13 14 13 12 12 12 12 12 12 12 12 12 11 11 11 12 12 14 15 18 21 24 27 28 26 20 11 3 -0 -1 -1 -2 -4 -5 -5 -5 -5 -4 -3 -1 0 1 2 2 2 3 5 7 8 8 4 -1 -7 -13 -17 -19 -19 -18 -16 -15 -15 -16 -14 -13 -12 -12 -14 -16 -17 -14 -10 -11 -16 -20 -22 -23 -23 -22 -19 -16 -17 -19 -21 -19 -14 -10 -8 -8 -11 -14 -15 -13 -10 -10 -11 -14 -14 -12 -12 -14 -14 -12 -9 -9 -11 -12 -12 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -6 -7 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -13 -14 -14 -13 -13 -13 -14 -14 -14 -14 -14 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -14 -14 -14 -13 -13 -14 -14 -14 -14 -15 -15 -15 -15 -16 -16 -16 -17 -17 -18 -18 -17 -15 -13 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -5 -4 -3 -2 -2 -3 -4 -4 -3 -1 0 1 3 6 9 11 10 9 8 7 8 9 9 9 9 9 10 10 10 11 11 11 11 12 12 13 13 13 14 14 15 15 16 16 16 16 17 17 17 17 17 17 17 17 17 18 18 18 19 19 20 21 21 22 22 23 24 24 25 26 26 27 27 28 28 28 27 27 26 26 26 25 25 24 24 24 24 23 23 23 22 21 20 19 18 17 17 17 19 20 22 23 24 23 23 22 21 21 21 21 20 20 20 20 20 21 22 22 23 23 23 23 23 24 24 25 25 26 28 29 31 33 35 35 34 33 31 29 27 27 26 27 27 27 27 26 25 24 23 22 20 17 15 13 12 11 10 8 6 3 1 -1 -2 -2 -2 -2 -3 -4 -6 -9 -13 -17 -19 -20 -18 -15 -10 -5 -1 11 11 10 10 10 10 11 11 12 12 12 13 13 14 14 14 15 17 18 16 14 15 16 15 14 14 13 13 12 12 11 11 11 11 11 11 11 11 10 11 12 13 15 18 23 27 29 24 16 9 4 2 2 0 -2 -4 -5 -7 -8 -8 -6 -4 -2 -1 0 1 2 3 5 7 8 7 6 2 -3 -10 -16 -19 -19 -18 -18 -18 -18 -17 -15 -14 -15 -15 -17 -16 -14 -12 -13 -17 -19 -20 -22 -22 -20 -18 -17 -20 -21 -19 -14 -10 -8 -9 -12 -15 -17 -14 -10 -9 -10 -13 -15 -13 -12 -14 -14 -13 -11 -10 -11 -12 -13 -12 -12 -12 -12 -12 -11 -11 -10 -9 -8 -8 -8 -9 -9 -9 -8 -7 -7 -6 -7 -8 -8 -8 -8 -7 -7 -8 -9 -9 -10 -11 -12 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -13 -13 -12 -13 -13 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -15 -15 -15 -16 -16 -17 -17 -16 -14 -12 -10 -8 -7 -6 -5 -4 -4 -4 -4 -3 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -2 -1 1 1 -0 -2 -4 -3 -1 1 2 4 6 10 13 14 13 11 10 10 11 11 11 10 10 11 11 12 12 12 12 12 12 13 13 14 14 14 15 15 15 16 16 17 17 17 18 18 18 19 19 19 18 19 19 19 19 20 20 20 20 21 21 22 22 23 24 24 25 26 26 27 28 28 29 29 29 29 28 28 27 27 26 26 25 25 25 25 25 24 24 24 23 22 21 19 19 18 19 20 22 23 24 25 24 23 22 22 22 21 21 21 21 20 21 21 21 22 22 23 23 23 23 23 24 24 25 25 27 28 31 33 35 36 36 35 34 33 32 32 32 32 32 31 31 30 29 27 26 24 22 19 17 15 14 13 12 10 8 6 4 2 1 0 -0 -1 -1 -2 -4 -7 -11 -15 -18 -19 -19 -16 -12 -7 -3 11 11 11 11 11 11 11 11 12 12 12 12 11 11 11 12 12 14 15 14 13 14 14 14 14 14 14 14 14 13 12 11 10 9 9 10 10 9 9 8 9 10 10 11 13 17 23 27 27 22 15 10 6 5 3 1 -2 -5 -7 -9 -10 -10 -8 -6 -4 -2 -0 2 3 4 5 6 7 7 5 0 -6 -11 -13 -15 -16 -18 -18 -17 -17 -18 -19 -18 -17 -14 -12 -12 -15 -18 -19 -19 -20 -20 -19 -18 -19 -20 -19 -15 -11 -9 -11 -14 -17 -18 -15 -10 -8 -10 -14 -16 -15 -14 -14 -14 -13 -11 -10 -11 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -9 -9 -9 -9 -10 -10 -9 -9 -8 -8 -7 -8 -9 -9 -8 -7 -6 -6 -7 -8 -9 -10 -11 -12 -13 -13 -12 -12 -13 -13 -14 -14 -14 -14 -13 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -12 -12 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -14 -12 -11 -9 -8 -7 -5 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -2 -2 -2 -1 -2 -2 -3 -3 -1 0 2 3 2 -0 -3 -4 -2 0 2 4 6 9 13 16 15 14 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 14 14 14 15 15 15 16 16 16 17 17 17 18 18 19 19 20 20 20 21 21 21 21 21 21 21 21 21 21 21 22 22 23 23 24 25 25 26 27 28 28 29 30 30 30 30 30 29 28 28 27 27 27 26 26 26 26 26 26 25 24 23 22 21 20 20 20 21 22 24 25 25 24 24 23 22 22 22 22 22 21 21 22 22 22 22 23 23 23 23 23 23 24 24 25 26 28 30 33 35 36 36 36 36 36 36 37 37 37 37 36 35 33 32 30 28 26 24 22 20 18 17 15 13 12 10 8 6 5 4 3 3 2 1 -1 -3 -6 -10 -13 -16 -18 -18 -17 -13 -9 -4 12 12 12 11 11 11 11 11 11 11 10 9 9 8 8 9 10 12 11 10 10 10 9 9 10 11 12 13 13 12 12 11 10 10 9 9 8 8 6 2 4 6 8 8 9 10 13 19 24 26 24 19 13 9 6 4 2 -0 -3 -6 -9 -11 -12 -11 -9 -7 -4 -2 -1 1 2 3 5 6 6 4 2 -1 -5 -8 -11 -13 -15 -16 -17 -19 -21 -20 -17 -13 -12 -14 -17 -19 -20 -20 -20 -20 -19 -19 -20 -19 -16 -13 -12 -13 -16 -19 -19 -16 -12 -9 -11 -15 -17 -17 -16 -15 -15 -14 -12 -11 -11 -12 -13 -13 -13 -13 -13 -13 -12 -11 -11 -10 -9 -9 -9 -9 -10 -10 -10 -11 -10 -9 -8 -8 -8 -9 -9 -7 -6 -5 -6 -7 -8 -9 -10 -11 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -13 -14 -14 -14 -14 -14 -13 -12 -11 -10 -9 -9 -8 -6 -4 -2 -1 0 1 1 1 1 1 1 0 -0 -1 -1 -0 -0 -1 -1 -0 0 0 -0 -1 -2 -2 -1 1 3 5 4 2 -2 -3 -2 0 3 4 5 8 12 16 17 15 14 13 13 13 13 13 13 13 13 14 15 15 15 14 14 14 14 14 15 15 16 16 17 17 17 17 17 17 18 18 19 20 20 21 22 23 23 24 24 24 23 23 23 22 22 22 22 22 23 23 24 24 25 25 26 26 27 28 29 30 30 31 31 31 31 30 30 29 29 28 28 28 28 28 28 28 27 27 26 25 23 22 21 21 21 21 23 24 25 25 25 24 24 23 23 23 23 23 23 23 23 23 23 23 24 24 23 23 23 23 24 24 26 27 30 33 35 36 37 37 38 39 39 40 41 41 41 39 38 36 34 32 30 27 25 24 23 21 20 18 16 14 13 11 9 8 8 7 7 5 4 1 -2 -6 -9 -12 -15 -17 -17 -15 -11 -8 -5 14 13 12 12 11 11 11 11 10 10 9 8 8 8 8 9 10 11 9 8 8 8 7 8 8 9 10 10 10 9 8 8 8 9 9 10 10 9 8 7 7 2 2 3 3 4 6 9 15 20 23 22 18 13 9 6 4 2 0 -2 -4 -7 -10 -11 -12 -10 -9 -7 -5 -3 -1 0 1 2 2 3 4 3 1 -3 -5 -8 -10 -12 -15 -18 -19 -18 -15 -13 -12 -13 -15 -18 -20 -20 -20 -19 -18 -19 -19 -17 -15 -13 -14 -16 -19 -18 -16 -13 -10 -12 -16 -18 -18 -17 -16 -16 -15 -13 -12 -11 -12 -12 -13 -13 -13 -13 -13 -12 -11 -11 -10 -9 -9 -9 -9 -10 -10 -11 -11 -12 -11 -9 -8 -8 -9 -9 -8 -6 -5 -5 -6 -7 -8 -9 -9 -10 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -10 -12 -12 -13 -13 -12 -12 -11 -10 -9 -8 -8 -8 -7 -6 -4 -2 -1 1 2 2 3 3 3 2 1 -0 1 1 2 2 1 1 1 1 1 0 -1 -1 -1 1 4 6 6 4 1 -2 -2 0 4 5 6 8 11 14 17 16 15 14 13 14 14 14 13 13 14 14 15 16 16 15 15 15 15 15 15 16 16 17 17 18 18 18 18 18 18 18 19 19 20 21 22 23 24 25 26 26 26 25 25 24 24 23 23 23 23 23 23 24 24 25 25 26 26 27 28 28 29 30 31 32 32 32 32 31 31 30 30 30 29 29 29 29 29 29 28 28 27 26 24 23 22 21 21 22 23 24 25 25 25 25 25 24 24 24 24 24 25 25 25 25 25 25 24 24 24 23 23 24 24 26 28 30 32 34 35 36 37 38 39 40 41 42 42 42 40 39 37 35 33 31 29 27 26 25 24 23 21 20 17 16 14 12 11 10 10 9 8 6 3 -1 -5 -8 -11 -14 -14 -12 -8 -4 -4 -4 13 12 11 10 10 10 10 10 10 9 9 9 9 10 10 11 11 11 8 7 7 7 7 7 7 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 8 8 6 2 -2 -2 -1 3 8 14 18 19 15 11 8 5 2 -0 -1 -2 -3 -6 -8 -10 -10 -11 -10 -9 -7 -5 -3 -2 -1 -1 0 1 2 0 -1 -3 -4 -6 -8 -11 -13 -14 -14 -13 -13 -13 -13 -14 -17 -20 -21 -20 -19 -18 -18 -17 -16 -15 -15 -16 -17 -17 -15 -13 -12 -13 -16 -18 -18 -17 -17 -17 -16 -15 -13 -12 -12 -12 -12 -13 -13 -13 -13 -12 -12 -11 -10 -9 -9 -8 -9 -9 -10 -11 -11 -12 -12 -10 -8 -7 -8 -9 -8 -7 -5 -5 -5 -6 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -6 -4 -3 -2 -1 0 2 3 4 4 4 2 1 1 2 4 4 3 3 2 3 3 2 1 0 0 2 4 6 8 7 5 1 -0 1 5 8 8 9 10 13 16 17 16 14 14 14 14 14 14 14 14 14 15 16 16 16 16 16 16 16 16 16 17 18 18 19 19 19 19 19 19 19 19 19 20 21 22 23 24 25 26 27 27 27 27 26 26 25 25 24 24 24 24 24 24 24 25 25 26 26 27 28 28 29 30 31 31 32 32 33 33 32 32 32 31 31 31 30 30 30 30 30 29 29 28 27 25 24 23 22 22 22 23 24 25 26 26 26 25 25 25 25 25 25 26 26 26 26 26 25 25 24 24 24 24 25 27 29 30 32 33 34 35 36 36 37 38 40 41 41 41 40 38 37 36 34 32 30 29 28 27 27 26 24 23 20 18 16 14 12 11 11 10 10 8 5 1 -4 -7 -10 -11 -10 -5 1 4 3 1 8 7 7 7 7 8 8 8 8 8 9 9 10 11 11 11 11 10 10 10 10 10 10 10 9 9 9 9 8 8 8 8 9 10 11 9 9 9 9 8 8 9 9 9 8 5 4 4 2 2 5 10 13 13 11 8 6 3 -1 -2 -3 -3 -4 -5 -6 -8 -9 -10 -10 -10 -9 -7 -5 -4 -3 -2 -2 -3 -3 -4 -4 -4 -5 -6 -7 -9 -9 -10 -11 -13 -14 -13 -14 -17 -20 -21 -19 -18 -17 -17 -16 -16 -16 -16 -16 -15 -14 -13 -13 -15 -17 -18 -17 -16 -16 -17 -16 -15 -14 -13 -13 -13 -12 -12 -13 -13 -13 -12 -12 -11 -11 -10 -9 -8 -9 -9 -10 -10 -12 -13 -13 -11 -7 -6 -7 -8 -9 -7 -6 -5 -5 -5 -6 -7 -7 -7 -7 -8 -9 -10 -10 -9 -9 -9 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -3 -2 -1 1 3 5 6 4 3 1 2 4 5 5 4 3 3 4 4 3 2 2 2 4 6 8 9 8 5 3 4 6 10 11 11 11 12 14 16 16 15 15 14 15 15 14 14 14 14 14 15 15 16 16 17 17 16 16 17 17 18 19 20 20 20 20 20 20 20 20 20 20 21 22 23 24 25 26 26 27 27 27 27 27 27 27 27 26 25 25 25 25 25 25 25 26 26 27 27 28 28 29 30 30 31 32 32 33 33 34 33 33 33 32 32 31 31 31 31 31 31 30 30 29 28 27 25 24 24 23 24 24 25 26 26 27 27 26 26 26 26 26 26 26 27 27 26 26 26 25 25 25 26 26 27 29 31 32 32 33 33 34 34 34 35 36 37 38 38 37 37 36 36 35 33 31 30 29 28 28 27 26 24 22 20 17 15 14 12 11 10 10 8 5 2 -1 -4 -6 -6 -3 1 5 6 6 5 4 4 4 5 6 6 6 6 7 7 7 7 7 7 8 9 9 8 8 10 10 10 10 10 10 10 10 10 9 9 8 8 7 6 4 0 3 6 8 8 8 8 8 8 9 10 11 12 9 7 7 7 6 6 7 7 6 4 1 -3 -5 -6 -6 -5 -5 -6 -8 -9 -10 -11 -12 -10 -8 -6 -4 -4 -5 -6 -7 -7 -6 -6 -5 -6 -6 -7 -7 -7 -9 -13 -14 -15 -15 -18 -20 -19 -18 -17 -17 -17 -16 -16 -16 -15 -14 -12 -12 -14 -16 -17 -17 -16 -15 -15 -16 -16 -15 -13 -13 -13 -12 -12 -12 -13 -13 -13 -13 -12 -11 -11 -10 -9 -9 -9 -9 -9 -10 -11 -13 -14 -12 -8 -5 -6 -7 -8 -8 -7 -6 -5 -5 -5 -6 -7 -7 -6 -7 -8 -9 -9 -9 -8 -8 -8 -9 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -1 1 4 6 6 5 3 3 5 6 6 5 4 3 5 5 5 4 4 3 4 6 8 10 10 9 7 6 8 11 13 14 13 13 13 15 16 16 15 15 15 15 15 15 15 15 15 15 15 15 16 17 17 17 17 17 17 18 19 20 21 21 21 21 21 21 21 21 21 21 21 22 24 25 25 26 26 26 26 27 27 27 27 27 28 27 27 26 26 26 26 26 26 26 26 27 27 28 29 29 30 30 31 32 32 33 34 34 35 34 34 33 33 32 32 32 32 32 32 31 31 30 30 29 28 27 26 25 25 25 25 26 27 27 27 28 27 27 26 26 26 26 27 27 26 26 26 26 27 27 27 28 28 29 30 31 31 31 31 31 31 31 32 33 33 34 34 34 35 35 34 34 33 32 31 30 29 28 28 26 25 23 21 19 17 15 13 12 11 10 8 5 3 2 1 0 0 2 4 5 6 7 7 6 6 7 7 7 6 6 6 6 6 5 5 5 5 5 6 7 7 7 8 8 8 8 9 9 10 10 10 9 9 9 8 7 4 0 -4 -2 -1 2 5 8 9 9 8 7 7 9 11 12 13 12 8 0 -2 -1 1 3 4 3 0 -5 -9 -11 -10 -9 -8 -8 -8 -9 -10 -11 -11 -9 -7 -6 -5 -6 -7 -8 -8 -8 -7 -7 -8 -8 -7 -6 -7 -9 -12 -13 -14 -16 -19 -20 -18 -16 -16 -16 -16 -16 -15 -14 -13 -12 -12 -14 -16 -17 -17 -15 -14 -14 -15 -15 -14 -13 -12 -12 -12 -11 -11 -12 -12 -13 -12 -12 -11 -11 -11 -10 -9 -9 -9 -9 -9 -11 -12 -14 -13 -9 -5 -5 -6 -8 -8 -8 -7 -6 -5 -5 -6 -7 -6 -6 -6 -6 -8 -9 -9 -8 -7 -7 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -5 -5 -5 -4 -3 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -1 1 4 6 6 6 6 7 8 8 7 4 3 4 6 7 7 6 5 5 6 8 9 11 11 10 9 10 12 15 16 16 15 14 14 15 15 15 15 15 15 15 16 16 16 17 17 16 16 15 16 17 17 17 17 17 18 19 20 21 21 21 21 22 22 23 22 22 21 21 22 23 24 25 25 25 26 26 26 26 26 27 27 27 27 28 27 27 27 27 27 27 27 27 27 27 28 28 29 29 30 30 31 31 32 33 34 35 35 35 35 34 34 33 33 33 33 32 32 32 32 32 31 31 30 29 28 28 27 27 27 27 27 28 28 28 28 28 28 27 27 27 27 27 27 26 26 27 28 28 29 29 29 29 29 29 30 30 30 29 29 29 29 29 29 30 30 31 31 32 32 32 31 31 31 30 30 28 27 26 24 23 22 20 18 17 16 14 13 11 8 6 5 5 6 6 6 6 5 5 6 7 9 7 7 7 7 6 4 4 4 3 3 3 3 3 4 4 5 7 7 7 8 8 8 8 8 8 9 8 8 8 9 9 8 8 6 5 2 -1 -5 -5 -3 1 5 8 10 10 10 8 5 3 3 3 1 -4 -8 -8 -6 -3 -0 3 3 -0 -6 -12 -14 -14 -13 -12 -10 -10 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -9 -10 -10 -10 -8 -7 -8 -10 -11 -12 -12 -15 -18 -18 -16 -15 -15 -15 -15 -15 -14 -13 -12 -12 -13 -16 -17 -16 -14 -13 -13 -14 -14 -13 -12 -11 -11 -10 -10 -10 -10 -11 -12 -12 -11 -11 -11 -11 -10 -9 -9 -9 -9 -9 -10 -11 -13 -13 -10 -6 -4 -6 -8 -9 -8 -8 -6 -5 -4 -5 -6 -7 -6 -5 -5 -7 -9 -9 -8 -7 -7 -7 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -6 -5 -4 -3 -3 -3 -4 -5 -5 -4 -2 -1 -1 -2 -2 -2 -1 0 1 0 -0 -1 -1 -1 -2 -3 -3 -2 -0 2 4 5 7 8 10 11 11 9 6 4 4 6 8 9 8 7 6 6 7 9 10 11 11 11 11 13 15 17 18 17 16 15 15 15 15 15 15 15 15 15 16 17 19 19 19 18 17 17 17 17 17 17 17 18 19 20 20 21 21 21 22 22 23 23 23 22 21 22 22 24 24 25 25 25 25 25 26 26 26 26 26 26 27 27 27 28 28 28 28 28 28 28 28 28 28 28 29 29 30 30 31 31 32 32 33 34 35 36 36 35 35 34 34 33 33 33 33 33 33 32 32 32 31 30 30 29 29 29 28 28 28 28 29 29 29 29 29 28 28 27 27 27 27 27 27 27 27 28 28 29 29 29 28 28 28 28 28 28 27 27 27 27 27 27 27 28 28 28 28 29 29 30 30 30 29 28 26 24 23 22 22 21 20 19 18 17 16 13 10 9 8 10 11 11 10 8 7 7 7 9 10 5 5 4 4 3 1 1 1 1 2 2 3 3 4 5 5 7 7 7 8 8 8 8 8 8 8 7 7 8 8 8 8 7 7 6 5 4 2 -1 -4 -8 -5 -2 2 5 8 11 11 11 9 6 2 -2 -5 -8 -9 -8 -6 -1 3 3 -1 -7 -12 -15 -16 -16 -14 -13 -11 -9 -8 -8 -9 -10 -10 -9 -8 -6 -6 -6 -8 -10 -11 -10 -9 -9 -10 -11 -12 -12 -13 -15 -17 -16 -15 -15 -15 -15 -14 -14 -13 -12 -11 -12 -15 -16 -15 -14 -13 -13 -13 -13 -13 -12 -11 -10 -9 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -9 -10 -11 -12 -10 -7 -4 -4 -7 -9 -10 -9 -8 -5 -3 -4 -6 -8 -7 -5 -4 -5 -8 -10 -9 -8 -7 -7 -7 -8 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -3 -3 -3 -4 -4 -4 -3 -1 -0 -0 -1 -2 -2 -0 2 3 3 2 1 0 0 0 -1 -2 -2 -1 1 3 4 6 9 12 14 14 12 8 5 4 6 9 10 9 8 7 7 8 8 10 11 12 12 12 13 15 17 18 18 17 16 15 15 15 15 14 14 14 15 15 16 19 21 23 22 21 20 19 18 18 18 18 18 18 19 20 20 20 20 21 22 23 23 23 22 22 21 22 22 23 24 24 25 25 25 25 25 25 25 25 25 25 26 26 27 27 28 28 28 28 28 28 28 28 28 28 29 29 30 30 30 31 31 32 33 34 35 35 36 36 36 35 35 34 34 34 34 34 34 33 33 32 32 31 31 30 30 30 30 29 29 29 30 30 30 30 30 30 29 28 28 28 28 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 26 26 25 25 25 25 25 25 25 25 25 26 27 28 29 29 28 27 26 24 23 22 21 21 21 21 21 21 19 16 14 13 13 14 14 14 13 12 11 10 11 11 12 2 2 3 2 1 -0 -0 0 1 2 3 3 3 4 5 6 6 7 7 7 8 8 8 8 8 8 7 8 8 9 8 8 7 6 6 5 5 5 4 3 1 -2 -9 -8 -5 -2 1 4 7 9 9 9 6 3 -1 -5 -7 -7 -4 -1 2 2 -1 -5 -10 -13 -16 -16 -15 -14 -12 -11 -11 -11 -11 -11 -11 -9 -7 -6 -6 -7 -8 -8 -8 -9 -10 -11 -11 -11 -11 -12 -14 -16 -15 -15 -14 -14 -14 -14 -13 -11 -11 -11 -13 -15 -14 -13 -12 -12 -12 -12 -11 -11 -11 -10 -9 -7 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -10 -10 -9 -7 -4 -3 -6 -8 -10 -10 -9 -5 -3 -3 -5 -8 -8 -6 -3 -4 -6 -9 -11 -9 -7 -7 -7 -8 -8 -7 -7 -6 -6 -6 -7 -7 -7 -6 -5 -4 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -2 -0 1 0 -1 -3 -3 -0 3 5 6 4 2 1 1 1 1 -1 -1 -1 1 3 4 5 8 12 16 17 15 10 6 4 6 9 12 11 10 9 8 8 8 9 11 12 13 13 14 16 17 18 18 18 16 15 15 15 15 15 14 14 14 15 16 18 21 24 25 24 23 22 21 20 20 19 19 19 19 19 19 19 19 20 21 22 22 22 22 21 21 21 22 22 23 23 24 24 24 25 25 25 25 24 24 24 24 24 25 25 26 26 27 27 27 27 27 27 27 28 28 29 29 30 30 30 31 31 32 32 33 34 35 35 36 36 36 36 35 35 35 35 35 35 35 34 34 33 32 31 31 31 30 30 30 30 30 30 30 31 31 31 31 30 29 29 28 28 28 28 27 27 26 26 25 24 24 25 25 26 26 26 26 26 25 25 24 23 23 24 24 24 24 24 24 25 26 27 28 27 26 25 24 23 22 22 22 22 23 23 23 22 20 18 18 18 17 17 16 16 15 15 15 15 14 14 3 3 3 3 2 1 1 1 2 3 3 3 3 4 5 5 5 6 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 7 6 4 4 5 6 6 6 4 2 -3 -6 -7 -6 -4 -2 1 4 6 6 5 3 1 -2 -4 -4 -2 -0 1 1 -0 -3 -7 -10 -13 -15 -16 -16 -15 -14 -13 -12 -12 -11 -10 -9 -9 -8 -8 -7 -6 -7 -9 -10 -11 -11 -12 -12 -13 -13 -15 -14 -14 -14 -14 -13 -12 -11 -10 -10 -11 -13 -14 -13 -12 -11 -11 -11 -10 -10 -10 -10 -9 -7 -6 -5 -6 -7 -8 -8 -8 -8 -9 -9 -9 -8 -7 -7 -7 -8 -8 -9 -9 -9 -7 -4 -3 -4 -7 -9 -9 -9 -6 -3 -2 -5 -8 -9 -7 -4 -2 -4 -8 -11 -10 -7 -6 -7 -7 -8 -8 -7 -6 -6 -7 -7 -8 -8 -8 -6 -5 -3 -3 -3 -3 -4 -4 -4 -3 -3 -4 -4 -5 -4 -2 0 2 1 -1 -3 -3 -1 3 5 6 5 2 1 1 2 2 1 -0 0 2 3 4 5 7 11 15 17 16 12 7 5 5 9 13 13 12 10 9 8 8 9 10 12 13 14 15 16 17 18 18 17 16 15 14 14 15 16 15 14 14 15 15 17 20 23 25 26 25 24 23 22 21 21 20 19 19 19 19 18 18 18 19 20 21 21 21 20 20 20 21 21 21 21 22 22 23 23 23 24 24 23 23 23 23 23 23 23 24 24 25 25 26 26 26 26 26 27 27 28 29 29 30 30 30 31 31 31 32 32 33 34 35 36 36 37 37 37 36 36 36 36 36 36 36 35 34 33 32 32 31 31 31 30 30 30 31 31 31 31 32 32 31 31 30 29 29 29 28 28 27 27 25 24 23 22 22 23 24 24 25 25 25 25 24 23 23 23 23 23 23 23 23 24 25 26 27 27 26 26 25 24 23 23 23 23 23 24 24 24 23 23 22 21 21 20 19 18 18 19 19 19 18 17 15 4 4 4 4 3 3 2 3 4 4 4 4 4 4 4 4 5 5 6 7 7 7 8 8 8 7 8 8 8 8 8 8 8 8 8 6 8 6 5 6 7 8 7 5 3 1 -4 -8 -6 -4 -1 1 2 3 3 2 1 -1 -2 -2 -1 -0 1 2 1 -0 -3 -7 -11 -14 -16 -16 -15 -14 -13 -11 -11 -10 -10 -10 -9 -8 -7 -6 -7 -8 -9 -9 -10 -12 -13 -13 -13 -14 -14 -14 -13 -12 -12 -11 -9 -9 -10 -11 -12 -12 -11 -10 -10 -10 -10 -10 -9 -9 -9 -8 -7 -5 -5 -6 -7 -8 -7 -7 -7 -8 -8 -8 -7 -6 -7 -7 -8 -8 -8 -8 -7 -5 -3 -3 -5 -7 -8 -8 -6 -4 -3 -5 -7 -9 -8 -5 -2 -3 -7 -10 -10 -8 -6 -6 -7 -8 -8 -7 -6 -6 -7 -8 -9 -10 -9 -8 -6 -4 -3 -2 -3 -4 -4 -5 -4 -4 -5 -5 -5 -4 -2 1 2 1 -1 -2 -3 -0 3 5 5 4 1 0 1 3 4 4 2 1 3 4 6 6 7 10 14 16 16 13 8 5 5 8 13 15 14 11 10 9 8 8 9 11 13 14 15 16 17 17 17 16 15 13 12 13 15 16 16 15 15 15 15 16 19 22 25 27 26 25 24 23 22 21 21 20 19 19 18 18 17 17 17 18 19 19 19 19 19 19 19 20 20 20 20 20 21 21 22 22 22 22 21 21 21 21 21 21 22 22 23 23 24 24 25 25 25 26 26 27 27 28 29 30 30 30 31 31 31 32 32 33 33 34 35 36 37 37 37 37 37 37 37 37 37 37 37 36 35 34 33 32 31 31 31 31 31 31 31 31 32 32 32 32 32 31 31 30 29 29 29 28 28 27 25 24 22 22 22 22 22 23 24 24 24 24 23 23 23 23 24 24 24 25 26 26 27 27 26 25 25 24 24 23 23 24 24 24 24 25 25 24 24 24 23 22 21 21 20 21 21 21 20 19 17 15 4 4 4 4 3 3 3 4 4 4 4 5 5 5 5 4 4 5 5 5 6 7 7 8 8 8 8 8 8 7 7 6 3 -0 -2 0 4 5 7 7 7 8 9 9 10 8 4 1 1 -1 -3 -2 -2 -1 -1 -0 -0 -1 -1 -2 -2 -1 -0 1 2 2 2 -0 -4 -8 -11 -13 -13 -13 -13 -11 -10 -10 -10 -9 -9 -8 -8 -8 -9 -9 -9 -8 -9 -12 -13 -12 -12 -14 -14 -13 -12 -11 -10 -9 -8 -8 -9 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -6 -5 -5 -6 -7 -7 -7 -6 -7 -7 -7 -7 -6 -6 -7 -7 -7 -8 -8 -7 -6 -4 -4 -4 -6 -7 -7 -6 -4 -3 -4 -7 -8 -8 -5 -3 -3 -6 -9 -9 -7 -5 -4 -6 -8 -8 -8 -6 -5 -6 -8 -10 -11 -11 -9 -6 -4 -2 -2 -3 -4 -5 -6 -6 -6 -7 -7 -6 -4 -2 1 2 1 -1 -2 -2 1 4 6 5 3 -0 -1 1 4 7 7 5 3 3 5 6 7 7 8 11 14 14 12 8 4 4 8 12 15 15 12 10 9 8 8 8 10 12 13 14 15 16 16 16 15 14 12 11 12 14 16 17 17 15 15 15 16 18 22 25 27 28 26 24 22 21 21 20 20 19 18 18 17 17 16 16 17 18 18 18 18 17 17 18 18 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 21 21 22 22 23 23 24 24 25 25 25 26 26 27 28 29 30 30 31 31 31 32 32 32 32 33 34 35 35 36 37 37 37 37 37 37 37 37 37 37 37 36 35 34 33 33 32 32 31 31 31 31 32 32 32 32 32 32 32 32 31 31 30 30 30 29 29 28 26 25 24 23 22 22 22 22 23 23 23 24 24 24 24 24 25 26 26 27 27 27 26 25 24 23 23 23 23 24 25 25 25 25 25 25 25 24 24 24 23 22 22 22 22 22 22 20 19 17 15 3 2 2 2 3 3 4 4 4 4 4 4 4 5 5 5 4 4 4 5 5 6 6 6 7 7 7 8 7 7 6 3 -2 -7 -7 -5 -2 2 5 7 7 8 9 10 11 11 11 11 10 6 3 1 -2 -4 -4 -4 -4 -4 -3 -3 -3 -2 -1 -1 0 1 2 3 2 1 -2 -5 -8 -10 -12 -12 -11 -10 -9 -8 -7 -7 -8 -10 -11 -11 -10 -9 -11 -12 -13 -12 -12 -13 -13 -12 -10 -9 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -9 -9 -9 -9 -9 -9 -9 -7 -5 -4 -6 -7 -8 -7 -6 -6 -6 -7 -7 -6 -6 -7 -7 -7 -7 -7 -7 -6 -5 -4 -5 -6 -6 -6 -5 -4 -4 -4 -6 -7 -7 -5 -3 -3 -5 -8 -9 -8 -5 -4 -5 -7 -8 -8 -6 -4 -5 -7 -10 -12 -12 -11 -8 -4 -2 -1 -2 -4 -6 -7 -7 -8 -9 -9 -8 -5 -2 1 2 1 -1 -2 -1 2 6 7 6 2 -1 -2 0 5 8 9 8 5 3 4 6 6 6 6 8 10 11 10 7 4 4 8 12 16 16 13 10 8 7 7 8 9 11 12 13 14 15 15 15 15 13 12 10 10 13 15 17 17 16 15 14 15 18 21 25 28 29 28 26 23 21 20 19 19 18 17 17 17 16 16 16 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 19 19 19 19 19 19 19 19 20 20 21 21 22 22 23 23 24 24 25 25 25 26 26 27 27 28 29 30 30 31 32 32 32 33 33 33 33 34 34 35 36 37 37 38 38 38 37 37 37 37 37 37 37 37 36 35 34 33 33 32 32 31 31 32 32 32 32 33 33 33 33 33 32 32 31 31 31 31 31 30 29 27 26 24 23 22 22 22 23 23 24 25 25 25 25 26 27 28 28 28 27 26 25 24 23 23 23 23 24 25 26 26 26 25 25 25 24 24 24 23 23 22 22 22 23 22 20 18 16 15 12 8 6 6 7 7 8 8 8 7 6 6 5 5 5 5 4 4 4 4 4 4 4 5 5 6 6 7 6 5 3 -1 -6 -8 -8 -7 -6 -3 1 5 7 8 8 9 10 12 13 13 13 13 12 9 4 -0 -3 -5 -7 -9 -8 -7 -6 -4 -3 -2 -1 -0 1 2 3 5 5 3 -0 -5 -9 -11 -12 -11 -9 -8 -7 -7 -8 -10 -10 -10 -11 -11 -12 -12 -13 -14 -14 -13 -11 -10 -9 -8 -8 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -10 -8 -6 -4 -5 -7 -9 -8 -6 -5 -6 -6 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -6 -6 -5 -4 -4 -4 -5 -6 -6 -5 -4 -3 -5 -8 -9 -8 -6 -5 -5 -7 -8 -7 -6 -4 -3 -6 -9 -11 -12 -11 -9 -6 -3 -2 -2 -4 -6 -8 -9 -9 -10 -11 -10 -6 -2 1 2 0 -3 -4 -2 2 7 9 7 3 -1 -2 0 5 9 11 9 6 4 3 5 5 5 4 5 6 8 7 6 5 5 8 12 15 16 14 11 8 7 6 7 8 10 11 12 13 14 15 15 14 13 11 10 10 11 14 16 16 16 15 14 15 18 21 25 29 30 29 27 25 22 20 19 18 17 16 16 16 16 16 17 18 18 18 18 17 17 17 17 17 18 18 18 18 18 18 19 19 19 19 19 19 19 20 20 20 21 21 22 22 23 23 23 24 25 25 25 26 26 26 27 27 28 29 30 30 31 32 32 33 33 33 34 34 34 34 35 36 37 37 38 38 38 38 38 37 37 37 37 37 37 37 36 35 35 34 34 33 33 32 32 32 32 32 32 33 34 34 34 34 34 33 33 33 33 33 33 32 31 29 28 27 25 24 24 24 25 25 26 26 26 26 27 28 28 28 28 27 26 25 25 24 24 24 24 25 25 26 26 25 25 25 24 24 24 24 23 23 22 22 21 21 21 20 18 17 16 13 9 6 6 7 7 7 8 8 8 8 7 7 6 6 5 5 4 4 4 3 3 3 3 4 4 5 5 5 3 -0 -5 -7 -8 -8 -8 -7 -6 -3 0 4 7 8 8 8 10 11 13 15 16 16 15 15 14 11 5 -5 -12 -13 -12 -11 -9 -6 -4 -3 -1 -1 0 1 3 4 5 4 2 -2 -6 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -10 -10 -11 -12 -13 -14 -14 -10 -8 -8 -8 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -8 -8 -8 -9 -10 -11 -9 -6 -3 -3 -6 -10 -10 -8 -6 -5 -6 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -5 -5 -4 -4 -4 -5 -5 -4 -3 -3 -5 -7 -8 -8 -7 -6 -6 -8 -9 -8 -6 -4 -3 -4 -7 -10 -11 -11 -10 -7 -5 -3 -2 -3 -5 -8 -10 -11 -11 -10 -10 -7 -2 1 2 -1 -5 -6 -4 1 7 11 9 4 0 -1 1 6 11 12 10 7 4 2 4 5 4 3 2 3 5 6 5 5 6 9 12 15 15 14 11 8 6 5 6 8 9 11 12 12 13 14 15 14 13 11 10 10 11 13 14 15 14 14 14 15 18 21 24 28 30 29 28 26 24 21 19 18 17 15 15 15 15 16 17 18 19 19 19 18 18 17 17 17 18 18 18 19 19 19 19 19 19 20 20 20 20 20 20 21 21 21 22 22 22 22 22 23 23 24 25 25 26 26 26 27 27 28 28 29 30 30 31 32 32 33 34 34 34 34 35 35 36 37 37 38 38 38 38 38 38 37 37 37 37 37 37 37 36 36 35 35 34 34 33 33 32 32 32 32 33 34 35 35 36 35 35 35 35 35 34 34 34 33 32 31 30 29 28 27 27 27 27 27 27 27 27 27 28 28 28 27 27 26 26 26 26 26 26 26 25 25 25 25 24 24 24 24 23 23 23 22 22 21 20 20 20 20 19 18 17 17 8 6 4 4 4 4 5 5 6 7 7 7 6 6 6 6 5 4 4 2 1 0 0 1 3 4 4 4 3 0 -4 -7 -8 -8 -8 -8 -8 -7 -6 -4 -2 2 5 8 9 8 7 7 11 13 15 16 16 16 16 15 13 9 2 -11 -13 -13 -11 -9 -6 -4 -2 -1 -1 -0 0 1 3 4 3 2 -1 -4 -7 -10 -11 -12 -11 -11 -10 -10 -10 -10 -10 -12 -15 -17 -17 -11 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -8 -8 -8 -9 -10 -11 -11 -7 -3 -1 -4 -9 -11 -10 -7 -6 -6 -8 -7 -6 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -5 -6 -8 -7 -6 -6 -7 -9 -11 -10 -8 -5 -3 -3 -6 -9 -11 -10 -9 -8 -6 -5 -3 -3 -4 -7 -10 -11 -11 -10 -9 -7 -3 0 0 -2 -6 -9 -6 0 7 10 9 5 1 -0 2 7 11 12 10 7 4 2 3 5 4 2 1 1 3 5 5 6 7 9 12 14 14 13 11 8 6 5 5 7 9 11 11 12 12 13 15 15 14 12 11 11 11 13 14 13 12 12 12 14 17 20 23 26 28 28 28 26 24 23 21 19 18 16 15 15 15 16 18 19 20 21 20 19 19 18 18 18 18 18 18 18 19 19 19 19 19 19 20 20 20 20 20 21 21 21 21 21 21 21 21 21 22 22 23 23 23 24 24 25 25 26 26 27 28 28 29 30 30 31 32 33 33 34 34 35 35 36 36 37 38 39 39 39 39 38 38 37 37 37 37 37 37 37 36 36 36 36 35 35 34 33 32 32 32 33 34 35 36 36 36 36 36 36 36 35 35 35 34 34 33 33 32 31 31 30 30 30 29 29 28 28 28 28 28 27 27 27 27 27 27 28 28 27 27 26 25 24 23 23 23 23 22 22 22 21 21 20 19 18 18 19 19 19 18 18 17 6 5 4 4 4 5 5 6 6 7 6 6 5 5 5 5 5 4 3 1 -1 -2 -2 -2 0 3 5 4 1 -6 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -6 -4 -1 3 6 9 11 11 9 7 7 10 13 15 16 16 15 14 10 3 -3 -8 -11 -11 -11 -9 -7 -5 -3 -2 -2 -2 -1 1 3 4 4 1 -2 -5 -8 -9 -11 -11 -12 -12 -11 -10 -10 -12 -15 -17 -16 -11 -8 -8 -8 -8 -8 -8 -8 -9 -8 -8 -8 -8 -8 -8 -9 -10 -12 -12 -9 -4 -1 -2 -7 -11 -11 -9 -7 -7 -8 -9 -8 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -4 -5 -6 -7 -7 -6 -6 -8 -10 -11 -11 -9 -6 -4 -4 -6 -9 -10 -10 -9 -8 -7 -6 -4 -3 -3 -5 -8 -10 -11 -10 -9 -7 -4 -1 -0 -2 -6 -9 -8 -1 5 9 9 5 1 -0 2 6 11 12 10 6 3 2 3 5 6 4 1 1 2 5 6 6 7 9 12 13 13 12 10 8 5 4 5 7 9 11 12 12 12 13 15 16 15 13 12 12 12 13 14 13 11 10 10 12 15 18 21 24 26 27 26 25 24 23 22 21 19 18 17 17 17 18 19 20 21 22 21 20 19 18 18 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 19 19 19 20 20 20 19 19 19 20 20 20 20 20 21 21 22 22 23 23 24 25 25 26 27 27 28 29 30 31 32 33 33 34 35 35 36 37 38 39 39 39 39 39 39 38 38 38 38 37 37 36 36 36 37 37 36 36 35 34 33 32 32 33 33 34 35 36 36 36 36 36 36 36 35 35 35 34 34 33 33 33 33 33 33 32 31 31 30 30 29 28 28 27 27 27 27 28 28 28 28 28 28 27 25 24 23 22 22 21 21 21 20 20 19 18 17 17 17 18 18 18 18 17 16 8 7 7 8 9 9 10 10 10 9 9 7 6 5 4 4 4 4 2 0 -2 -3 -5 -6 -6 -2 4 5 -1 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -5 -3 0 4 7 10 12 11 10 8 5 4 10 13 14 13 11 8 5 1 -2 -5 -8 -9 -10 -9 -7 -6 -6 -6 -5 -3 -1 1 2 2 1 0 -1 -3 -6 -9 -11 -11 -11 -10 -11 -12 -13 -14 -13 -10 -9 -9 -9 -8 -8 -8 -9 -9 -8 -8 -7 -7 -8 -9 -10 -12 -12 -10 -6 -2 -2 -5 -10 -12 -11 -9 -8 -8 -10 -9 -8 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -5 -5 -6 -5 -5 -4 -4 -3 -3 -4 -5 -6 -7 -6 -6 -6 -8 -10 -12 -12 -10 -8 -6 -6 -7 -9 -11 -11 -10 -9 -8 -8 -6 -4 -2 -3 -5 -8 -10 -10 -9 -7 -4 -1 -0 -2 -5 -8 -8 -3 4 8 8 5 1 -1 1 5 8 10 9 6 3 2 3 6 8 7 3 2 3 5 7 7 8 9 11 12 13 11 9 7 5 4 5 7 9 11 12 12 13 14 15 16 16 14 13 13 13 14 14 13 10 8 8 10 13 17 19 22 24 25 25 24 22 22 21 21 20 19 18 19 19 20 21 21 22 22 21 19 18 17 16 16 16 15 15 15 15 15 15 14 14 14 13 13 14 14 14 15 16 16 17 17 17 18 17 18 18 18 18 18 18 18 18 19 19 20 20 21 21 22 23 23 24 25 26 27 28 29 30 31 32 33 34 35 35 36 37 38 39 40 40 40 40 39 39 39 38 38 37 37 36 36 37 37 37 37 37 36 35 34 33 33 33 34 34 35 35 35 35 35 35 35 35 34 34 34 34 34 34 34 34 34 34 34 33 33 32 31 31 30 29 28 28 28 28 28 28 28 29 28 28 27 26 24 23 22 21 20 20 19 18 18 17 17 16 17 17 18 18 18 17 16 15 12 12 12 13 14 14 14 14 13 12 11 9 7 6 5 4 4 3 3 1 -0 -2 -3 -4 -4 -3 1 2 -2 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -5 -2 1 4 8 11 12 11 8 5 6 6 9 10 8 7 5 4 3 1 -1 -3 -5 -6 -7 -8 -9 -10 -9 -8 -6 -5 -4 -3 -1 1 2 1 -1 -4 -6 -8 -9 -11 -11 -12 -12 -13 -13 -11 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -10 -11 -12 -11 -7 -3 -2 -4 -8 -11 -11 -10 -8 -8 -9 -9 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -4 -5 -6 -6 -6 -7 -7 -9 -11 -12 -12 -11 -9 -7 -7 -8 -9 -11 -11 -11 -10 -9 -9 -8 -5 -3 -2 -3 -6 -8 -9 -8 -7 -5 -3 -0 -0 -3 -7 -8 -5 2 7 8 6 2 -1 -1 2 6 8 8 6 3 2 3 6 9 9 6 4 4 6 8 8 9 9 10 11 11 11 9 7 5 4 4 7 9 11 13 13 14 15 16 16 16 15 13 13 14 15 15 13 10 8 8 9 12 16 18 20 22 23 24 23 21 20 20 20 20 19 18 19 21 22 22 21 21 20 18 16 15 14 14 13 12 12 12 12 12 12 12 11 11 11 10 10 11 11 11 12 12 13 14 14 15 15 15 16 16 16 16 16 16 16 16 16 17 17 18 18 19 20 20 21 21 22 23 23 24 25 26 28 29 30 31 33 34 35 35 36 37 38 39 40 40 40 40 40 40 39 38 38 37 37 37 37 37 38 38 38 37 36 35 35 34 34 34 34 34 34 34 34 34 34 33 33 33 33 33 33 33 33 33 33 33 34 34 34 34 34 33 32 31 30 29 29 29 28 28 28 29 29 28 28 27 26 24 23 22 20 19 18 18 17 16 16 16 16 17 18 18 18 18 16 15 14 16 16 16 16 16 16 15 13 12 11 9 8 7 6 6 5 5 4 3 2 1 -1 -2 -3 -3 -2 -1 -0 -3 -9 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -6 -5 -2 1 4 8 11 12 11 9 5 5 4 -1 1 1 1 1 1 2 2 1 -1 -3 -6 -9 -12 -11 -10 -9 -9 -8 -7 -5 -3 -1 -1 -2 -2 -3 -4 -7 -10 -11 -11 -11 -12 -13 -11 -10 -9 -8 -7 -8 -8 -8 -8 -7 -7 -6 -7 -8 -10 -11 -11 -8 -4 -2 -3 -6 -10 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -5 -5 -5 -5 -4 -4 -4 -4 -5 -6 -6 -7 -7 -8 -10 -11 -12 -12 -11 -10 -9 -9 -10 -10 -11 -11 -11 -10 -11 -11 -10 -8 -5 -2 -2 -3 -6 -8 -8 -7 -6 -4 -1 0 -1 -4 -6 -5 0 5 7 6 4 1 -1 0 3 5 6 5 3 1 3 6 9 10 8 5 5 6 8 9 8 8 9 10 10 9 8 7 6 5 5 7 9 11 13 14 14 15 16 16 16 14 13 13 14 15 15 13 10 8 8 10 13 15 17 19 20 21 22 22 20 19 19 19 20 19 18 19 21 22 22 20 19 17 15 14 12 11 11 10 9 9 9 8 9 9 9 9 9 9 9 9 9 9 10 10 11 11 12 12 13 13 13 14 14 15 15 15 15 14 14 15 15 16 16 17 17 18 19 19 20 20 20 21 22 22 23 24 25 27 28 30 31 32 34 35 35 36 37 38 39 39 39 40 40 40 39 39 38 38 38 37 37 38 38 38 38 38 38 37 36 36 36 35 35 35 34 34 33 33 33 32 32 32 32 32 32 32 33 33 33 33 33 33 34 34 34 34 34 33 32 31 30 30 30 29 29 29 29 28 27 26 25 24 23 22 20 19 18 17 16 16 16 16 17 17 18 19 18 17 16 15 14 13 12 12 12 12 10 9 7 6 6 5 5 5 5 5 5 4 4 3 2 1 -0 -1 -2 -2 -1 -1 -1 -5 -9 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -8 -7 -6 -4 -2 1 5 9 12 13 11 7 -1 -8 -5 -4 -5 -5 -4 -3 -1 -1 -0 -1 -2 -5 -9 -11 -11 -10 -9 -9 -8 -6 -6 -6 -7 -8 -7 -5 -3 -3 -7 -9 -9 -10 -13 -14 -11 -9 -7 -7 -7 -8 -8 -8 -7 -6 -6 -5 -6 -8 -9 -9 -8 -4 -1 -2 -5 -8 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -3 -2 -2 -2 -3 -4 -5 -5 -4 -4 -4 -4 -5 -5 -6 -7 -7 -9 -10 -11 -12 -12 -12 -11 -11 -10 -11 -11 -11 -11 -10 -10 -11 -12 -12 -11 -8 -5 -3 -2 -3 -5 -7 -7 -6 -4 -2 -0 -0 -2 -5 -5 -2 3 6 7 5 3 1 0 2 3 4 4 2 1 2 5 9 10 9 6 5 6 7 8 7 6 7 7 8 8 7 7 6 6 7 8 10 11 12 13 14 15 16 16 15 13 12 12 14 15 15 13 10 8 9 11 13 16 17 17 18 20 21 21 20 18 17 18 19 19 19 19 20 21 21 19 17 15 13 11 10 9 9 9 8 8 7 7 7 7 7 7 8 8 8 8 9 9 10 10 10 11 11 11 12 11 12 12 13 13 14 14 14 14 14 14 15 15 16 16 16 16 17 18 18 19 19 20 20 20 21 22 23 23 24 26 27 29 31 32 33 35 36 36 37 38 38 38 39 39 39 39 39 38 38 38 38 38 38 39 39 39 39 39 38 38 38 37 37 36 36 35 34 34 33 32 31 31 30 30 30 30 31 31 32 32 32 32 32 33 33 34 34 34 34 33 33 32 31 31 31 31 30 30 28 27 26 25 24 23 22 21 20 19 18 17 17 17 17 18 19 19 19 19 17 15 14 13 4 4 5 5 5 4 3 2 3 3 3 4 4 4 4 4 4 3 3 2 1 1 0 -0 -1 -0 -0 -1 -5 -8 -11 -11 -11 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -3 -1 3 7 11 13 12 7 -0 -7 -7 -7 -8 -8 -7 -6 -5 -4 -4 -4 -4 -6 -8 -9 -10 -9 -8 -6 -5 -5 -6 -8 -10 -10 -8 -4 -2 -2 -4 -6 -10 -13 -14 -11 -7 -5 -6 -7 -8 -9 -8 -6 -5 -4 -4 -5 -7 -7 -7 -4 -1 -0 -3 -5 -7 -8 -7 -6 -6 -6 -6 -5 -5 -6 -6 -5 -4 -3 -4 -4 -3 -3 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -9 -9 -11 -12 -12 -11 -8 -5 -3 -3 -3 -4 -5 -6 -5 -3 -1 0 -1 -3 -5 -3 0 4 6 6 6 4 3 2 2 3 3 2 1 2 4 8 9 9 7 5 6 7 7 6 5 5 5 6 6 6 6 7 8 8 10 11 11 11 12 12 13 14 14 13 11 10 11 13 15 15 13 10 8 9 12 15 17 17 17 17 18 20 21 20 18 16 16 17 18 18 18 19 19 18 17 14 12 11 10 9 8 8 8 8 7 7 7 7 7 7 7 8 8 8 8 9 9 10 10 11 11 11 11 11 11 11 11 12 12 13 14 14 15 15 15 15 16 16 16 16 16 16 16 17 18 18 19 19 19 20 20 20 21 22 23 24 25 27 29 31 32 34 35 36 36 37 37 37 38 38 38 38 38 38 38 38 38 38 39 39 39 39 39 39 39 39 38 38 38 38 37 36 35 34 33 32 31 30 30 29 29 29 30 30 31 31 31 31 31 31 32 33 33 34 34 34 34 34 33 33 32 32 32 31 30 28 26 25 24 23 22 22 21 20 19 19 19 19 19 20 20 20 20 18 16 15 13 12 1 1 2 3 3 2 2 2 2 3 3 4 4 4 4 4 3 3 2 2 1 1 0 0 0 1 1 -1 -3 -7 -9 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -5 -4 -2 1 5 10 12 12 9 2 -5 -9 -9 -8 -7 -5 -5 -5 -5 -6 -6 -6 -7 -7 -8 -9 -8 -7 -5 -5 -6 -8 -7 -4 -2 -1 0 1 1 -2 -7 -10 -11 -9 -7 -6 -6 -8 -8 -8 -7 -5 -4 -3 -2 -3 -5 -5 -4 -2 0 -1 -3 -5 -6 -5 -4 -5 -5 -5 -4 -4 -4 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -6 -7 -9 -10 -11 -10 -10 -11 -11 -12 -12 -12 -12 -12 -11 -10 -9 -9 -10 -11 -12 -12 -11 -9 -6 -4 -2 -2 -3 -5 -5 -4 -2 0 1 -1 -4 -4 -2 1 4 6 7 7 5 4 3 3 3 3 2 2 4 7 8 8 7 5 5 6 6 5 4 3 4 5 5 5 5 6 8 10 11 11 11 10 9 9 10 11 11 9 8 8 9 12 15 16 13 11 9 10 14 17 18 18 17 16 17 19 20 20 19 16 15 16 17 18 18 18 17 16 14 12 10 9 9 8 8 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 10 10 11 11 11 12 11 11 11 11 12 12 13 14 15 15 16 16 16 17 17 17 17 16 16 16 17 17 18 19 19 19 19 19 20 20 21 22 23 24 25 27 29 30 32 34 35 36 36 36 37 37 37 37 37 37 37 36 37 37 38 39 39 40 40 39 39 39 38 39 39 39 39 38 38 37 35 34 32 31 30 29 29 29 29 29 29 30 30 30 30 30 30 31 32 33 33 34 35 35 34 34 33 33 33 33 32 31 30 28 26 25 24 24 23 22 22 21 21 22 22 22 22 22 21 20 18 16 14 12 11 1 2 2 3 3 2 2 3 3 4 4 5 5 4 4 3 2 2 1 1 0 -0 -0 -0 0 1 1 -0 -3 -5 -7 -9 -9 -10 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -5 -3 -0 3 6 9 10 9 4 -1 -4 -7 -7 -6 -6 -6 -5 -5 -5 -5 -6 -6 -7 -7 -8 -7 -6 -6 -7 -9 -9 -7 -6 -6 -6 -5 -3 -3 -5 -6 -6 -5 -7 -6 -7 -8 -7 -7 -6 -4 -2 0 1 -1 -3 -3 -2 -0 0 -2 -3 -4 -4 -3 -3 -4 -4 -4 -3 -3 -4 -3 -2 -2 -2 -3 -3 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -5 -5 -4 -4 -5 -5 -6 -8 -10 -10 -10 -9 -9 -10 -12 -12 -12 -12 -12 -12 -11 -10 -9 -9 -10 -11 -11 -11 -10 -9 -6 -4 -2 -2 -3 -5 -5 -4 -1 1 2 -1 -3 -3 -2 1 4 6 7 7 6 4 3 3 4 4 4 4 6 7 7 6 4 3 4 4 4 3 3 3 4 4 4 5 6 8 10 11 11 10 8 7 7 7 7 7 6 5 6 8 12 15 16 14 11 9 11 15 18 19 18 17 16 16 18 20 20 19 16 14 15 16 17 18 17 15 13 11 9 8 8 8 8 8 7 6 6 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 10 10 11 11 11 11 12 12 12 13 13 14 14 15 15 16 16 17 17 17 17 17 17 17 17 17 17 18 18 19 19 19 19 19 20 20 21 22 23 24 25 27 29 30 32 34 35 35 36 36 36 36 37 36 36 36 35 36 36 37 38 39 40 40 39 39 38 38 38 38 39 39 39 38 37 36 34 33 31 30 29 29 29 29 29 29 29 29 29 29 29 30 30 31 32 32 33 34 34 34 34 34 33 33 33 33 33 32 31 29 28 26 26 25 24 24 24 24 25 25 26 25 24 22 20 17 15 13 11 10 4 4 4 4 4 4 4 5 5 5 5 5 4 4 3 2 1 0 -0 -1 -1 -2 -2 -1 -1 -0 -1 -2 -4 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -5 -3 -1 1 3 5 6 5 4 2 -1 -5 -8 -8 -7 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -7 -8 -9 -9 -8 -7 -6 -5 -5 -6 -8 -9 -7 -4 -4 -6 -7 -7 -7 -6 -6 -4 -2 1 3 3 0 -2 -2 -1 0 0 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -1 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -8 -9 -10 -10 -9 -9 -10 -11 -12 -12 -12 -12 -11 -11 -10 -10 -9 -9 -10 -10 -10 -10 -9 -8 -6 -4 -2 -1 -3 -5 -6 -4 -1 2 2 0 -2 -2 -1 2 5 7 7 6 5 3 3 4 5 5 5 5 6 6 5 4 3 2 3 3 3 3 3 4 4 4 4 6 8 10 11 10 8 6 5 5 5 5 5 4 4 5 8 12 15 16 13 10 9 11 15 19 19 18 16 15 15 17 19 20 19 17 15 14 15 16 17 16 14 12 10 8 7 7 7 7 7 6 5 5 5 6 7 7 8 8 8 8 8 8 9 8 8 8 8 8 8 9 9 9 10 10 11 12 12 13 13 13 13 14 14 14 14 15 15 16 16 16 16 16 16 17 17 18 18 18 18 18 18 18 19 20 20 21 21 22 23 24 25 27 29 31 32 33 34 35 35 35 36 36 36 35 35 35 35 35 36 37 38 39 39 39 38 38 37 37 37 37 38 38 38 37 36 35 33 31 30 29 29 28 29 29 29 29 29 29 29 29 29 29 30 31 32 32 33 33 33 34 33 33 33 33 33 33 33 33 32 30 29 28 28 27 27 27 27 27 28 28 27 25 22 19 16 14 12 10 9 7 6 6 6 7 7 7 8 7 7 6 5 5 4 3 2 1 -0 -1 -1 -2 -2 -2 -2 -1 -1 -2 -4 -6 -7 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -8 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -6 -5 -4 -2 1 3 5 4 3 0 -3 -6 -7 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -6 -8 -9 -9 -9 -8 -7 -6 -4 -5 -8 -11 -10 -6 -4 -6 -6 -6 -6 -6 -5 -3 0 3 3 2 -1 -2 -1 0 1 0 -1 -1 0 0 -1 -2 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -3 -4 -4 -5 -5 -6 -7 -7 -7 -5 -4 -4 -5 -5 -6 -7 -9 -9 -9 -9 -8 -9 -10 -11 -12 -12 -11 -11 -11 -10 -10 -9 -9 -9 -10 -10 -9 -9 -9 -8 -6 -3 -1 -1 -3 -6 -6 -4 -0 3 3 1 -1 -1 -0 3 5 7 7 5 3 2 3 4 6 6 6 6 6 5 4 2 2 2 2 2 3 3 3 3 3 4 5 8 10 11 9 7 5 4 4 5 5 5 4 4 5 8 11 13 14 12 9 9 11 15 18 18 16 14 14 15 17 19 20 19 18 15 14 14 15 16 15 13 11 9 7 6 6 6 6 5 4 3 3 3 4 6 8 9 9 8 8 8 9 9 9 9 8 8 8 7 7 7 7 8 9 9 10 11 11 12 12 12 12 12 12 12 12 13 13 14 14 14 14 15 15 16 16 16 16 16 16 16 17 17 18 19 20 20 20 21 22 23 24 25 27 29 31 32 33 34 34 35 35 35 35 35 35 34 34 35 35 36 38 38 39 39 38 38 37 36 36 36 37 37 37 36 36 35 33 31 30 28 28 28 28 28 28 28 28 28 28 28 28 28 29 30 31 31 32 32 32 32 33 33 33 33 33 33 34 34 33 33 32 31 30 30 29 29 29 29 30 29 28 25 22 19 16 13 11 10 9 7 7 8 8 8 9 9 9 9 8 8 7 7 6 5 4 4 3 2 2 1 1 0 0 0 0 -1 -3 -6 -7 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -7 -6 -6 -6 -8 -9 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -7 -5 -3 -1 0 1 2 2 -0 -3 -5 -7 -7 -6 -5 -3 -3 -3 -3 -3 -4 -5 -7 -8 -9 -9 -9 -7 -5 -4 -7 -10 -10 -7 -5 -6 -7 -7 -6 -5 -3 -0 2 3 2 -1 -3 -2 0 1 1 0 0 1 2 2 0 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -5 -5 -6 -8 -8 -8 -7 -5 -5 -5 -6 -7 -8 -8 -9 -9 -9 -8 -9 -10 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -5 -3 -1 -2 -4 -6 -6 -3 0 3 3 1 -1 -1 1 4 6 6 6 4 2 1 3 5 6 7 7 6 5 4 2 2 2 2 2 3 3 4 3 2 3 5 8 10 11 9 6 3 2 3 5 6 5 5 5 6 8 10 12 12 10 8 8 10 14 16 16 13 12 13 15 17 19 19 19 17 16 14 14 15 15 14 12 9 7 6 5 4 4 4 4 3 2 1 1 3 5 8 9 10 9 8 8 8 9 9 8 8 8 7 6 6 5 5 6 7 7 8 8 9 9 9 9 9 9 9 9 9 10 10 11 11 12 12 12 13 13 14 14 14 14 14 14 14 15 16 17 18 19 19 20 20 21 21 23 24 26 28 29 30 31 32 33 33 34 34 35 35 34 34 34 34 35 36 37 38 38 39 39 38 37 36 36 35 36 36 36 35 35 34 33 31 29 28 27 27 28 28 28 28 29 29 29 28 28 28 28 29 30 30 31 31 31 31 31 32 32 33 33 33 33 33 33 33 33 33 32 32 31 31 30 30 30 29 27 25 22 19 16 14 12 11 10 5 5 6 6 7 8 9 9 8 8 8 8 8 8 7 6 6 5 5 4 4 4 4 3 3 2 0 -2 -4 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -7 -6 -5 -5 -5 -6 -8 -10 -11 -11 -10 -11 -13 -13 -12 -11 -10 -9 -8 -7 -6 -4 -1 1 2 2 -1 -4 -7 -8 -7 -6 -4 -2 -2 -1 -1 -2 -4 -6 -7 -8 -7 -7 -6 -6 -8 -9 -9 -7 -5 -6 -7 -7 -6 -4 -1 1 2 1 -2 -4 -3 -1 1 2 1 0 2 3 4 2 -0 -2 -1 -0 0 -0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -4 -5 -7 -9 -9 -8 -7 -6 -7 -8 -8 -9 -9 -9 -9 -9 -8 -9 -9 -11 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -9 -9 -9 -8 -7 -7 -7 -7 -5 -3 -2 -2 -4 -6 -5 -2 1 2 2 0 -0 0 2 5 6 6 4 2 1 1 3 5 6 7 7 6 4 3 2 2 3 3 3 4 4 3 2 2 4 7 9 10 8 4 2 2 4 6 7 7 6 5 6 7 9 10 9 8 7 6 8 12 13 13 11 10 12 14 17 18 18 17 16 15 14 13 13 13 12 10 8 6 5 4 3 2 2 2 2 1 0 0 2 4 7 9 9 8 7 7 7 7 7 7 7 7 6 6 5 4 4 4 5 5 6 6 6 6 6 6 7 6 7 6 7 7 7 8 9 9 10 10 11 12 12 13 13 13 12 12 12 13 14 15 16 17 18 18 19 19 20 21 22 23 25 26 28 29 30 30 31 32 33 34 34 34 34 34 33 34 34 35 36 37 38 39 39 39 38 37 36 36 35 35 35 34 34 33 32 31 29 28 27 27 27 27 28 28 29 29 29 29 28 28 28 28 29 30 30 30 30 30 30 30 31 32 32 33 33 33 33 33 33 33 33 32 32 31 30 30 28 27 25 24 21 19 17 15 13 11 10 1 1 1 2 4 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 2 -0 -2 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -4 -3 -3 -3 -5 -8 -9 -10 -10 -12 -13 -13 -12 -11 -11 -10 -10 -9 -8 -6 -4 -2 -0 1 1 -1 -4 -7 -8 -7 -5 -2 0 0 -1 -3 -4 -4 -5 -5 -4 -5 -6 -7 -8 -9 -9 -6 -5 -6 -6 -5 -3 0 1 0 -3 -5 -6 -3 0 2 1 -1 -0 3 4 4 1 -1 -1 0 1 0 -0 -0 -0 -0 -0 -1 -2 -3 -3 -3 -3 -4 -5 -8 -9 -8 -7 -7 -8 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -11 -12 -13 -12 -11 -10 -10 -9 -9 -8 -8 -8 -9 -9 -8 -7 -6 -6 -7 -6 -5 -3 -2 -3 -4 -5 -4 -2 0 1 1 -1 -1 1 3 5 6 5 3 1 0 1 3 5 6 7 7 5 4 2 2 3 4 4 4 4 3 2 2 4 6 8 9 6 3 1 2 5 8 9 8 6 5 5 6 8 8 7 6 5 5 7 10 11 11 9 8 10 13 15 16 15 14 13 13 12 12 11 10 9 8 6 4 4 2 1 0 0 1 1 1 0 0 1 3 6 9 9 7 6 5 5 5 6 6 5 5 5 4 4 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 7 7 8 9 9 10 11 11 11 12 12 12 12 12 13 14 15 16 16 17 17 17 18 18 19 21 22 23 25 26 27 28 29 30 31 32 33 33 33 33 33 33 34 34 35 35 36 37 38 39 39 39 38 37 36 36 35 34 34 33 32 31 30 29 28 27 27 27 27 28 29 29 30 30 29 29 29 28 28 29 29 29 29 29 29 29 29 30 31 32 32 32 32 32 32 32 32 32 32 31 30 29 28 27 25 24 23 21 19 18 16 14 13 11 0 -0 -0 0 1 2 3 3 3 3 3 2 2 3 3 3 3 3 3 3 4 4 4 5 4 4 2 1 -0 -1 -2 -3 -4 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -1 -1 -1 -3 -6 -8 -10 -11 -12 -12 -12 -12 -11 -10 -9 -8 -8 -8 -7 -6 -3 -1 1 1 -1 -3 -6 -8 -7 -4 -2 -2 -2 -1 -1 -2 -3 -3 -3 -4 -4 -6 -7 -7 -6 -5 -6 -5 -4 -2 -0 -0 -3 -6 -7 -5 -1 1 -0 -2 -2 -0 3 3 2 -0 -1 -0 1 1 0 0 0 0 0 -0 -1 -2 -3 -3 -2 -3 -4 -6 -8 -8 -7 -8 -9 -10 -11 -10 -10 -9 -9 -9 -9 -9 -9 -10 -12 -13 -12 -11 -10 -9 -9 -9 -8 -8 -8 -8 -9 -8 -7 -5 -5 -5 -6 -6 -4 -3 -3 -3 -4 -4 -3 -1 -0 -0 -1 -1 -1 1 4 5 5 3 2 0 0 1 3 4 6 6 6 5 3 2 3 4 5 5 4 3 2 2 4 6 7 7 5 2 0 2 6 9 10 9 6 4 4 5 6 6 5 4 4 4 6 9 9 8 7 7 9 12 14 14 12 11 10 10 10 9 8 8 7 6 5 4 3 2 0 -1 -1 -1 -1 0 0 1 1 3 6 8 9 7 5 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 4 4 4 5 5 6 6 7 8 8 9 10 10 11 11 11 12 12 13 13 14 14 15 15 16 16 17 17 17 18 19 20 22 23 24 26 26 27 28 29 30 31 32 32 33 33 33 33 34 34 35 36 37 38 39 39 39 39 38 37 36 35 34 34 33 32 31 30 29 28 27 26 26 27 28 29 30 30 30 30 30 30 30 29 29 29 29 29 29 29 29 29 29 30 31 31 32 32 32 32 31 31 31 30 30 29 28 27 26 25 23 22 21 19 18 17 15 14 13 4 3 2 2 2 3 3 3 3 1 1 0 1 3 4 3 3 3 3 3 3 4 4 4 4 4 3 2 1 0 -0 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -7 -7 -6 -5 -5 -4 -4 -3 -1 1 1 0 -2 -4 -7 -10 -12 -12 -11 -10 -9 -8 -8 -8 -9 -8 -8 -6 -5 -3 -2 -1 -0 -0 -1 -3 -6 -7 -6 -3 -0 -1 -3 -4 -5 -4 -4 -4 -4 -5 -5 -5 -4 -6 -6 -5 -3 -2 -3 -5 -6 -6 -3 -1 -1 -4 -5 -3 -0 1 0 -2 -2 -1 1 1 0 0 0 1 1 0 -1 -1 -2 -2 -1 -2 -3 -4 -6 -7 -7 -8 -9 -11 -11 -11 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -11 -10 -9 -8 -9 -9 -9 -8 -8 -8 -8 -7 -5 -4 -4 -4 -5 -5 -4 -3 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 0 2 4 5 4 2 1 0 1 2 3 4 5 6 6 4 3 2 3 4 5 4 2 1 2 3 5 6 5 3 1 -0 2 6 9 10 8 4 2 3 4 6 5 4 2 3 5 7 8 8 6 5 5 7 11 12 11 9 8 7 7 7 6 6 5 5 4 3 2 2 1 -1 -2 -3 -2 -2 -1 0 1 1 3 5 8 9 8 5 3 2 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 3 3 3 3 4 4 5 5 6 6 7 8 8 9 9 10 10 11 11 12 13 13 13 13 14 15 16 17 17 17 17 17 18 20 21 23 24 25 26 27 28 29 30 31 31 32 32 33 33 33 34 34 36 37 37 38 39 39 39 38 38 37 36 35 34 33 32 31 30 29 28 27 26 26 27 28 29 29 30 30 31 31 31 31 30 30 30 29 29 28 28 28 29 29 30 30 31 31 32 32 31 31 30 29 29 29 28 28 27 26 24 23 22 20 19 18 17 16 15 14 5 4 4 3 3 4 4 4 3 1 -0 -1 0 2 4 4 4 4 5 4 4 4 4 4 3 3 2 1 1 1 1 1 1 1 1 0 -1 -2 -3 -4 -5 -7 -8 -8 -8 -7 -7 -6 -6 -5 -4 -2 -0 1 2 1 -0 -3 -6 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -4 -2 -0 -0 -2 -5 -6 -5 -4 -3 -3 -3 -4 -5 -5 -5 -4 -3 -4 -5 -4 -4 -4 -4 -3 -3 -4 -5 -5 -3 -2 -3 -5 -7 -6 -3 -1 -2 -3 -4 -3 -1 -0 -0 -1 -1 0 1 0 -0 -1 -2 -1 -1 -1 -2 -3 -5 -6 -6 -7 -9 -10 -11 -10 -9 -8 -8 -9 -9 -10 -9 -10 -10 -11 -11 -10 -9 -8 -8 -8 -9 -9 -9 -8 -8 -8 -7 -6 -4 -3 -3 -4 -4 -4 -4 -3 -2 -2 -1 -1 -0 -0 -1 -2 -2 -1 1 3 4 4 3 1 1 1 2 2 2 3 4 5 5 4 3 2 3 4 4 2 1 1 2 4 5 4 2 0 -1 1 6 9 10 7 3 0 2 4 6 5 4 2 3 5 7 8 7 4 3 3 6 9 11 9 7 5 4 5 5 5 4 3 3 3 2 1 -0 -1 -2 -3 -3 -3 -1 -0 1 1 1 2 4 6 8 7 5 3 2 2 3 3 3 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 3 3 4 4 5 6 6 7 7 8 9 9 10 11 11 11 11 12 13 14 15 16 17 16 16 16 17 18 20 21 22 23 24 25 27 28 29 29 30 31 31 32 32 32 33 34 35 36 37 38 38 39 39 38 38 37 36 36 35 34 33 32 30 29 28 27 27 26 27 27 28 29 30 30 31 31 32 32 32 32 31 30 30 29 28 28 28 29 29 30 30 31 31 32 31 31 30 29 28 28 28 27 26 25 24 23 21 20 19 18 18 17 16 15 3 3 2 2 3 3 4 4 3 1 -1 -2 -1 1 3 4 5 6 7 7 6 5 4 4 3 2 1 -0 -1 -0 -0 0 1 1 2 2 1 1 -0 -1 -2 -4 -6 -8 -9 -9 -8 -7 -7 -6 -6 -5 -3 -1 1 3 4 3 2 -1 -4 -6 -8 -9 -9 -8 -7 -7 -6 -6 -6 -7 -9 -9 -8 -5 -3 -2 -2 -3 -5 -6 -5 -4 -2 -1 -2 -4 -6 -6 -4 -3 -4 -6 -5 -3 -2 -2 -2 -4 -4 -4 -3 -3 -4 -5 -7 -7 -6 -4 -4 -5 -6 -5 -3 -2 -2 -2 -2 -1 -0 -0 -1 -1 -2 -2 -1 -1 -2 -3 -4 -5 -6 -6 -8 -9 -10 -9 -8 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -8 -9 -9 -9 -8 -7 -7 -6 -5 -4 -3 -3 -3 -3 -4 -3 -3 -1 -0 0 1 1 -0 -1 -2 -1 0 2 3 4 3 2 1 2 2 2 1 1 1 3 4 5 4 3 2 2 3 2 1 0 1 2 3 2 1 -1 -1 1 5 9 9 6 2 -1 0 4 6 6 4 2 3 5 6 6 5 2 1 1 4 6 8 7 4 2 2 4 5 4 2 1 1 1 0 -1 -2 -3 -4 -4 -3 -2 -0 1 2 2 2 2 2 4 5 5 4 3 2 2 3 3 2 2 2 2 1 1 0 0 -0 -0 -0 -0 -0 -0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 4 4 5 5 6 7 7 8 9 9 9 10 10 12 13 14 16 16 16 16 16 17 18 19 20 21 22 23 24 25 26 27 28 29 29 30 30 30 31 32 33 35 36 37 37 38 38 38 38 37 37 37 36 36 35 34 32 31 30 29 28 27 26 26 27 28 28 29 30 30 31 32 32 33 33 33 32 31 30 29 28 28 28 29 29 30 30 31 31 31 31 30 29 28 28 27 27 26 25 24 23 21 20 19 18 18 17 17 16 -0 -1 -1 -1 -0 1 2 2 1 -1 -2 -3 -2 -1 0 2 4 5 7 8 8 8 7 5 3 1 -2 -4 -4 -4 -3 -3 -3 -2 -1 -1 0 0 1 1 0 -1 -2 -5 -8 -9 -8 -8 -7 -7 -6 -5 -5 -3 -2 0 3 5 6 5 3 -0 -4 -6 -8 -8 -7 -7 -7 -7 -7 -8 -9 -10 -8 -6 -5 -5 -5 -5 -5 -5 -5 -3 -2 -2 -2 -3 -5 -6 -5 -5 -5 -6 -5 -3 -1 -1 -2 -3 -3 -3 -3 -4 -5 -7 -7 -6 -6 -5 -6 -7 -6 -5 -4 -4 -4 -3 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -4 -5 -5 -6 -7 -8 -9 -8 -7 -6 -6 -7 -8 -8 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -8 -8 -9 -9 -8 -7 -6 -6 -5 -4 -3 -3 -2 -2 -3 -3 -3 -2 -0 1 1 1 1 0 -0 -1 -0 1 2 3 3 2 2 2 2 2 1 1 0 1 2 3 4 4 3 2 2 1 0 -0 -0 0 1 0 -1 -2 -1 1 4 8 9 5 1 -2 -1 3 6 7 5 3 2 4 5 5 3 1 -1 -1 1 4 5 5 3 1 1 2 4 3 1 -0 -1 -1 -2 -3 -4 -5 -4 -4 -2 -0 2 3 3 2 1 1 1 2 3 3 3 2 2 2 2 2 2 1 1 1 0 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -0 0 1 1 2 2 3 4 4 5 6 6 7 7 8 8 9 10 12 13 14 15 15 16 16 17 18 19 20 20 21 22 23 24 25 26 27 28 28 28 28 29 30 31 32 34 35 36 36 37 37 37 36 36 36 36 36 36 35 34 33 31 30 29 28 27 27 26 26 27 28 28 29 30 31 31 32 33 34 34 33 32 31 30 29 28 28 28 28 29 30 31 31 31 31 30 30 29 28 27 27 26 25 24 23 22 21 20 19 18 18 17 17 -3 -3 -3 -3 -3 -2 -0 1 1 -1 -1 -1 -1 -1 -1 -1 0 2 4 5 6 7 7 6 5 3 -3 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -0 1 1 0 -2 -5 -7 -8 -8 -7 -6 -5 -5 -4 -4 -3 -2 0 2 5 6 6 5 2 -1 -4 -6 -7 -8 -7 -7 -7 -8 -8 -8 -7 -6 -5 -6 -6 -6 -5 -4 -3 -3 -3 -4 -5 -5 -5 -6 -6 -6 -6 -5 -4 -2 -0 -0 -1 -2 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -6 -6 -7 -7 -7 -7 -6 -6 -7 -7 -7 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -3 -2 -2 -1 -2 -3 -2 -1 0 1 1 1 1 1 1 1 1 2 2 3 3 2 2 2 2 2 2 1 0 -0 0 2 4 4 4 3 1 -0 -1 -0 -0 -1 -1 -2 -2 -1 1 3 6 7 4 -0 -3 -2 3 7 7 6 3 2 2 3 3 1 -1 -3 -2 -1 1 2 3 2 0 0 1 2 2 -0 -2 -3 -3 -4 -4 -5 -5 -4 -3 -1 1 3 4 3 1 -0 -1 -0 1 1 2 2 1 1 1 1 1 0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 2 2 3 3 4 5 5 6 7 7 8 9 10 11 13 14 14 15 16 16 17 18 19 20 20 21 22 23 25 25 26 26 27 27 27 27 28 30 31 33 34 35 35 35 35 35 34 34 34 35 35 35 35 35 33 32 31 30 29 28 27 26 26 26 27 28 29 29 30 31 32 33 34 34 34 34 33 32 30 29 28 27 28 29 30 30 31 31 31 31 30 30 29 28 27 27 26 25 24 23 22 21 20 19 19 18 18 -4 -4 -4 -4 -4 -3 -1 0 0 -0 1 1 1 1 1 0 1 1 2 3 4 5 5 4 3 1 -3 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -0 -1 -3 -5 -7 -7 -7 -6 -5 -4 -3 -3 -2 -2 -1 -0 2 4 5 6 6 4 1 -2 -5 -7 -8 -8 -7 -7 -7 -6 -6 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -4 -6 -6 -6 -6 -6 -6 -5 -5 -4 -2 -1 0 -0 -2 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -2 -3 -3 -3 -3 -2 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -8 -7 -6 -6 -5 -4 -3 -2 -1 -1 -2 -2 -1 -0 1 1 0 1 1 1 2 1 1 2 2 3 3 3 2 2 2 2 2 2 0 -1 -1 1 4 5 5 4 1 -1 -1 -1 -1 -1 -2 -2 -2 -1 2 4 5 3 -1 -3 -2 2 6 7 5 3 1 1 2 1 -1 -3 -4 -4 -2 -1 0 1 -0 -1 -1 -0 0 0 -1 -3 -4 -4 -4 -4 -4 -3 -2 -0 1 3 4 4 2 -1 -3 -3 -3 -1 -0 1 1 1 1 1 1 1 -0 -1 -2 -2 -2 -3 -4 -4 -4 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -4 -3 -3 -3 -2 -2 -1 -1 -0 -0 1 1 2 2 3 3 4 5 6 6 6 7 8 10 11 12 13 14 15 15 16 17 18 19 20 20 21 23 24 25 25 25 25 25 26 26 27 29 30 32 33 34 34 34 34 33 32 32 32 33 34 34 35 34 34 33 32 31 30 29 27 27 26 26 27 28 28 29 29 30 32 33 34 34 34 34 33 33 32 30 29 28 28 28 29 30 31 31 31 31 31 30 29 29 28 28 27 26 25 24 23 22 21 20 20 19 19 -6 -5 -5 -5 -4 -3 -2 -0 0 0 1 2 2 3 2 2 2 2 2 3 4 4 4 4 2 1 -1 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -5 -4 -4 -3 -4 -4 -6 -7 -7 -6 -5 -4 -3 -2 -2 -1 -1 -0 0 1 2 4 5 6 5 3 0 -4 -6 -7 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -5 -5 -4 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -4 -7 -7 -5 -3 -3 -4 -4 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -3 -2 -3 -3 -4 -3 -3 -3 -2 -3 -3 -5 -5 -6 -6 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 -1 -2 -1 0 1 0 -0 -0 1 1 2 1 2 2 2 3 3 3 2 2 2 3 3 2 0 -1 -2 1 4 6 6 4 1 -1 -1 -1 -1 -2 -3 -3 -2 -1 1 2 1 -1 -2 -1 1 4 5 4 2 0 0 1 0 -1 -4 -5 -5 -4 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -2 -3 -4 -3 -3 -2 -0 1 2 3 3 3 2 -1 -4 -6 -6 -5 -3 -1 1 1 1 1 1 2 2 1 -1 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -1 -1 -0 0 1 1 1 2 2 3 4 4 4 5 5 6 8 10 11 12 13 13 14 15 16 17 18 18 19 20 21 23 23 24 24 24 24 25 25 26 27 29 31 32 33 33 33 33 32 31 30 30 31 32 33 33 34 33 33 32 31 30 29 28 27 27 27 27 28 28 29 29 30 31 32 33 33 34 33 33 33 32 32 30 29 29 28 28 29 30 30 31 31 31 30 30 29 29 29 28 27 26 25 24 23 22 21 21 20 20 -8 -8 -8 -8 -7 -5 -4 -2 -1 -1 1 2 3 4 3 3 3 2 3 3 3 4 4 4 3 2 0 -1 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -3 -3 -4 -5 -7 -7 -6 -5 -5 -6 -6 -6 -6 -5 -4 -3 -2 -1 0 1 1 1 2 2 3 4 5 5 3 -0 -4 -7 -7 -6 -6 -6 -6 -7 -7 -7 -6 -5 -5 -4 -3 -3 -4 -4 -5 -4 -4 -5 -6 -5 -3 -5 -6 -4 -3 -3 -4 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -4 -3 -2 -2 -3 -3 -4 -3 -3 -2 -2 -3 -4 -5 -6 -6 -5 -5 -5 -6 -7 -7 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 -1 -2 -1 -0 0 0 -0 -1 -1 0 1 1 1 2 2 3 3 3 2 2 2 3 4 4 2 -1 -2 -2 1 5 7 7 5 1 -1 -1 -1 -1 -2 -3 -4 -3 -1 -0 0 -1 -2 -1 1 2 2 1 -0 -1 -1 -0 -0 -2 -4 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 -1 -0 1 2 2 2 1 -0 -2 -4 -6 -8 -8 -6 -3 -0 2 2 2 2 2 2 2 1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -1 -1 -0 0 1 1 1 1 2 3 3 3 3 3 4 5 7 8 10 11 12 12 12 13 14 15 16 17 18 19 20 21 22 22 23 23 23 24 24 25 26 28 30 31 32 32 32 32 31 30 29 29 29 30 31 32 32 32 32 31 31 30 29 28 27 27 27 28 28 29 29 30 30 31 32 32 33 33 32 32 33 32 32 31 30 29 28 28 28 29 30 30 31 31 30 30 30 30 29 29 28 27 26 25 24 23 22 21 21 20 -8 -9 -9 -9 -8 -6 -5 -3 -3 -2 0 2 4 5 5 5 4 3 3 3 3 3 3 4 3 2 1 -0 -2 -2 -2 -3 -3 -4 -4 -5 -6 -7 -7 -7 -6 -5 -4 -5 -6 -6 -6 -5 -5 -6 -6 -7 -7 -6 -6 -5 -3 -2 -0 1 2 2 1 1 2 2 4 5 4 2 -2 -6 -6 -7 -7 -7 -7 -7 -8 -7 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -7 -8 -7 -4 -3 -6 -8 -7 -6 -5 -0 1 1 -0 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -3 -2 -2 -2 -3 -3 -4 -3 -2 -2 -2 -3 -5 -6 -6 -5 -5 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -2 -1 -1 -1 -2 -1 -0 0 -0 -1 -1 -1 -1 0 1 1 2 3 3 3 2 2 2 3 5 6 4 1 -2 -3 -1 2 6 8 8 5 2 -1 -1 -1 -1 -2 -4 -4 -3 -2 -1 -2 -2 -1 0 2 2 0 -2 -2 -2 -1 -0 -1 -2 -4 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -2 -1 0 1 0 -0 -0 0 1 2 2 0 -2 -3 -4 -5 -6 -6 -5 -3 0 3 5 5 4 3 2 2 2 1 -1 -2 -3 -3 -3 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -2 -2 -2 -1 -1 -0 0 1 1 1 2 2 2 2 2 2 2 3 4 6 8 9 10 11 11 11 12 13 14 15 15 16 17 18 19 19 20 21 21 22 22 23 23 24 26 28 30 31 32 32 32 31 30 29 29 29 29 30 30 31 31 31 30 29 29 28 27 27 27 27 28 29 30 30 30 31 31 32 32 32 32 32 31 32 32 32 31 31 30 29 28 28 29 29 30 30 30 30 30 30 30 30 30 29 28 28 27 26 24 23 22 21 20 -7 -7 -8 -8 -8 -6 -5 -4 -4 -4 -1 2 5 7 8 8 6 5 4 4 3 3 2 3 3 3 3 0 -2 -3 -2 -2 -1 -1 -1 -2 -3 -5 -6 -8 -9 -9 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -5 -3 -2 -1 0 0 0 0 1 2 3 3 1 -2 -4 -6 -7 -8 -7 -6 -6 -6 -5 -3 -2 -2 -2 -3 -2 -2 -2 -3 -6 -9 -8 -4 -2 -4 -6 -6 -4 -3 1 3 3 1 1 0 -0 -1 -1 -1 -1 -2 -3 -2 -2 -1 -1 -2 -3 -4 -3 -3 -2 -2 -3 -5 -6 -7 -6 -5 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -6 -5 -3 -2 -1 -1 -2 -2 -1 -0 -0 -1 -2 -2 -2 -1 -0 0 2 3 3 3 2 1 2 3 6 7 6 3 -1 -3 -3 -0 3 7 9 8 5 2 -1 -1 -1 -1 -3 -5 -5 -4 -3 -3 -3 -2 -1 1 1 1 -1 -2 -2 -2 -1 -0 -1 -2 -3 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -2 -0 1 2 1 0 -0 -0 0 0 -1 -4 -5 -6 -6 -6 -5 -3 0 4 6 8 7 5 3 2 1 1 0 -1 -3 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -2 -2 -1 -0 0 1 1 1 2 2 2 2 2 2 2 2 2 3 5 7 9 10 10 10 11 12 12 13 13 13 14 15 16 16 17 18 19 20 20 20 21 22 23 25 27 28 30 31 31 31 31 30 30 29 29 29 29 30 30 30 30 29 28 27 27 26 26 26 27 28 29 30 31 31 31 31 31 32 32 31 31 31 30 31 31 31 30 30 29 28 28 28 29 30 30 31 31 31 31 30 30 30 30 29 29 28 27 26 24 23 22 21 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -3 1 4 7 9 10 10 9 8 7 5 3 2 2 3 4 7 5 1 -4 -5 -4 -3 -1 -1 -2 -3 -5 -6 -7 -8 -9 -9 -8 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -1 -0 0 0 -1 -2 -4 -6 -8 -7 -5 -4 -4 -4 -2 -1 0 0 -0 -0 -0 1 1 -3 -7 -8 -4 -2 -3 -6 -7 -6 -2 1 3 4 3 2 2 1 1 0 0 -0 -1 -2 -1 -1 -1 -1 -2 -3 -3 -3 -2 -2 -3 -5 -6 -7 -7 -6 -5 -5 -6 -7 -8 -8 -8 -7 -7 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -2 -1 -0 -1 -1 -1 -1 -0 -1 -2 -3 -2 -2 -2 -1 0 2 3 3 2 2 1 3 5 8 8 5 0 -3 -4 -2 0 4 8 10 8 5 1 -0 -0 -0 -2 -3 -5 -5 -4 -4 -3 -3 -2 -1 1 1 0 -1 -2 -2 -2 -1 -0 -0 -1 -3 -5 -7 -7 -7 -6 -4 -4 -3 -4 -3 -1 1 2 2 1 -1 -2 -3 -3 -3 -5 -6 -7 -6 -5 -3 -0 3 6 8 9 8 5 3 1 -0 -1 -1 -3 -4 -5 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -2 -1 -0 0 1 1 2 2 2 2 2 2 2 2 2 3 3 5 7 8 9 9 9 10 11 12 12 12 12 13 13 14 14 15 16 17 17 18 18 19 21 22 24 25 27 28 28 29 30 30 30 30 30 29 29 29 29 29 29 29 28 27 26 25 25 25 26 26 28 29 30 31 31 31 31 31 31 31 31 31 30 30 30 30 30 30 29 29 28 27 28 28 29 30 31 31 31 31 31 31 31 30 30 29 29 28 27 26 24 22 21 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -4 -0 1 2 5 7 8 9 9 9 8 7 5 4 4 4 5 5 3 2 -0 -2 -6 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -10 -10 -10 -9 -8 -8 -6 -5 -4 -2 -2 -2 -2 -3 -4 -6 -7 -7 -4 -3 -2 -2 -0 1 2 2 2 2 4 5 2 -2 -5 -2 0 -1 -4 -6 -6 -3 -1 2 5 6 5 3 3 2 2 2 1 0 -1 -1 -0 -0 -1 -2 -3 -2 -2 -1 -2 -4 -6 -7 -7 -6 -5 -5 -6 -7 -7 -8 -7 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -7 -7 -7 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -6 -5 -4 -2 -1 0 0 -0 -1 -1 -1 -1 -2 -3 -3 -3 -2 -2 -1 0 2 2 2 2 1 2 5 8 9 7 3 -2 -4 -4 -2 1 5 9 9 7 4 0 -0 0 -0 -2 -4 -5 -5 -4 -4 -4 -4 -3 -1 0 1 0 -1 -2 -2 -2 -2 -1 0 -1 -3 -5 -7 -8 -7 -5 -4 -3 -4 -4 -3 -1 1 1 1 -2 -4 -5 -5 -5 -5 -7 -7 -6 -5 -2 1 4 7 8 8 7 4 1 -1 -2 -2 -2 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -3 -2 -1 -0 0 1 1 1 1 1 2 2 2 2 3 3 3 3 5 6 8 9 9 9 9 10 11 11 11 11 12 12 12 13 14 14 15 15 16 17 18 20 21 22 24 25 25 26 27 28 28 29 29 29 30 29 29 29 29 29 29 28 27 26 25 24 24 25 26 27 28 29 30 31 31 31 31 31 31 31 30 30 30 29 29 29 29 29 28 28 27 27 27 28 29 30 31 32 32 32 31 31 31 30 30 30 29 28 27 25 23 22 -8 -9 -9 -10 -10 -10 -10 -10 -10 -8 1 3 3 3 3 4 5 5 6 6 6 6 6 6 6 5 4 4 4 3 3 3 2 -3 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -11 -12 -13 -13 -13 -13 -10 -8 -7 -5 -4 -3 -2 -2 -2 -3 -5 -8 -6 -3 -1 -0 1 3 4 6 6 7 8 8 6 3 1 3 3 2 -1 -3 -3 -2 -0 2 5 6 6 5 4 3 3 3 2 1 0 0 0 -0 -1 -2 -2 -2 -1 -1 -3 -5 -6 -7 -6 -5 -5 -5 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -8 -8 -8 -7 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -6 -5 -4 -3 -1 0 1 1 1 0 -1 -1 -2 -3 -3 -3 -2 -2 -2 -1 -0 1 2 1 1 2 4 7 9 9 6 1 -3 -4 -3 -1 2 5 8 8 6 3 0 0 0 -1 -2 -4 -4 -4 -4 -4 -4 -4 -3 -1 -0 1 0 -0 -1 -2 -3 -2 -1 -0 -0 -2 -5 -7 -8 -7 -5 -4 -3 -4 -4 -3 -2 -0 -0 -1 -3 -5 -6 -6 -6 -6 -7 -6 -5 -2 2 5 7 7 6 4 1 -2 -4 -4 -4 -3 -4 -5 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -2 -1 -1 -0 0 0 0 0 1 1 1 2 2 2 3 3 4 5 6 8 8 8 8 9 9 10 10 11 11 11 11 11 12 12 13 13 13 14 15 17 18 20 21 22 22 23 23 24 25 26 27 28 29 29 29 29 30 30 30 29 28 27 26 25 24 24 25 25 26 27 28 29 29 30 31 31 31 31 31 30 30 30 29 29 29 28 28 28 27 27 26 26 27 28 29 31 32 33 33 32 32 31 31 30 30 30 29 28 26 24 23 -8 -9 -9 -10 -9 -9 -9 -9 -9 -7 3 6 7 6 6 6 6 6 5 5 5 5 5 5 5 5 3 3 3 4 5 6 6 2 -4 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -12 -14 -15 -16 -14 -12 -10 -8 -6 -5 -3 -2 -0 0 -1 -4 -7 -6 -3 0 2 4 7 10 11 12 12 12 10 8 8 8 6 3 1 0 1 2 4 4 5 6 7 6 5 5 4 4 3 2 1 1 0 -1 -1 -2 -1 -1 -1 -2 -4 -5 -6 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -6 -6 -7 -8 -8 -8 -7 -7 -7 -8 -9 -9 -9 -8 -8 -7 -7 -7 -6 -5 -4 -3 -2 -0 1 2 2 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 1 2 5 8 9 8 4 -0 -2 -3 -2 -0 2 5 7 7 5 2 -0 0 0 -1 -2 -3 -4 -4 -4 -4 -5 -4 -3 -2 -1 0 1 -0 -1 -2 -3 -3 -2 -1 -0 -1 -4 -6 -7 -6 -5 -4 -3 -3 -3 -2 -1 -1 -2 -3 -4 -5 -5 -5 -6 -6 -6 -5 -2 1 5 7 6 4 1 -2 -5 -6 -6 -5 -3 -3 -4 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 -0 -0 -0 -0 -0 0 1 1 1 2 2 3 3 4 5 7 8 8 8 8 8 9 9 10 10 10 10 10 11 11 11 11 12 12 12 14 15 17 18 19 20 20 21 21 22 23 24 26 27 28 28 29 29 29 30 30 29 29 27 26 25 24 24 24 25 25 26 26 27 28 29 29 30 30 31 31 30 30 30 29 29 29 28 28 27 27 26 25 25 26 27 28 30 31 33 33 33 32 31 31 30 30 30 30 29 27 25 23 -7 -8 -9 -9 -9 -9 -9 -9 -9 -8 -0 7 9 9 9 9 9 8 8 7 6 5 5 5 5 3 1 1 2 4 5 6 6 5 -2 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -8 -9 -10 -11 -11 -13 -14 -16 -15 -14 -13 -11 -9 -8 -6 -4 -1 2 4 3 -2 -6 -7 -2 1 4 7 12 15 17 17 17 15 15 14 14 10 7 4 2 2 4 8 11 12 10 8 7 6 6 5 4 3 2 2 1 0 -1 -1 -1 -1 -1 -1 -2 -4 -5 -5 -4 -4 -4 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -6 -7 -8 -8 -8 -8 -7 -7 -8 -9 -9 -9 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -1 1 2 3 2 0 -1 -2 -2 -2 -1 -0 -1 -1 -1 -1 -1 -0 -0 -1 -0 1 4 6 8 8 6 3 -0 -2 -1 -1 0 2 4 6 6 4 1 -1 -0 -0 -1 -2 -3 -3 -3 -4 -5 -5 -5 -4 -2 -1 0 0 -0 -2 -2 -3 -3 -3 -1 -1 -1 -2 -4 -6 -6 -5 -4 -3 -2 -1 -1 -1 -1 -3 -4 -4 -4 -4 -5 -6 -6 -5 -3 0 4 6 6 3 -0 -4 -7 -8 -7 -5 -4 -3 -3 -5 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -2 -1 -1 -0 -0 -1 -1 -0 -0 0 0 1 1 2 2 3 3 4 5 7 8 8 8 8 8 8 9 10 10 10 10 10 10 11 11 11 11 11 11 12 14 15 16 17 18 18 19 20 20 21 22 23 25 26 27 28 28 29 29 29 29 29 28 26 25 24 24 24 24 25 25 26 26 26 27 28 29 30 30 30 30 30 30 29 29 29 29 28 27 26 26 25 25 25 26 27 29 30 32 33 33 32 31 31 30 30 30 30 29 28 26 24 -7 -7 -8 -9 -9 -9 -9 -8 -8 -7 -5 -2 5 9 9 9 10 10 9 9 8 7 6 5 5 3 0 -1 1 3 4 5 5 3 -0 -3 -5 -6 -6 -7 -7 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -9 -10 -10 -11 -11 -11 -11 -12 -13 -14 -14 -14 -13 -13 -12 -11 -9 -7 -4 -0 3 6 4 0 -6 -10 -6 -2 2 8 13 18 20 20 20 20 21 21 16 12 9 6 3 2 3 7 12 15 15 12 9 7 6 5 3 2 2 1 0 -1 -1 -1 -1 -1 -1 -3 -4 -4 -4 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -7 -7 -8 -8 -9 -9 -9 -8 -8 -7 -7 -6 -5 -4 -4 -3 -1 1 2 3 2 1 -1 -2 -2 -1 -0 1 0 -0 -1 -1 -1 -1 -1 -1 -1 0 2 4 7 8 8 5 2 0 -0 -0 0 0 1 4 6 6 3 0 -1 -1 -1 -2 -2 -3 -3 -3 -4 -5 -6 -5 -4 -2 -1 -0 -0 -1 -2 -2 -3 -3 -3 -2 -1 -1 -1 -3 -5 -5 -4 -3 -2 -0 0 0 -0 -2 -3 -5 -5 -4 -4 -4 -5 -5 -3 -0 3 5 6 3 -0 -4 -6 -7 -7 -5 -4 -3 -3 -4 -6 -7 -7 -6 -5 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -3 -2 -2 -1 -0 0 -0 -1 -1 -0 0 0 1 1 1 2 2 2 3 4 5 7 8 8 8 8 8 8 9 9 9 9 9 10 10 10 10 10 10 10 11 12 13 14 15 16 16 17 18 18 19 20 21 21 22 23 24 25 26 27 28 28 28 28 27 26 25 24 24 24 24 25 25 25 25 25 26 26 27 28 29 29 29 29 29 29 29 29 29 28 27 27 26 25 25 25 25 26 28 30 32 33 33 33 32 31 31 30 30 30 30 29 27 25 -7 -7 -8 -9 -9 -9 -9 -8 -8 -7 -7 -7 -2 2 3 5 6 7 7 7 7 6 5 5 4 4 2 1 -0 1 3 4 4 3 2 1 -1 -2 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -7 -8 -9 -10 -11 -12 -12 -12 -12 -12 -12 -13 -13 -13 -12 -12 -12 -12 -11 -10 -8 -6 -3 2 4 4 2 -2 -6 -8 -8 -4 2 10 16 21 23 25 28 29 26 23 19 15 10 3 -2 -2 2 7 9 9 9 8 6 5 4 3 2 1 0 -0 -0 -0 -0 -1 -1 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -7 -7 -8 -9 -9 -9 -8 -8 -7 -7 -6 -5 -4 -4 -3 -2 -0 2 3 2 1 -1 -2 -2 -1 0 1 1 0 -0 -1 -0 -0 -0 -1 -1 -0 1 3 6 8 8 7 5 2 1 1 0 -0 -0 1 4 6 5 2 -1 -2 -2 -2 -2 -3 -3 -3 -4 -5 -5 -5 -4 -4 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -2 -1 -1 -1 -2 -3 -4 -3 -2 -0 1 1 1 -0 -2 -4 -5 -5 -5 -4 -4 -3 -2 -0 2 5 5 4 1 -3 -5 -6 -5 -5 -4 -3 -3 -3 -5 -6 -6 -5 -5 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 0 0 0 -0 -0 0 0 1 1 1 1 2 2 2 3 4 5 6 7 8 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10 10 11 11 12 13 14 15 15 16 17 18 19 19 19 20 20 21 22 23 24 26 26 27 27 27 27 26 25 23 23 23 24 24 25 25 25 25 25 25 26 27 28 28 28 28 29 29 29 29 29 28 27 27 26 25 25 24 25 26 27 29 31 33 34 34 33 32 32 31 31 30 30 30 28 27 -7 -7 -8 -9 -9 -9 -9 -8 -8 -7 -7 -7 -6 -5 -4 -2 -0 -0 0 1 2 3 3 4 4 5 4 3 1 1 1 2 3 2 2 2 3 2 2 2 1 0 -1 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -10 -11 -12 -12 -12 -12 -12 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -10 -9 -5 -1 1 2 2 1 -2 -4 -4 -4 -3 6 17 24 28 32 34 32 30 27 22 15 8 3 2 4 7 8 9 9 9 7 6 5 4 3 2 1 0 1 1 1 -0 -1 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -7 -8 -8 -9 -9 -8 -8 -7 -6 -6 -5 -4 -4 -3 -2 -1 1 2 2 1 -1 -2 -2 -1 0 1 0 -0 -1 -1 -0 0 0 -0 -1 -0 1 3 6 8 8 7 6 4 2 1 1 0 -1 -1 1 4 5 4 0 -2 -3 -2 -2 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -2 -2 -3 -2 -1 0 1 1 0 -1 -3 -5 -6 -6 -5 -4 -2 0 2 3 4 5 4 1 -1 -3 -4 -4 -4 -4 -3 -3 -3 -4 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -1 -0 0 0 0 0 0 0 1 1 1 2 2 2 2 3 3 4 5 6 7 8 8 8 8 8 8 8 8 8 9 9 9 9 9 10 10 10 11 11 12 13 13 14 14 15 16 17 18 18 18 18 19 19 20 21 22 24 24 25 25 26 26 25 24 23 23 23 23 24 24 25 25 25 25 25 25 26 27 27 27 27 28 28 28 28 28 28 27 27 26 25 25 24 25 25 27 28 30 32 34 35 34 34 33 33 32 32 31 31 29 28 -7 -8 -8 -9 -9 -9 -9 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -2 -1 -0 1 2 1 1 -0 -0 0 1 1 1 1 2 3 3 4 4 4 3 2 1 0 -2 -3 -4 -5 -6 -6 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -11 -11 -12 -14 -15 -14 -12 -10 -10 -10 -12 -13 -13 -13 -11 -8 -5 -3 -1 0 -0 0 1 1 1 5 10 15 19 22 26 25 27 27 24 18 13 9 8 8 9 9 10 12 13 11 8 6 5 3 2 1 1 2 2 2 0 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -5 -4 -4 -3 -1 -0 1 1 0 -1 -1 -1 -0 1 1 -0 -1 -2 -1 -0 0 1 1 0 0 1 4 7 9 10 9 6 4 3 2 1 1 -0 -1 -0 2 5 4 1 -2 -4 -3 -3 -3 -3 -3 -3 -4 -5 -5 -4 -2 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -1 -3 -5 -7 -8 -7 -6 -3 1 4 5 5 4 3 2 -0 -2 -2 -2 -3 -3 -3 -3 -2 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 -0 0 1 1 1 0 0 0 1 2 2 2 2 2 3 3 4 5 6 7 7 8 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 11 11 12 12 13 14 14 15 15 16 17 18 18 18 18 18 18 19 21 22 23 23 24 24 24 24 24 23 23 22 23 23 23 24 24 24 25 24 25 25 26 26 27 27 27 27 27 27 27 27 27 26 25 25 24 24 24 25 26 28 30 32 34 35 35 35 34 34 34 34 33 33 32 30 -7 -7 -8 -9 -9 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 0 1 2 3 3 4 4 4 4 4 2 1 -0 -2 -3 -4 -5 -7 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -14 -15 -13 -8 -6 -7 -10 -13 -15 -14 -13 -12 -11 -10 -8 -7 -5 -4 -2 1 4 8 9 11 13 14 15 9 15 21 23 21 18 15 13 12 12 12 14 16 17 15 12 8 6 4 3 2 3 4 4 2 0 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -5 -4 -4 -3 -2 -1 -1 -0 -1 -1 -1 -0 0 0 -0 -2 -3 -3 -3 -1 0 1 1 1 1 2 4 7 10 11 10 7 4 2 2 2 1 0 -1 -1 1 3 4 1 -2 -4 -4 -4 -4 -3 -3 -3 -4 -5 -5 -4 -2 -0 -0 -1 -2 -2 -3 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -3 -5 -7 -9 -9 -8 -5 0 5 7 6 5 3 1 -0 -1 -1 -1 -2 -3 -3 -3 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 -0 0 0 1 1 1 0 -0 1 2 2 2 2 2 3 3 3 4 4 5 6 7 7 8 8 7 7 7 8 8 8 8 8 9 9 9 9 10 10 11 11 12 13 13 14 14 15 15 16 17 17 17 17 17 18 19 19 20 21 22 22 23 23 23 23 23 22 22 22 22 22 23 23 24 24 24 24 24 25 26 26 27 27 27 27 27 27 26 26 26 25 24 24 23 23 24 25 27 29 32 34 36 36 36 35 34 35 35 35 35 35 33 -7 -7 -8 -8 -9 -9 -9 -8 -7 -7 -7 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 0 1 1 2 2 2 2 3 4 4 3 2 1 0 -1 -2 -4 -6 -8 -10 -11 -12 -12 -11 -11 -10 -10 -9 -9 -10 -12 -14 -14 -10 -2 2 -1 -5 -7 -7 -7 -7 -7 -8 -9 -11 -10 -8 -7 -6 -3 0 5 9 12 14 12 2 3 10 16 22 23 21 18 17 17 18 19 20 19 17 15 12 8 6 4 4 4 5 5 3 1 -1 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -5 -5 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -1 -0 0 1 -0 -1 -3 -4 -5 -4 -2 -0 1 2 2 1 2 3 6 9 11 9 6 3 2 1 1 2 1 -1 -1 -0 2 3 1 -2 -4 -5 -5 -4 -4 -3 -3 -4 -6 -6 -5 -3 -1 -1 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -6 -9 -11 -10 -7 -3 3 8 8 6 3 0 -1 -1 -1 -1 -2 -3 -4 -3 -3 -2 -2 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -2 -1 -1 -0 -0 0 0 1 1 1 1 -0 -0 1 2 2 2 2 3 3 3 3 3 4 4 5 6 7 7 7 7 7 7 7 8 8 8 8 8 9 9 9 9 10 10 11 11 12 13 13 14 14 15 15 16 16 17 17 17 18 18 19 19 20 21 21 22 22 22 22 22 22 22 22 21 21 22 22 23 24 24 23 23 24 24 25 26 26 27 27 27 26 26 26 25 25 24 23 22 22 23 24 26 28 31 33 35 36 36 36 35 35 36 37 37 37 36 -7 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 0 -0 0 1 2 2 2 2 2 1 1 -0 -2 -5 -7 -10 -12 -13 -13 -12 -12 -11 -11 -10 -10 -10 -11 -13 -14 -5 8 9 9 10 9 8 8 8 6 2 -3 -3 -2 -2 -4 -7 -10 -7 -3 2 6 12 11 3 -1 4 14 21 22 21 21 20 21 22 22 21 19 17 16 13 10 8 7 7 7 6 4 2 0 -1 -2 -2 -3 -4 -3 -3 -2 -2 -3 -3 -3 -3 -4 -5 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -4 -3 -3 -3 -3 -3 -2 -1 0 1 1 -1 -2 -4 -5 -5 -4 -2 -0 2 2 2 2 1 3 6 9 10 8 4 1 -0 0 2 2 2 0 -1 -1 0 2 1 -2 -4 -5 -5 -5 -5 -4 -4 -4 -6 -6 -6 -4 -2 -2 -2 -4 -4 -4 -4 -3 -4 -4 -4 -5 -5 -4 -2 -1 -0 -1 -1 -2 -2 -2 -3 -3 -3 -2 -3 -5 -7 -10 -12 -10 -6 0 6 10 8 5 1 -1 -2 -0 0 -1 -3 -4 -4 -3 -2 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -2 -1 0 0 0 0 0 1 2 1 1 -0 -0 1 2 2 2 2 2 3 3 2 3 3 4 5 5 6 6 6 6 6 7 7 7 7 8 8 8 8 8 8 9 9 10 10 11 11 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 22 22 22 22 21 21 21 21 21 22 23 23 23 22 22 23 24 25 26 26 27 27 27 26 26 25 24 23 22 22 21 22 23 25 27 29 32 34 36 37 37 36 36 36 37 38 38 38 -7 -7 -7 -8 -8 -7 -5 -4 -3 -3 -4 -4 -5 -5 -6 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -0 0 1 1 0 -0 -1 -1 -1 -0 -0 -0 0 0 0 1 1 2 1 -1 -4 -8 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -11 -12 -12 -8 -3 3 7 9 11 11 12 12 12 12 11 11 11 10 10 8 6 1 -5 -9 -1 4 7 4 -3 -6 7 14 18 20 20 20 22 22 22 22 22 21 18 15 13 12 11 10 8 6 5 3 2 1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -6 -4 -4 -3 -3 -4 -4 -4 -3 -1 0 1 1 -1 -3 -4 -5 -5 -4 -2 -0 2 2 2 1 1 2 5 8 8 6 2 -2 -3 -1 1 3 3 2 -1 -1 -1 0 0 -2 -4 -5 -5 -5 -5 -5 -4 -4 -5 -7 -6 -5 -4 -3 -3 -4 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -4 -3 -1 0 0 -1 -2 -3 -3 -3 -3 -2 -2 -3 -5 -9 -12 -12 -9 -4 3 9 10 7 3 -1 -2 -1 0 -0 -2 -4 -4 -3 -2 -3 -4 -5 -5 -4 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -1 -0 1 1 0 0 1 2 2 2 1 0 -0 1 1 2 2 2 2 2 2 2 2 3 4 4 5 5 5 5 5 5 6 6 7 7 7 7 7 7 7 8 8 9 9 9 10 10 11 12 12 13 14 14 14 15 15 16 17 17 18 19 19 20 20 21 21 21 22 22 22 22 21 21 20 20 20 20 21 22 22 22 21 21 21 22 23 24 25 26 26 26 26 26 26 25 24 22 21 21 20 21 23 25 28 31 33 35 37 38 38 37 37 37 38 39 39 -6 -6 -7 -7 -7 -6 -3 -1 1 2 3 3 2 1 -0 -2 -3 -4 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -1 1 3 4 3 0 -4 -7 -8 -8 -9 -9 -10 -12 -12 -12 -11 -11 -11 -10 -6 0 5 8 10 12 14 15 16 16 17 17 17 17 17 16 15 13 10 6 2 -10 -7 -2 -0 -1 -3 0 6 12 15 16 18 23 26 28 26 22 21 20 19 17 16 14 12 10 9 7 5 4 2 1 1 0 -0 -1 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -5 -5 -4 -2 0 1 1 -1 -3 -4 -5 -4 -3 -2 0 2 2 2 0 0 1 4 7 8 5 1 -3 -5 -3 1 4 5 4 0 -2 -2 -2 -1 -2 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -7 -6 -4 -4 -4 -5 -6 -6 -6 -5 -5 -4 -4 -5 -5 -5 -6 -5 -3 -1 -0 0 -0 -2 -3 -4 -3 -2 -1 -2 -3 -6 -9 -12 -11 -7 -1 5 10 9 5 1 -2 -2 -0 0 -1 -3 -4 -3 -1 -2 -4 -5 -5 -4 -4 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -1 0 1 1 1 1 1 2 2 2 1 0 0 1 1 1 1 1 1 1 2 2 2 3 3 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 7 7 8 8 8 9 9 10 11 12 13 13 14 14 14 14 15 16 17 17 18 19 20 21 21 21 21 21 21 21 21 21 21 20 20 19 20 20 21 21 21 20 20 19 20 21 23 24 25 25 26 26 26 26 25 24 23 21 20 20 20 21 23 26 29 32 34 36 37 38 38 37 37 38 39 39 -5 -6 -6 -7 -7 -6 -4 -2 1 4 6 8 9 10 9 7 4 1 -0 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -5 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -6 -6 -6 -5 -2 3 6 6 2 -2 -5 -6 -6 -6 -7 -9 -10 -11 -11 -10 -10 -9 -6 -1 4 7 9 13 15 17 18 19 20 21 22 22 23 23 22 21 19 16 12 6 4 2 -2 -4 -3 -3 -1 2 6 10 11 14 17 20 24 24 24 24 23 23 21 20 18 15 13 11 9 7 6 5 4 3 2 1 0 -1 -1 -3 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -6 -5 -4 -4 -5 -5 -5 -4 -3 -1 1 1 -0 -2 -4 -5 -4 -3 -1 1 2 2 1 -0 -1 0 3 6 7 5 1 -3 -5 -4 -0 4 5 5 2 -2 -3 -4 -3 -3 -4 -4 -4 -4 -5 -6 -6 -5 -6 -7 -7 -6 -5 -4 -5 -5 -6 -7 -6 -5 -5 -5 -4 -4 -4 -5 -5 -6 -5 -4 -2 -1 -0 -1 -2 -3 -4 -3 -2 -1 -2 -4 -7 -10 -11 -9 -4 2 7 9 7 3 -0 -2 -1 0 -1 -2 -3 -2 -1 -1 -3 -4 -5 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 0 1 1 1 1 2 2 2 2 1 0 1 1 1 1 1 1 1 1 2 2 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 7 7 8 9 10 11 12 12 13 13 13 13 14 15 15 16 17 18 19 20 21 21 21 21 21 21 21 21 21 20 19 19 19 20 20 20 20 20 19 18 19 19 21 22 24 24 25 25 25 25 25 25 24 22 21 20 19 20 22 24 27 30 32 34 36 37 37 37 37 38 38 39 -5 -5 -6 -6 -7 -6 -6 -4 -2 0 3 6 9 11 13 13 12 9 6 3 0 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -9 -10 -11 -11 -8 -1 5 7 6 1 -3 -5 -6 -6 -6 -6 -7 -8 -8 -8 -8 -8 -6 -2 2 5 8 11 14 16 17 18 19 20 21 23 24 25 25 25 24 22 20 17 14 11 9 8 8 6 3 1 2 5 4 3 4 9 18 24 26 27 27 27 27 25 23 21 18 15 13 11 9 8 6 5 4 3 3 3 2 0 -2 -3 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -5 -3 -2 -0 1 0 -2 -4 -4 -4 -3 -1 1 2 2 1 -1 -2 -1 1 5 7 6 2 -3 -5 -5 -1 3 5 5 2 -1 -4 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -7 -7 -6 -5 -5 -5 -6 -6 -7 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -1 -2 -3 -4 -4 -3 -2 -2 -3 -5 -8 -9 -9 -6 -2 3 7 8 5 1 -1 -2 -1 -1 -2 -3 -2 -1 -1 -2 -4 -5 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -2 -2 -1 -1 -0 0 1 1 1 1 2 3 2 2 1 1 1 1 1 1 1 1 1 2 2 2 3 3 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 5 5 5 6 6 7 8 9 10 11 11 12 12 12 12 13 13 14 15 15 16 17 18 19 20 20 20 20 20 21 21 20 20 19 19 19 19 20 20 20 19 18 18 18 18 19 21 22 23 24 24 25 25 25 25 24 23 22 20 19 19 20 22 25 28 30 32 34 36 37 37 37 37 37 38 -4 -4 -5 -6 -6 -6 -6 -5 -5 -4 -3 -1 1 3 6 8 10 9 8 6 3 -1 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -5 -1 -0 -1 -2 -2 -3 -4 -5 -7 -9 -10 -10 -11 -12 -14 -14 -3 4 8 9 8 5 0 -4 -7 -8 -7 -7 -7 -8 -7 -6 -5 -5 -4 -3 0 3 7 10 12 13 14 15 16 16 17 19 21 22 24 25 25 25 25 24 22 20 20 20 20 18 15 11 8 7 6 3 0 1 7 15 22 27 30 31 32 31 29 26 23 19 17 14 12 10 9 7 6 5 5 5 5 4 3 1 -1 -3 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -3 -1 -0 -0 -2 -3 -4 -4 -3 -1 0 1 1 0 -1 -3 -2 0 4 6 7 3 -2 -5 -5 -3 1 4 4 2 -1 -4 -5 -5 -5 -5 -5 -4 -3 -4 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -3 -3 -4 -4 -4 -3 -3 -3 -4 -6 -7 -8 -7 -4 -0 4 6 5 2 -0 -2 -2 -1 -2 -2 -2 -1 -1 -2 -3 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -0 0 1 1 1 2 3 3 3 2 2 1 1 1 1 1 1 1 1 2 2 3 3 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 5 5 6 7 8 9 10 10 11 11 11 11 12 12 13 13 14 14 15 16 17 17 18 18 19 19 19 20 20 19 19 19 19 19 19 19 19 19 18 18 18 18 18 19 21 22 23 24 24 24 25 25 25 24 23 22 20 19 19 21 23 26 28 31 33 34 35 36 36 36 36 36 -3 -3 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -6 -3 -1 -1 -2 -4 -4 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -6 -7 -6 2 3 3 2 3 2 1 -0 -1 -2 -2 -2 -4 -5 -4 -1 7 10 12 11 9 7 3 -3 -7 -9 -10 -9 -9 -9 -9 -8 -5 -3 -3 -2 0 3 6 8 10 10 11 11 12 12 13 14 15 17 19 21 22 24 25 27 27 27 26 27 29 29 27 23 19 16 14 11 8 5 4 7 15 23 30 34 35 36 34 32 28 25 22 19 17 14 12 10 8 7 7 7 8 8 7 5 3 1 -1 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -6 -6 -5 -5 -5 -4 -4 -3 -2 -1 -2 -3 -3 -4 -3 -2 -0 1 1 -0 -2 -3 -3 -1 3 6 7 4 -1 -5 -5 -4 -1 2 3 2 -0 -3 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -4 -4 -3 -3 -3 -5 -6 -6 -6 -5 -3 0 3 4 3 0 -1 -2 -2 -1 -1 -1 -1 -0 -1 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -2 -2 -1 -0 0 0 1 2 3 4 4 3 2 2 2 2 2 2 2 1 1 1 2 3 3 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 3 4 4 5 5 6 7 7 8 9 9 10 10 10 10 11 11 12 12 13 13 13 14 15 15 16 17 17 18 18 18 18 18 18 18 18 18 19 19 18 18 18 18 18 18 18 19 21 22 23 23 24 24 24 24 25 25 24 22 20 19 20 22 24 26 29 31 33 34 35 35 35 35 35 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -3 -3 -4 -5 -7 -9 -12 -11 -9 -6 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -6 0 1 0 1 2 2 2 2 4 6 8 8 6 6 9 14 13 14 13 11 8 6 4 -0 -5 -9 -12 -12 -12 -12 -12 -11 -9 -4 -2 -1 2 5 7 8 9 9 10 10 10 9 9 10 11 13 15 16 18 20 22 25 28 30 32 33 34 35 35 33 30 27 24 22 20 17 12 9 11 18 26 33 36 39 39 38 34 31 27 25 22 19 17 14 12 11 10 10 11 11 10 9 7 5 3 1 -1 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -3 -3 -3 -3 -2 -1 -0 -0 -1 -2 -3 -3 -1 2 5 6 4 -0 -4 -5 -4 -2 1 2 1 -0 -2 -4 -5 -5 -5 -5 -5 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -3 -3 -4 -5 -5 -6 -6 -4 -2 0 2 2 1 -1 -2 -2 -2 -1 -0 0 0 -1 -2 -3 -4 -3 -3 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -8 -8 -8 -7 -7 -8 -8 -8 -8 -7 -6 -5 -4 -3 -4 -4 -5 -4 -3 -1 -1 -2 -2 -2 -1 -1 -0 -0 0 2 3 4 4 4 3 2 2 3 3 3 2 2 2 2 2 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 6 6 7 8 8 8 9 9 9 9 10 11 11 11 11 11 12 12 13 14 14 15 16 16 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 19 20 21 22 23 23 24 24 24 25 25 25 24 23 21 21 22 23 25 27 30 31 33 34 34 34 34 34 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -4 -4 -5 -5 -5 -6 -8 -9 -11 -11 -9 -7 -6 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -7 -7 -6 -5 -3 -1 1 1 -2 -4 -3 -3 -2 -0 4 8 10 10 10 11 13 15 16 15 12 9 6 4 3 1 -3 -7 -12 -14 -15 -15 -15 -14 -12 -8 -4 0 4 7 9 9 9 9 9 9 9 8 7 7 8 10 12 14 16 17 19 22 26 30 34 37 37 37 38 38 36 33 30 28 26 24 20 17 14 16 22 30 37 40 42 42 41 37 33 30 27 24 21 19 16 15 14 14 14 14 14 12 11 9 7 5 3 1 0 -1 -2 -2 -3 -3 -4 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -2 -3 -3 -3 -2 1 4 5 4 0 -4 -5 -4 -2 -1 0 0 -0 -2 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -3 -3 -4 -5 -5 -6 -5 -5 -5 -5 -6 -6 -5 -4 -4 -3 -3 -4 -5 -5 -6 -5 -4 -2 -0 0 0 -1 -2 -2 -1 0 1 1 1 0 -1 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -8 -7 -5 -4 -3 -4 -4 -5 -4 -3 -2 -1 -2 -2 -2 -2 -1 -1 -0 0 1 3 4 4 4 3 3 3 3 3 3 3 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 5 5 4 4 4 4 4 5 6 6 7 7 7 7 8 8 8 9 9 10 10 10 10 10 11 11 12 12 13 14 14 15 15 15 16 16 16 17 17 17 17 18 18 18 18 18 18 19 19 20 21 22 23 23 23 24 24 25 26 27 26 23 22 22 23 25 26 28 30 32 33 33 33 33 33 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -9 -9 -8 -5 -1 5 7 7 6 1 -3 -4 -4 -4 -2 2 7 8 8 7 7 8 11 13 13 10 5 1 0 1 0 -1 -5 -9 -14 -17 -15 -14 -14 -14 -11 -6 0 6 9 11 10 9 8 7 7 8 7 6 6 6 7 8 11 15 18 19 20 22 25 30 34 36 39 41 41 38 35 31 26 21 18 16 18 18 19 22 29 38 42 42 44 45 44 39 36 33 29 26 22 20 19 18 18 18 18 17 16 15 13 11 10 8 6 4 2 1 -0 -1 -2 -3 -4 -4 -4 -4 -4 -3 -2 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 1 3 4 3 0 -2 -4 -3 -2 -1 -1 -1 -1 -2 -3 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -6 -6 -5 -4 -2 -1 -1 -1 -1 -0 0 1 2 3 2 1 -0 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -7 -6 -4 -3 -3 -4 -5 -4 -3 -2 -1 -1 -2 -2 -2 -2 -1 -1 0 1 2 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 6 6 7 6 6 5 4 4 4 4 4 5 5 6 6 6 6 7 7 7 8 8 8 9 9 10 10 10 10 10 11 11 12 13 13 13 13 14 14 15 15 16 16 17 18 18 18 18 18 18 19 19 20 21 22 23 23 23 24 24 25 27 28 28 26 24 23 23 25 26 28 29 30 32 33 33 32 32 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -8 -2 5 7 7 6 4 2 1 1 2 4 6 8 7 5 2 -4 -11 -16 -14 -7 -3 -3 -4 -5 -3 -2 -2 -4 -8 -12 -16 -14 -8 -3 -7 -13 -9 -1 6 9 10 10 9 7 5 5 6 6 5 5 5 5 6 7 8 12 17 20 22 23 24 25 28 30 30 29 26 28 28 24 19 16 17 19 20 21 21 22 24 30 36 41 45 48 45 42 38 35 30 26 23 21 21 21 21 21 21 20 18 17 15 14 12 10 8 6 4 2 1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -1 -1 -1 0 1 2 3 2 0 -2 -3 -3 -2 -1 -1 -2 -2 -3 -4 -5 -6 -6 -5 -5 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -3 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -5 -4 -3 -1 -0 1 1 2 3 3 3 3 2 0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -8 -8 -9 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -6 -4 -3 -3 -3 -4 -4 -3 -2 -0 -0 -1 -2 -2 -2 -1 -1 0 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 6 7 7 7 6 5 5 4 4 4 4 4 5 5 6 6 6 6 6 6 7 7 8 8 8 9 9 9 10 10 10 10 11 11 11 12 12 12 13 13 14 15 16 17 17 18 18 18 18 19 19 19 20 21 21 22 23 24 24 25 26 27 29 30 29 26 24 24 24 26 27 28 30 31 32 32 32 31 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -5 -7 -10 -8 -3 1 3 6 9 10 11 11 10 8 3 -4 -13 -15 -10 -7 -6 -6 -7 -5 -3 -3 -4 -7 -13 -17 -17 -10 -0 2 -3 3 7 8 9 10 10 9 8 6 4 4 4 4 3 3 3 4 5 6 6 7 13 18 21 23 23 23 23 21 18 14 18 21 21 20 19 19 19 20 21 23 23 22 23 28 33 38 39 42 45 44 41 37 32 28 25 23 23 24 24 24 23 22 20 19 18 16 15 13 11 8 6 4 2 0 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 0 1 1 1 1 2 2 2 1 -1 -2 -3 -3 -2 -1 -2 -2 -3 -3 -4 -5 -6 -6 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -5 -6 -6 -6 -5 -5 -3 -1 1 2 4 4 5 5 4 3 2 1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -5 -6 -7 -7 -7 -7 -7 -8 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -6 -4 -2 -2 -3 -4 -4 -3 -1 1 0 -1 -2 -2 -2 -1 -1 0 1 1 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 7 7 6 6 5 5 5 4 4 4 4 5 5 5 5 5 5 6 6 6 7 7 7 8 8 8 9 9 10 10 10 10 10 10 10 11 11 12 13 14 15 16 17 17 18 18 18 18 19 19 20 21 21 22 23 23 24 25 26 27 29 31 30 29 26 24 24 25 27 28 29 30 31 32 31 31 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -5 -6 -8 -10 -11 -12 -13 -12 -12 -12 -11 -10 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -4 -6 -7 -8 -7 -5 0 4 7 9 11 11 10 8 4 -3 -11 -13 -10 -6 -5 -6 -5 -3 -1 -1 -2 -4 -7 -6 -2 3 6 8 13 14 13 12 12 11 10 8 7 5 4 4 4 4 4 3 2 1 1 2 3 6 9 13 17 20 23 24 23 21 18 17 17 19 21 23 23 22 21 22 24 26 27 26 25 27 29 32 35 40 43 45 43 39 34 29 26 25 25 26 26 25 25 24 23 22 20 19 17 15 13 11 8 5 3 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 0 1 2 2 2 2 1 1 -0 -2 -3 -4 -3 -3 -2 -2 -2 -3 -4 -4 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -4 -2 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -6 -6 -5 -5 -4 -2 -0 2 4 6 7 7 6 5 4 2 1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -6 -7 -7 -6 -7 -7 -8 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -9 -8 -6 -3 -1 -0 -2 -3 -4 -3 -1 1 1 -0 -2 -2 -2 -1 -1 -0 0 1 1 1 1 2 3 3 3 2 2 2 2 3 3 3 3 2 2 2 2 2 2 3 3 3 3 3 4 4 5 6 6 6 6 6 5 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 6 6 6 7 7 7 7 8 8 9 10 10 10 9 10 10 10 10 11 12 13 14 15 16 16 17 17 18 18 19 19 20 21 21 22 22 23 24 25 26 27 29 31 32 31 29 26 24 25 26 27 28 30 31 31 31 31 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -5 -7 -9 -11 -12 -13 -13 -13 -13 -12 -12 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -5 -4 -3 -4 -5 -6 -7 -8 -8 -6 -5 -4 -3 -1 2 3 4 4 1 -3 -8 -11 -9 -6 -5 -5 -3 -2 -2 -4 -9 1 6 7 6 6 12 16 18 17 15 15 14 12 11 9 6 5 5 5 6 6 6 6 5 3 -2 -2 -1 1 4 8 11 16 21 24 26 25 22 19 20 22 24 26 26 25 25 26 28 32 32 30 28 28 28 29 32 35 40 43 43 40 35 31 28 27 27 27 27 27 27 26 25 24 22 21 19 17 15 13 10 7 4 3 1 0 -0 -1 -0 -0 -0 -1 -2 -1 -0 1 3 3 2 1 -0 -1 -2 -3 -4 -4 -4 -3 -3 -2 -2 -3 -3 -4 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -3 -2 -2 -2 -3 -4 -4 -4 -5 -5 -5 -5 -3 -2 -2 -3 -4 -5 -5 -4 -4 -2 -0 2 5 7 9 10 9 8 6 3 2 0 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -7 -8 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -4 -1 1 1 -1 -3 -4 -2 0 2 1 0 -1 -2 -2 -1 -0 -0 0 0 0 0 0 1 2 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 5 5 5 5 4 5 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 8 9 9 9 9 9 9 9 9 10 11 11 12 14 15 15 16 17 17 18 18 19 20 20 21 21 22 23 23 24 25 27 28 30 32 32 31 28 25 24 25 26 27 29 30 31 31 31 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -9 -11 -12 -13 -14 -13 -13 -12 -11 -11 -10 -9 -9 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -8 -7 -5 -3 -2 -1 -2 -5 -10 -11 -9 -6 -5 -4 -3 -3 -6 -13 -3 4 7 7 6 10 14 17 17 15 15 14 13 12 10 8 7 6 6 6 7 8 10 12 9 3 0 -1 -4 -3 -1 1 7 12 18 23 27 26 24 23 23 25 27 28 29 29 29 31 35 38 37 35 33 31 30 28 28 29 33 37 40 39 36 33 30 30 30 30 30 30 30 29 28 26 24 23 21 19 17 14 11 8 6 3 2 0 -0 -0 0 -0 -1 -1 -0 1 3 3 2 0 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -4 -2 -1 -2 -3 -4 -4 -4 -4 -4 -5 -4 -4 -3 -2 -2 -2 -3 -3 -3 -2 -1 1 3 6 8 9 10 9 7 5 3 1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -5 -3 0 2 2 -1 -3 -3 -2 0 2 1 0 -1 -2 -1 -1 -0 -0 -0 0 0 -0 -0 0 1 2 3 3 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 4 4 4 3 3 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 7 8 9 9 9 9 8 8 9 9 10 10 11 12 13 14 15 16 16 17 18 18 19 20 20 21 21 22 23 23 24 26 27 29 31 32 32 30 27 24 24 24 25 27 28 30 31 31 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -8 -9 -11 -12 -13 -14 -14 -13 -13 -12 -11 -9 -9 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -8 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -5 -6 -8 -10 -10 -9 -6 -5 -4 -3 -3 -5 -10 -7 -1 2 4 6 10 11 12 11 9 9 10 10 9 9 9 9 8 7 6 4 7 10 13 15 16 8 -3 -8 -6 -3 1 3 8 15 21 25 26 26 26 26 27 28 30 32 34 35 38 41 43 43 42 39 36 32 28 24 23 26 31 35 37 36 34 33 32 32 33 33 32 32 31 29 28 26 24 22 20 18 16 13 10 7 4 2 1 0 0 0 0 1 2 3 3 2 -0 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -3 -2 -1 -2 -3 -4 -4 -4 -3 -4 -4 -3 -3 -2 -1 -1 -2 -2 -2 -1 0 2 3 5 7 8 8 7 5 3 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -7 -8 -8 -9 -9 -9 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -8 -8 -7 -7 -6 -4 -1 2 3 2 -1 -2 -3 -2 -0 1 1 0 -1 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 0 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 2 3 3 3 3 2 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 5 5 5 5 6 8 8 9 9 8 8 8 8 8 9 9 10 11 12 13 14 15 16 17 17 18 18 19 19 20 21 21 22 23 23 24 26 27 29 30 31 30 28 25 23 23 24 25 27 28 29 30 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -8 -9 -11 -12 -13 -13 -13 -13 -13 -11 -9 -8 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -5 -4 -4 -6 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -9 -7 -6 -5 -5 -3 -3 -3 -6 -8 -7 -0 3 4 3 2 1 -2 -0 3 5 7 7 9 11 13 12 8 2 3 5 7 11 15 17 14 4 -7 -12 -5 0 4 7 9 17 22 25 26 27 27 28 29 33 36 38 41 44 48 49 48 45 42 39 35 30 25 22 22 26 31 35 35 35 35 35 36 36 35 35 34 32 31 29 28 26 23 21 20 17 14 11 7 4 2 1 1 1 2 3 4 3 2 -1 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -5 -5 -6 -6 -6 -5 -4 -2 -1 -1 -2 -3 -4 -4 -3 -3 -3 -3 -2 -1 -1 -0 -1 -1 -1 -0 0 2 3 4 5 5 5 4 3 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -10 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -4 -2 0 2 2 1 -1 -2 -3 -2 -1 0 1 -0 -1 -2 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -0 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 4 4 4 4 4 5 5 6 7 8 9 9 8 8 8 8 7 8 8 9 10 11 12 13 14 15 16 17 17 17 18 18 19 20 20 21 22 22 23 24 25 27 28 29 29 28 26 24 22 22 23 25 26 27 28 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -5 -5 -6 -7 -8 -9 -10 -11 -11 -12 -12 -12 -11 -9 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -3 -4 -5 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -7 -8 -8 -8 -6 -4 -3 -5 -9 -12 -5 -0 1 0 -3 -10 -10 -4 2 6 7 8 11 15 17 16 14 14 10 7 7 9 12 13 12 9 6 -2 -10 -6 3 8 6 11 17 22 26 27 28 28 29 32 36 39 45 50 50 46 42 39 38 37 36 33 28 25 24 26 29 32 36 38 38 38 38 38 37 36 35 34 33 31 29 27 25 22 20 18 15 11 8 5 3 2 2 3 4 4 2 -0 -2 -3 -3 -2 -3 -3 -3 -4 -4 -4 -4 -4 -3 -4 -4 -5 -5 -6 -5 -5 -5 -6 -6 -5 -5 -4 -4 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -6 -5 -3 -1 -0 -0 -2 -3 -3 -3 -3 -3 -2 -2 -1 0 1 1 0 -0 -0 1 2 2 3 3 3 2 2 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -9 -10 -11 -11 -11 -10 -9 -8 -7 -7 -6 -6 -7 -7 -7 -6 -5 -3 -1 1 2 1 -0 -1 -3 -3 -3 -2 -0 0 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 5 6 7 8 9 8 8 8 7 7 7 7 8 9 10 11 12 13 14 15 16 17 17 17 18 18 19 20 20 21 21 22 23 24 25 26 27 27 28 27 25 22 22 22 23 24 25 26 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -6 -7 -7 -6 -4 -3 -3 -3 -4 -5 -5 -5 -5 -6 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -9 -10 -11 -11 -10 -9 -8 -6 -5 -6 -8 -10 -9 -7 -4 -3 -5 -9 -6 -0 5 7 8 9 13 17 18 18 18 16 15 13 11 10 9 5 2 5 5 1 -5 -8 -3 4 5 -0 4 17 22 26 26 26 27 30 32 38 44 43 32 23 17 16 21 28 34 35 34 32 32 33 35 36 39 41 41 41 40 39 38 37 36 35 34 32 30 27 25 23 21 18 15 12 8 6 5 4 5 5 3 1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -5 -5 -6 -6 -6 -5 -4 -2 -0 0 -0 -2 -3 -3 -3 -3 -2 -2 -1 0 1 2 1 1 0 1 2 2 2 2 2 1 -0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -3 -3 -4 -4 -5 -6 -6 -7 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -11 -12 -12 -11 -9 -8 -7 -6 -6 -6 -6 -7 -7 -7 -5 -4 -2 -1 -0 0 0 -1 -2 -3 -4 -4 -2 -1 -1 -1 -2 -2 -2 -2 -1 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 -0 1 1 1 0 -0 -0 -0 -0 -0 -0 0 0 -0 -0 -1 -1 -0 -0 0 0 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 3 3 4 4 4 4 4 4 4 4 4 4 5 5 6 7 8 8 8 8 7 7 7 7 7 8 8 10 11 12 13 14 15 16 16 17 17 17 18 19 20 20 21 21 22 22 23 24 25 26 26 27 26 23 21 21 22 22 23 24 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -5 -4 -2 -2 -4 -6 -8 -9 -8 -6 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -5 -6 -7 -8 -9 -11 -13 -13 -11 -10 -9 -8 -7 -7 -7 -8 -10 -10 -9 -6 -3 -3 3 9 10 7 8 9 9 11 15 16 16 16 16 16 15 14 12 8 2 -2 -6 -8 -9 -9 -9 -8 -3 -1 -0 3 11 18 21 23 25 27 29 32 32 28 18 8 4 1 -1 1 10 20 30 35 37 38 37 39 43 45 44 43 43 42 40 39 38 37 37 35 33 31 28 25 23 21 18 16 13 10 8 6 5 4 3 1 0 -0 -1 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -4 -3 -1 1 1 -0 -1 -2 -3 -3 -2 -2 -1 -0 1 2 2 1 1 0 1 2 2 2 1 0 -0 -1 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -12 -13 -12 -11 -10 -8 -7 -6 -6 -6 -6 -6 -7 -7 -7 -5 -4 -2 -1 -1 -1 -0 -1 -2 -3 -4 -4 -3 -1 -1 -1 -2 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 4 4 4 4 3 3 3 4 5 6 7 8 8 8 8 7 7 6 6 6 6 7 8 10 11 12 13 14 15 16 16 16 17 18 19 19 20 20 20 21 21 22 22 23 24 25 25 26 24 22 20 20 21 21 22 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -5 -4 -4 -4 -6 -8 -9 -9 -8 -7 -6 -6 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -6 -8 -9 -9 -10 -11 -12 -11 -11 -10 -10 -10 -9 -9 -9 -10 -11 -11 -9 -7 -3 5 11 12 11 12 6 2 1 1 1 1 1 1 2 6 13 15 13 10 4 -4 -10 -11 -11 -12 -12 -9 -6 -3 -1 1 5 11 16 19 22 26 26 23 17 9 2 3 3 -0 -4 -3 1 12 22 32 39 40 43 46 48 47 46 45 44 42 41 40 39 39 37 36 33 31 28 26 23 21 19 17 14 12 9 7 5 4 3 2 1 0 -1 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 0 1 1 0 -1 -2 -3 -2 -2 -2 -1 0 1 2 2 1 0 1 1 2 2 1 1 -0 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -11 -12 -13 -13 -12 -10 -8 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -4 -3 -2 -1 -1 -0 -1 -1 -3 -4 -4 -3 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -3 -3 -3 -2 -1 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 0 0 0 1 1 1 1 1 1 2 2 3 3 3 3 3 2 2 3 3 4 5 6 7 8 8 8 8 7 6 6 5 6 6 7 8 9 10 11 13 14 15 15 16 16 17 18 19 20 20 20 21 21 21 21 21 22 23 24 25 24 22 20 19 20 20 20 -7 -7 -6 -6 -6 -5 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -6 -7 -8 -9 -9 -9 -8 -7 -7 -7 -6 -6 -5 -6 -6 -7 -8 -8 -9 -10 -11 -11 -10 -10 -10 -10 -10 -11 -12 -12 -13 -13 -13 -12 -12 -12 -11 -10 -7 -2 4 9 12 11 1 -6 -9 -9 -10 -10 -10 -10 -9 -4 4 6 7 9 11 7 -1 -8 -12 -12 -12 -12 -10 -7 -3 -2 -4 0 5 9 12 17 17 15 10 5 0 2 4 5 2 -2 -4 0 9 19 31 39 45 49 50 50 49 48 46 45 43 41 41 40 39 38 36 33 31 28 26 24 22 20 18 15 13 10 7 6 5 4 3 2 0 -1 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -1 1 1 1 0 -1 -2 -2 -2 -2 -1 -0 1 2 2 1 1 0 1 1 1 1 -0 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -11 -12 -13 -14 -13 -11 -9 -7 -6 -6 -6 -6 -5 -6 -6 -7 -8 -7 -6 -4 -3 -2 -1 -1 -0 -1 -1 -2 -3 -3 -3 -3 -2 -3 -3 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -2 -3 -3 -4 -4 -3 -3 -2 -2 -2 -3 -3 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 0 0 0 1 1 2 2 2 2 2 1 1 2 2 3 4 5 6 7 8 8 7 6 6 5 5 5 5 6 7 8 9 10 11 12 13 14 15 16 16 17 19 20 20 21 21 21 21 20 20 20 21 22 23 23 22 20 19 19 19 19 -7 -7 -7 -6 -5 -5 -5 -6 -7 -7 -8 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -8 -9 -9 -8 -8 -7 -7 -7 -8 -8 -9 -10 -12 -12 -9 -6 -5 -4 -4 -3 -4 -6 -7 -7 -9 -11 -14 -15 -15 -15 -14 -13 -13 -12 -12 -11 -10 -6 1 8 5 -2 -7 -10 -10 -10 -9 -8 -8 -7 -6 -5 -4 -2 2 7 8 6 1 -6 -10 -11 -12 -12 -11 -8 -2 -7 -6 -4 -1 1 5 7 8 7 5 1 -1 2 5 6 5 2 1 4 10 19 31 41 47 49 49 48 48 48 47 45 43 42 41 41 40 38 36 33 31 29 27 25 23 21 19 17 14 11 9 7 6 5 3 1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 1 2 1 -0 -1 -2 -2 -2 -1 -1 0 1 2 2 1 0 0 1 1 0 -1 -1 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -11 -12 -13 -14 -14 -13 -11 -10 -8 -7 -6 -6 -6 -5 -5 -5 -6 -7 -8 -8 -7 -5 -3 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -4 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 0 1 1 1 1 1 0 0 1 1 2 3 4 6 7 8 8 7 6 5 4 4 4 4 5 6 7 8 9 10 11 12 13 14 15 15 16 18 19 20 21 22 22 22 21 21 20 20 20 22 22 22 20 18 18 18 18 -6 -6 -6 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -6 -6 -6 -6 -7 -8 -8 -10 -11 -10 -8 -6 -6 -8 -8 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -7 -7 -7 -7 -8 -9 -11 -13 -15 -18 -18 -10 1 10 14 13 11 7 3 -0 -2 -3 -6 -10 -13 -13 -11 -10 -10 -11 -12 -12 -12 -13 -14 -11 1 2 2 0 -3 -6 -8 -8 -8 -9 -9 -7 -5 -2 1 2 -1 -4 2 6 4 -2 -8 -9 -9 -11 -12 -7 -8 -10 -8 -4 -5 -5 -2 2 4 5 4 0 -0 2 6 9 9 9 8 9 13 22 32 40 45 48 49 49 51 50 47 45 43 43 42 41 40 38 36 34 32 30 28 26 24 22 20 18 15 13 11 9 7 5 3 0 -1 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -1 0 1 2 1 -0 -2 -2 -2 -1 -1 -0 0 1 2 1 0 -0 0 0 0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -11 -12 -13 -14 -15 -14 -12 -10 -9 -8 -7 -6 -5 -5 -4 -5 -5 -6 -7 -8 -8 -7 -5 -3 -1 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -2 -2 -3 -3 -3 -4 -5 -4 -4 -3 -3 -3 -3 -4 -4 -3 -3 -3 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 0 0 0 0 -0 -0 -0 -0 0 1 2 4 5 6 7 7 7 6 4 4 3 3 3 4 5 6 7 8 8 9 10 11 12 13 14 15 16 18 20 21 22 23 23 23 22 21 20 19 20 21 21 20 17 17 17 17 -7 -6 -5 -4 -4 -5 -6 -7 -7 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -8 -7 -7 -6 -6 -6 -7 -7 -9 -10 -11 -11 -9 -7 -6 -9 -9 -9 -8 -7 -6 -5 -5 -6 -7 -7 -7 -6 -6 -6 -7 -9 -11 -13 -15 -18 -22 -21 -14 -1 12 21 22 22 20 16 12 7 5 3 1 -0 1 2 3 0 -3 -6 -8 -9 -11 -14 -16 -16 -5 2 5 5 3 0 -2 -4 -6 -7 -8 -7 -6 -3 2 5 2 -6 -4 2 4 3 -0 -3 -5 -7 -15 -13 -14 -11 -6 -5 -7 -6 -4 -1 3 5 3 0 -0 2 7 12 15 16 16 15 19 27 34 41 47 51 52 51 49 46 44 45 44 43 42 41 39 37 36 34 33 32 30 28 26 24 22 20 18 15 13 10 8 5 2 0 -2 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -5 -5 -5 -4 -4 -3 -3 -3 -3 -2 -2 -1 -0 1 1 2 0 -1 -1 -1 -1 -0 -0 0 1 1 1 0 -0 -0 0 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -10 -11 -11 -12 -12 -12 -13 -14 -15 -15 -14 -13 -11 -10 -9 -8 -7 -6 -5 -4 -4 -4 -5 -6 -7 -8 -9 -7 -5 -3 -2 -1 -1 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -6 -5 -5 -4 -4 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 3 4 5 5 6 6 5 4 3 3 3 3 3 4 5 6 7 7 8 9 9 10 11 13 14 15 17 19 20 22 23 24 24 24 22 21 19 19 20 20 20 17 16 16 17 -6 -6 -5 -4 -4 -5 -5 -6 -6 -5 -5 -5 -6 -7 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -8 -9 -9 -10 -11 -10 -8 -5 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -8 -10 -12 -13 -14 -15 -15 -14 -13 -14 -4 17 20 24 26 26 25 22 18 15 14 13 13 13 12 9 5 3 2 -0 -1 -3 -7 -13 -8 0 6 8 8 7 5 2 -0 -3 -4 -5 -6 -6 -6 -1 3 1 -3 -6 -6 -4 -2 -2 -3 -5 -9 -13 -14 -13 -9 -4 -5 -6 -6 -6 -4 1 4 3 1 0 4 11 18 23 24 23 21 24 28 33 39 44 46 46 44 42 42 43 44 44 44 42 41 39 38 36 36 35 33 32 30 27 25 24 22 20 17 14 11 8 5 2 -0 -2 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -1 0 1 2 1 0 -1 -1 -1 -0 0 0 0 0 0 0 -0 -0 -0 -0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -9 -9 -9 -8 -9 -9 -11 -12 -13 -13 -13 -13 -14 -15 -16 -15 -13 -11 -10 -10 -9 -8 -6 -5 -4 -3 -3 -4 -5 -6 -7 -8 -9 -8 -6 -4 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -7 -8 -9 -8 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 2 3 4 4 5 5 5 4 3 2 2 2 2 3 4 5 6 6 7 7 8 9 10 11 13 14 16 17 19 21 22 24 25 25 24 22 20 19 19 19 19 17 16 15 16 -6 -5 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -11 -11 -11 -9 -7 -5 -5 -6 -6 -6 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -8 -10 -10 -11 -10 -9 -8 -8 -9 -8 -5 0 13 19 23 28 32 30 28 26 24 22 20 17 12 7 3 3 1 0 -1 -2 -5 -4 1 5 8 9 9 8 7 4 2 -1 -3 -4 -6 -7 -7 -4 -2 -2 -4 -6 -8 -9 -8 -7 -5 -5 -9 -12 -13 -10 -6 -3 -2 -3 -5 -7 -6 -1 2 4 3 4 11 20 27 31 28 25 24 24 26 28 32 40 46 48 47 44 40 40 42 45 44 42 41 39 38 37 37 36 34 33 31 29 27 26 24 22 19 16 12 9 5 2 -1 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -0 1 1 1 1 -0 -1 -0 0 0 0 0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -3 -3 -4 -4 -5 -5 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -9 -8 -8 -8 -9 -11 -12 -13 -14 -14 -15 -15 -16 -16 -15 -14 -12 -11 -11 -10 -9 -7 -5 -4 -3 -2 -3 -4 -5 -6 -7 -8 -9 -8 -7 -5 -3 -2 -3 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -8 -8 -7 -7 -7 -6 -5 -5 -4 -5 -6 -6 -7 -7 -6 -7 -8 -9 -10 -10 -9 -7 -6 -5 -5 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -3 -2 -2 -2 -2 -2 -1 0 2 3 3 4 4 4 3 2 2 1 2 2 2 3 4 5 5 6 6 7 7 8 9 11 13 14 16 18 19 21 23 24 25 26 24 22 20 18 18 19 17 15 14 15 -5 -5 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -8 -8 -9 -10 -11 -12 -12 -10 -7 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -8 -8 -9 -9 -9 -9 -6 -0 1 4 13 28 34 36 36 34 31 27 22 16 10 5 3 2 1 1 2 2 2 3 4 5 7 8 8 8 8 6 4 0 -2 -4 -5 -7 -8 -7 -6 -6 -6 -7 -8 -10 -10 -10 -8 -7 -8 -10 -11 -9 -6 -3 -1 -3 -6 -8 -7 -2 4 9 11 16 24 30 33 32 30 27 24 22 22 24 33 43 50 52 52 51 47 44 43 45 45 43 42 40 39 38 37 36 35 34 32 31 29 28 26 24 21 17 13 9 5 2 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -1 0 1 1 1 0 -0 -0 0 0 0 0 -0 -0 -1 -1 -1 -0 -0 -1 -1 -2 -2 -3 -4 -4 -5 -5 -4 -4 -4 -4 -3 -3 -3 -4 -4 -6 -6 -7 -8 -8 -8 -8 -8 -9 -10 -12 -14 -15 -15 -16 -17 -17 -17 -17 -15 -13 -12 -11 -11 -10 -9 -7 -5 -3 -2 -2 -3 -4 -5 -6 -7 -8 -8 -8 -7 -6 -4 -3 -4 -5 -5 -5 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -7 -6 -6 -5 -6 -7 -7 -8 -8 -7 -7 -8 -9 -11 -11 -10 -9 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -4 -3 -3 -2 -2 -3 -3 -2 -1 0 1 2 3 4 3 3 2 1 1 1 1 2 2 3 4 5 5 5 5 6 7 8 9 11 12 14 16 18 20 22 23 25 26 26 24 21 19 18 18 17 15 13 13 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -9 -9 -10 -11 -12 -13 -13 -11 -7 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -7 -7 -6 -6 -6 -7 -8 -9 -9 -9 -10 -10 -10 -9 -8 -6 -5 -3 0 4 22 32 37 39 37 33 28 22 16 11 8 7 6 5 6 8 9 7 5 4 3 5 6 7 8 9 7 5 1 -1 -3 -5 -7 -8 -9 -10 -9 -8 -8 -9 -10 -11 -10 -9 -8 -8 -9 -10 -8 -5 -2 -1 -3 -7 -9 -7 -1 9 18 20 23 23 23 22 23 24 24 23 19 18 24 32 40 45 49 51 50 46 41 38 40 43 44 43 41 40 39 38 37 36 35 34 32 31 30 28 26 23 19 14 10 5 1 -1 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -5 -6 -6 -6 -5 -4 -3 -3 -3 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 1 1 1 0 -0 -0 0 0 0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -4 -4 -5 -4 -4 -4 -4 -4 -3 -3 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -9 -10 -12 -13 -15 -16 -17 -17 -18 -18 -18 -16 -15 -13 -13 -12 -12 -11 -9 -7 -4 -2 -1 -1 -2 -3 -4 -5 -6 -7 -8 -9 -8 -7 -5 -4 -5 -5 -5 -5 -4 -4 -4 -5 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -7 -7 -7 -8 -8 -8 -8 -7 -7 -8 -9 -11 -12 -12 -10 -8 -7 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -7 -7 -7 -7 -6 -6 -5 -6 -6 -6 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -0 1 2 3 3 2 1 1 0 0 0 1 1 2 3 3 4 4 4 5 5 6 7 9 10 12 15 17 18 20 22 24 26 26 25 23 20 18 17 16 15 12 11 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -8 -8 -8 -9 -10 -10 -11 -12 -13 -14 -15 -15 -12 -8 -5 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -7 -8 -9 -10 -10 -11 -10 -10 -9 -9 -8 -5 -2 -2 -6 8 17 25 32 34 32 29 26 22 18 15 15 13 12 11 13 14 13 10 6 3 3 4 5 6 8 9 8 5 2 -1 -2 -4 -6 -9 -11 -12 -11 -11 -10 -10 -10 -10 -10 -10 -8 -8 -9 -8 -7 -4 -2 -1 -4 -7 -10 -9 -2 13 16 15 12 8 5 3 5 12 19 18 18 19 21 23 24 27 34 40 43 42 41 42 40 37 36 38 41 42 41 40 38 37 36 35 34 33 31 30 27 24 20 15 10 5 1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 0 1 1 0 -0 -0 -0 0 0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -4 -4 -5 -6 -7 -7 -7 -7 -7 -8 -8 -10 -11 -13 -15 -16 -17 -17 -18 -19 -19 -18 -16 -15 -14 -14 -13 -13 -11 -9 -6 -4 -1 0 0 -1 -3 -4 -5 -6 -7 -8 -9 -9 -8 -7 -5 -5 -5 -6 -5 -4 -4 -4 -5 -7 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -9 -10 -11 -11 -11 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -9 -10 -12 -12 -11 -10 -8 -7 -7 -7 -7 -8 -8 -8 -7 -7 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -2 -0 2 3 3 2 1 0 -0 -1 -0 -0 0 1 1 2 3 3 4 4 4 5 5 7 8 11 13 15 17 19 21 23 25 26 26 25 23 20 18 16 15 12 9 -2 -2 -2 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -6 -6 -7 -8 -8 -8 -9 -9 -10 -11 -12 -14 -15 -16 -15 -11 -7 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -9 -11 -11 -12 -11 -10 -9 -9 -8 -7 -4 0 3 2 4 8 13 18 20 21 21 21 21 20 20 19 17 16 17 18 18 16 13 8 4 4 4 5 6 8 9 8 6 3 -0 -2 -3 -5 -8 -11 -14 -14 -13 -12 -10 -10 -11 -11 -11 -8 -7 -8 -7 -6 -4 -2 -1 -4 -8 -12 -13 -3 3 5 3 -0 -3 -8 -9 -5 2 6 12 14 14 14 12 10 13 19 25 32 39 41 39 36 34 37 39 39 40 42 42 39 38 37 36 35 34 33 31 29 25 21 16 10 5 1 -2 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -8 -8 -10 -12 -13 -15 -15 -16 -17 -18 -18 -19 -18 -18 -17 -16 -15 -15 -14 -13 -12 -10 -7 -3 -0 2 1 -0 -2 -3 -4 -5 -6 -8 -9 -9 -9 -8 -6 -6 -5 -6 -6 -5 -4 -4 -5 -6 -8 -9 -9 -8 -8 -8 -8 -8 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -8 -7 -7 -8 -10 -11 -12 -11 -9 -8 -7 -7 -7 -8 -8 -8 -7 -7 -6 -6 -7 -8 -8 -9 -9 -8 -8 -7 -6 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -4 -2 0 2 3 2 1 -0 -1 -1 -1 -1 -1 -0 0 1 2 2 3 3 3 4 4 5 6 9 11 14 16 18 20 22 24 25 26 26 25 23 20 17 15 13 9 -2 -1 -3 -5 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -7 -8 -9 -11 -13 -14 -14 -10 -6 -4 -3 -2 -3 -4 -4 -5 -5 -4 -4 -4 -4 -4 -3 -3 -4 -4 -5 -5 -6 -6 -7 -9 -11 -12 -12 -12 -11 -10 -9 -9 -8 -6 -3 1 6 6 -1 -6 -2 2 4 7 10 14 17 20 20 20 20 20 21 21 22 20 16 8 6 6 5 4 5 7 8 8 6 2 -1 -2 -4 -5 -8 -13 -15 -14 -13 -12 -11 -11 -12 -12 -11 -8 -6 -6 -6 -6 -4 -1 -1 -5 -10 -15 -16 -10 -5 -2 -1 -1 -5 -9 -12 -12 -8 -2 3 8 11 12 9 5 3 5 11 22 30 34 35 36 40 42 42 40 39 39 41 41 39 38 37 37 36 35 33 30 27 22 16 10 5 0 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 -8 -9 -10 -12 -14 -15 -15 -15 -16 -16 -17 -18 -18 -18 -17 -17 -16 -16 -15 -15 -14 -12 -10 -7 -3 1 3 3 1 -1 -3 -4 -5 -6 -7 -8 -9 -10 -9 -7 -6 -6 -6 -6 -6 -5 -4 -5 -6 -8 -9 -10 -9 -9 -8 -8 -8 -9 -9 -10 -11 -12 -12 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -10 -10 -10 -9 -8 -7 -6 -6 -8 -10 -11 -12 -11 -9 -8 -7 -7 -8 -9 -8 -8 -7 -6 -6 -7 -8 -9 -10 -10 -10 -9 -8 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -5 -4 -2 1 4 3 1 0 -1 -1 -2 -2 -2 -1 -1 -0 1 1 2 2 2 3 3 4 5 7 10 12 15 17 19 21 23 25 26 27 27 26 23 19 16 14 9 -2 -2 -3 -5 -6 -5 -5 -5 -4 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -6 -4 -2 -1 -1 -3 -5 -7 -9 -11 -12 -9 -5 -2 0 1 1 -0 -2 -3 -4 -4 -4 -4 -4 -4 -3 -4 -4 -4 -5 -5 -6 -6 -7 -8 -11 -12 -12 -12 -12 -11 -11 -11 -11 -10 -8 -6 -2 3 4 2 -1 -3 -4 -6 -7 -5 1 8 14 18 19 21 23 24 24 23 19 12 9 8 7 5 4 5 6 7 8 6 2 -2 -5 -6 -7 -9 -12 -13 -13 -11 -12 -12 -11 -11 -11 -9 -6 -5 -6 -6 -6 -4 -2 -3 -8 -14 -13 -11 -10 -8 -6 -2 -3 -6 -7 -8 -9 -12 -11 -4 4 12 15 11 4 -3 -4 1 13 24 31 36 42 47 48 45 42 39 41 43 42 41 40 39 39 38 36 35 32 28 23 17 11 5 0 -2 -3 -3 -2 -2 -2 -3 -3 -3 -3 -4 -5 -5 -5 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -7 -7 -8 -9 -10 -12 -14 -15 -15 -15 -15 -15 -15 -16 -16 -17 -17 -17 -16 -16 -16 -15 -14 -14 -13 -11 -7 -3 2 4 4 2 -1 -3 -4 -5 -6 -7 -8 -9 -10 -10 -8 -7 -6 -6 -7 -7 -6 -5 -5 -5 -7 -9 -10 -10 -10 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -13 -13 -13 -13 -14 -14 -13 -13 -12 -11 -10 -10 -10 -9 -7 -5 -4 -5 -8 -11 -12 -12 -10 -8 -7 -7 -8 -9 -9 -9 -8 -7 -6 -6 -7 -8 -10 -10 -11 -10 -9 -8 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -4 -4 -4 -4 -4 -4 -5 -6 -6 -5 -1 3 4 3 1 -0 -1 -2 -2 -2 -2 -2 -1 -0 0 1 2 2 2 2 3 4 5 8 11 14 16 19 21 23 25 26 27 28 28 26 23 18 15 11 -1 -2 -4 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -6 -4 -2 0 1 1 -1 -3 -5 -8 -10 -11 -11 -8 -4 1 4 6 6 4 1 -1 -3 -4 -5 -5 -5 -4 -4 -5 -6 -6 -7 -7 -8 -8 -9 -10 -11 -11 -11 -11 -11 -12 -13 -13 -13 -12 -11 -9 -7 -4 -2 -1 -0 0 0 -0 -1 -1 -4 -2 5 12 17 20 21 19 16 12 9 8 8 9 7 5 5 5 6 8 8 6 1 -3 -6 -8 -8 -10 -11 -12 -11 -11 -12 -12 -11 -10 -9 -8 -7 -6 -6 -6 -6 -5 -5 -6 -9 -9 -9 -10 -11 -10 -5 -2 -3 -5 -8 -10 -11 -11 -13 -11 -0 11 17 15 7 -1 -6 0 11 21 29 38 44 47 49 49 47 45 47 47 45 43 42 42 41 40 39 37 34 29 24 17 11 5 1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -2 -2 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -11 -13 -14 -15 -15 -15 -14 -14 -14 -15 -15 -15 -16 -16 -16 -16 -15 -15 -14 -14 -13 -13 -12 -8 -3 2 6 5 2 -0 -3 -4 -5 -6 -7 -8 -9 -10 -10 -9 -8 -7 -7 -7 -8 -8 -7 -5 -5 -6 -8 -9 -10 -10 -9 -9 -9 -9 -10 -10 -11 -11 -11 -11 -12 -13 -14 -14 -15 -15 -14 -14 -13 -12 -11 -11 -11 -10 -8 -5 -2 -3 -5 -9 -12 -12 -11 -9 -8 -7 -7 -9 -10 -10 -9 -8 -7 -6 -6 -7 -9 -10 -11 -11 -10 -9 -8 -7 -7 -7 -6 -6 -5 -4 -4 -3 -3 -4 -5 -5 -5 -5 -5 -6 -7 -7 -5 1 5 6 4 2 -0 -1 -2 -2 -3 -3 -2 -2 -1 0 1 1 2 2 2 3 4 6 9 12 15 18 20 22 24 26 28 29 30 30 27 23 18 14 -2 -4 -5 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -6 -5 -5 -4 -2 -1 -1 -2 -4 -5 -7 -9 -10 -12 -12 -12 -10 -7 -3 1 4 5 5 4 1 -1 -4 -5 -5 -4 -5 -6 -6 -7 -8 -9 -9 -10 -10 -10 -11 -10 -10 -10 -10 -10 -13 -14 -15 -14 -13 -11 -10 -9 -8 -6 -4 -3 -2 -0 2 4 4 -1 -3 -1 6 11 12 11 8 4 3 5 7 9 10 9 7 6 5 6 7 6 3 -1 -4 -7 -8 -10 -11 -12 -11 -9 -11 -11 -11 -10 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -11 -11 -5 -2 -3 -7 -9 -11 -11 -11 -11 -13 -5 11 19 18 11 2 -2 -0 5 13 21 27 34 43 49 52 53 52 50 48 47 46 45 45 44 43 41 38 35 30 24 18 11 6 2 0 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -11 -13 -15 -16 -15 -15 -14 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -13 -13 -13 -13 -13 -13 -9 -3 3 7 6 3 -0 -3 -4 -5 -6 -6 -7 -8 -9 -10 -10 -9 -8 -8 -8 -8 -8 -8 -6 -5 -5 -7 -8 -9 -10 -9 -9 -9 -9 -10 -10 -11 -11 -10 -10 -11 -12 -14 -15 -16 -16 -15 -15 -14 -13 -12 -11 -11 -11 -10 -7 -2 -1 -2 -5 -9 -11 -11 -10 -8 -7 -7 -8 -10 -11 -11 -10 -8 -7 -6 -6 -8 -9 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -6 -5 -4 -3 -3 -4 -5 -6 -6 -6 -6 -7 -7 -8 -8 -3 3 7 7 5 2 1 -1 -2 -3 -3 -3 -2 -2 -0 1 1 1 1 2 2 3 5 7 10 14 16 19 21 24 26 28 30 32 32 32 28 22 18 -3 -4 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -5 -7 -8 -8 -9 -9 -10 -10 -10 -9 -9 -8 -6 -4 -2 -1 0 1 0 -1 -2 -4 -5 -4 -4 -4 -4 -5 -6 -7 -9 -10 -11 -11 -11 -10 -10 -10 -9 -9 -11 -13 -14 -15 -13 -11 -10 -10 -9 -9 -8 -6 -5 -4 -2 2 6 5 -2 -8 -5 -4 -2 1 3 0 -0 1 3 5 8 10 9 7 5 5 6 7 5 2 -1 -4 -6 -8 -10 -11 -11 -9 -10 -11 -11 -10 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -12 -10 -5 -2 -3 -6 -9 -12 -14 -14 -11 -12 -4 9 19 21 16 8 2 -2 -3 1 6 12 20 28 36 44 46 46 45 45 45 46 47 48 47 45 43 40 36 31 25 18 12 7 4 2 1 1 0 -0 -1 -2 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -6 -7 -7 -8 -8 -9 -10 -12 -14 -15 -16 -16 -15 -14 -14 -14 -15 -16 -16 -17 -17 -16 -15 -14 -14 -13 -13 -13 -14 -14 -14 -14 -10 -4 2 8 7 4 0 -3 -4 -5 -6 -6 -6 -7 -8 -9 -10 -10 -10 -9 -8 -8 -9 -9 -8 -6 -5 -5 -6 -8 -9 -10 -10 -9 -9 -10 -11 -11 -11 -10 -10 -10 -12 -13 -15 -16 -17 -16 -16 -15 -14 -13 -12 -12 -12 -12 -9 -5 -1 1 -1 -6 -9 -11 -10 -9 -7 -7 -8 -9 -11 -12 -11 -10 -8 -7 -6 -6 -8 -9 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -6 -5 -4 -4 -4 -5 -6 -7 -7 -7 -8 -8 -9 -10 -8 -1 6 10 9 5 3 1 -0 -2 -2 -3 -3 -2 -1 -0 1 1 1 1 2 2 3 5 8 12 15 18 21 23 25 28 30 33 34 35 33 28 23 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -7 -7 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -2 -4 -5 -6 -5 -4 -3 -2 -2 -2 -5 -8 -10 -10 -10 -9 -9 -10 -9 -9 -9 -11 -12 -13 -13 -12 -10 -9 -8 -9 -9 -8 -7 -7 -6 -4 2 6 1 -7 -9 -10 -9 -7 -5 -3 -1 -1 -1 0 3 6 7 7 6 5 4 6 6 5 2 -1 -4 -7 -10 -12 -13 -11 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -9 -10 -11 -12 -13 -13 -10 -6 -3 -3 -5 -9 -13 -16 -16 -13 -12 -5 8 20 23 18 12 6 0 -3 -3 -5 -4 1 10 16 19 21 25 27 30 35 42 48 50 49 47 45 41 36 31 25 19 13 8 5 3 3 2 1 0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -13 -15 -16 -17 -16 -15 -14 -14 -14 -16 -17 -18 -19 -19 -19 -18 -16 -15 -14 -14 -14 -14 -15 -15 -15 -14 -11 -6 2 8 8 5 1 -2 -4 -5 -6 -6 -6 -6 -7 -9 -10 -11 -11 -10 -9 -9 -9 -9 -8 -7 -5 -4 -5 -7 -9 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -10 -11 -12 -14 -16 -17 -17 -17 -16 -15 -14 -13 -13 -13 -13 -12 -8 -3 1 2 -2 -6 -9 -10 -9 -8 -7 -8 -9 -11 -12 -13 -12 -11 -9 -6 -5 -6 -8 -9 -11 -11 -11 -9 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -5 -7 -8 -8 -9 -9 -10 -10 -11 -11 -6 3 11 12 9 6 3 2 -0 -1 -2 -3 -3 -2 -1 -0 1 1 1 1 2 3 4 6 10 13 17 20 22 25 27 30 33 36 38 37 33 28 -4 -5 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -5 -6 -7 -7 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -1 -1 -1 -1 -0 -1 -4 -6 -8 -8 -6 -5 -3 -0 2 2 -1 -3 -5 -6 -6 -5 -6 -7 -7 -7 -8 -9 -11 -12 -11 -10 -8 -7 -7 -8 -8 -8 -8 -8 -7 -4 1 1 -3 -8 -8 -7 -8 -9 -7 -4 -2 -2 -3 -3 -0 3 5 5 4 3 4 5 6 5 2 -2 -5 -10 -13 -15 -13 -11 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -9 -11 -12 -13 -13 -13 -13 -11 -8 -5 -3 -5 -8 -14 -19 -19 -17 -13 -7 5 15 17 17 14 9 3 0 -4 -8 -9 -7 -4 0 6 11 16 20 24 27 33 41 50 52 50 46 41 36 30 25 19 14 10 7 5 4 3 2 1 0 -1 -2 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -13 -14 -16 -17 -18 -17 -15 -14 -13 -14 -16 -17 -19 -20 -21 -21 -21 -20 -18 -16 -15 -15 -15 -16 -16 -16 -16 -15 -12 -7 0 7 8 6 2 -1 -4 -5 -5 -6 -6 -6 -6 -8 -9 -10 -11 -11 -10 -10 -9 -9 -9 -7 -6 -4 -4 -5 -8 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -10 -11 -13 -15 -17 -17 -18 -17 -16 -15 -14 -14 -13 -13 -13 -10 -6 -1 3 2 -2 -6 -8 -9 -8 -8 -8 -9 -10 -12 -13 -14 -13 -12 -9 -6 -5 -5 -7 -9 -10 -10 -10 -9 -8 -8 -8 -9 -9 -8 -6 -5 -5 -6 -7 -9 -10 -10 -10 -11 -11 -11 -12 -10 -4 8 14 13 10 6 4 2 0 -1 -3 -3 -3 -2 -1 0 1 1 1 2 2 3 5 8 11 15 18 21 24 26 30 33 37 40 41 39 34 -5 -6 -6 -6 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -7 -7 -6 -6 -5 -4 -4 -3 -3 -2 -2 -2 -2 -1 -1 -4 -7 -9 -9 -8 -8 -7 -4 0 4 6 6 5 2 2 2 2 1 -1 -3 -4 -6 -8 -9 -10 -9 -8 -6 -6 -7 -7 -8 -9 -9 -9 -10 -6 -2 -2 -7 -8 -8 -6 -4 -5 -8 -5 -2 -3 -5 -5 -3 1 3 3 2 1 3 5 6 5 1 -3 -8 -13 -15 -14 -12 -11 -10 -10 -10 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -9 -11 -12 -12 -12 -13 -13 -13 -12 -9 -6 -4 -5 -8 -14 -20 -21 -21 -17 -10 -1 8 14 17 16 12 7 1 -4 -9 -11 -9 -6 -1 4 8 9 11 14 19 26 37 47 52 51 47 41 35 29 24 20 15 12 9 7 6 5 4 3 2 1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -7 -7 -7 -7 -8 -9 -11 -12 -13 -13 -15 -17 -18 -19 -18 -16 -14 -13 -14 -15 -17 -18 -19 -20 -21 -22 -22 -21 -20 -19 -18 -17 -17 -17 -17 -16 -15 -15 -13 -9 -2 6 8 7 3 -0 -2 -4 -5 -5 -5 -5 -6 -7 -8 -10 -11 -12 -11 -10 -9 -9 -8 -8 -7 -5 -4 -5 -7 -9 -11 -12 -12 -12 -12 -12 -11 -11 -10 -9 -9 -10 -11 -13 -15 -17 -18 -18 -17 -16 -15 -14 -14 -13 -13 -12 -9 -4 2 4 1 -3 -6 -8 -8 -8 -8 -8 -10 -12 -13 -14 -15 -15 -12 -8 -5 -4 -4 -6 -8 -9 -10 -10 -8 -8 -8 -9 -9 -9 -8 -7 -6 -6 -8 -10 -11 -12 -12 -12 -11 -10 -10 -11 -11 2 13 15 14 10 7 4 2 -0 -2 -3 -3 -3 -2 -1 0 1 1 2 2 3 4 6 10 13 17 20 23 25 28 32 37 41 44 43 40 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -6 -8 -9 -10 -9 -8 -8 -7 -6 -5 -5 -5 -4 -4 -3 -3 -4 -4 -3 -2 -3 -4 -7 -9 -8 -7 -8 -9 -10 -9 -3 4 10 12 12 11 11 11 11 10 6 3 -1 -4 -5 -6 -7 -7 -6 -5 -5 -5 -5 -7 -10 -11 -12 -11 -8 -5 -7 -9 -9 -8 -5 -2 -4 -8 -6 -3 -3 -5 -6 -4 -2 1 1 -1 -1 1 5 7 4 -1 -6 -10 -13 -14 -13 -11 -11 -10 -10 -9 -8 -8 -8 -8 -8 -7 -6 -6 -7 -8 -9 -11 -11 -11 -11 -12 -13 -14 -14 -14 -12 -9 -6 -5 -8 -14 -19 -21 -20 -18 -13 -4 5 12 17 18 15 9 3 -4 -9 -10 -8 -5 -0 4 5 4 3 3 7 17 28 38 45 49 46 40 34 29 24 20 17 14 11 9 7 6 5 5 4 2 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -5 -6 -6 -7 -7 -6 -7 -8 -9 -11 -13 -13 -14 -15 -17 -19 -20 -19 -18 -15 -14 -14 -14 -16 -17 -17 -18 -19 -20 -21 -22 -22 -22 -21 -21 -20 -20 -19 -17 -16 -15 -15 -13 -10 -5 4 8 8 5 2 -1 -3 -4 -5 -5 -5 -5 -6 -7 -8 -10 -11 -12 -11 -10 -9 -9 -8 -8 -6 -5 -4 -6 -8 -10 -12 -13 -12 -12 -12 -12 -11 -11 -10 -9 -9 -10 -12 -14 -15 -17 -17 -17 -17 -16 -15 -14 -14 -14 -13 -12 -8 -1 3 3 1 -3 -6 -8 -8 -8 -8 -9 -11 -13 -14 -16 -16 -16 -12 -7 -3 -1 -3 -5 -7 -9 -10 -9 -8 -8 -9 -10 -10 -9 -8 -7 -7 -8 -10 -13 -14 -14 -14 -12 -10 -8 -8 -11 -6 8 16 18 14 10 7 4 2 -1 -3 -4 -4 -4 -3 -1 0 1 1 2 3 3 5 8 11 15 19 22 24 27 30 36 41 45 47 45 -5 -5 -5 -6 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -4 -6 -8 -9 -9 -9 -8 -8 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -8 -11 -13 -13 -7 2 9 12 12 13 15 17 19 17 13 8 3 -0 -1 -2 -3 -4 -4 -4 -3 -2 -2 -5 -8 -12 -14 -14 -11 -8 -9 -9 -8 -8 -6 -2 -3 -6 -6 -3 -3 -5 -6 -5 -3 -1 -2 -4 -4 -1 3 3 1 -3 -7 -10 -11 -11 -11 -10 -11 -10 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -8 -9 -10 -11 -11 -10 -11 -13 -15 -15 -14 -14 -14 -13 -10 -7 -7 -7 -10 -15 -16 -14 -11 -6 1 10 17 20 17 11 3 -4 -8 -10 -8 -4 2 4 3 0 -3 -4 -1 7 17 29 38 42 42 38 33 28 24 21 19 16 14 12 10 8 7 6 5 4 3 2 2 2 1 1 2 2 1 1 2 2 2 1 1 0 -0 -1 -1 -1 -1 -0 -0 0 0 0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -7 -9 -12 -13 -14 -15 -16 -17 -19 -20 -20 -19 -17 -15 -14 -14 -15 -16 -16 -17 -17 -18 -19 -20 -21 -21 -22 -23 -23 -23 -21 -20 -18 -16 -15 -15 -14 -12 -7 1 7 9 7 4 2 -1 -2 -4 -4 -4 -5 -5 -6 -7 -8 -10 -11 -11 -11 -10 -9 -9 -8 -8 -6 -5 -5 -7 -9 -11 -12 -13 -13 -12 -12 -12 -11 -11 -10 -9 -9 -10 -12 -14 -15 -17 -17 -17 -16 -15 -15 -14 -14 -14 -13 -11 -6 1 4 3 -0 -4 -6 -7 -8 -8 -8 -10 -12 -14 -16 -17 -18 -16 -11 -4 1 0 -2 -5 -8 -10 -10 -9 -8 -9 -10 -11 -10 -9 -8 -7 -8 -11 -13 -15 -16 -15 -14 -11 -8 -5 -6 -13 1 15 21 19 14 11 7 4 0 -3 -5 -5 -5 -4 -3 -1 0 1 1 2 3 4 6 9 13 17 20 23 25 28 33 39 45 49 50 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -2 -3 -3 -4 -6 -7 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -5 -5 -5 -5 -6 -6 -5 -4 -5 -7 -8 -9 -12 -15 -16 -13 -8 -2 4 6 7 9 11 15 17 17 14 10 5 3 3 2 0 -2 -4 -3 -1 1 1 -1 -5 -10 -14 -16 -14 -12 -11 -9 -9 -8 -6 -3 -4 -6 -7 -4 -4 -5 -6 -5 -4 -3 -4 -4 -4 -2 2 2 0 -3 -6 -8 -9 -11 -11 -11 -10 -9 -9 -9 -10 -9 -8 -8 -8 -8 -9 -8 -8 -8 -9 -10 -11 -11 -12 -14 -16 -15 -15 -16 -16 -16 -14 -10 -3 1 -0 -6 -9 -10 -10 -8 -3 8 17 21 19 13 4 -3 -8 -9 -6 -2 1 2 1 -2 -6 -7 -5 1 10 21 31 36 36 35 32 28 25 23 21 19 17 15 13 11 9 8 6 5 4 4 4 3 4 4 4 5 5 5 5 5 4 3 2 2 1 0 -0 -0 0 0 1 1 0 0 -0 -0 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -5 -5 -6 -8 -11 -14 -15 -16 -17 -17 -19 -19 -20 -20 -19 -17 -15 -14 -14 -15 -15 -15 -16 -16 -16 -17 -18 -19 -20 -21 -23 -24 -24 -23 -20 -18 -16 -16 -16 -15 -14 -10 -1 6 10 10 7 4 2 0 -1 -2 -3 -4 -4 -4 -5 -6 -8 -10 -11 -11 -11 -10 -9 -9 -9 -8 -6 -5 -6 -7 -10 -11 -12 -13 -13 -12 -12 -12 -12 -11 -10 -9 -9 -10 -12 -14 -15 -16 -16 -16 -16 -15 -15 -14 -14 -14 -13 -10 -3 3 6 3 -1 -4 -6 -7 -7 -8 -9 -11 -13 -15 -16 -17 -18 -15 -8 0 3 1 -2 -6 -9 -10 -9 -8 -8 -9 -11 -11 -10 -9 -8 -8 -10 -14 -16 -17 -17 -16 -13 -9 -4 0 -9 -3 9 22 24 19 15 10 6 2 -2 -5 -6 -6 -5 -4 -2 -1 -0 0 1 2 3 5 7 11 15 19 22 24 27 31 36 43 50 53 -7 -6 -6 -5 -4 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -2 -2 -3 -4 -5 -7 -8 -7 -6 -5 -5 -4 -5 -6 -7 -7 -6 -5 -3 -4 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -6 -8 -10 -12 -14 -15 -14 -10 -5 0 3 4 3 2 3 6 8 8 7 5 4 5 5 3 1 -2 -2 -2 -0 1 1 -1 -5 -10 -15 -18 -17 -14 -12 -10 -9 -9 -7 -6 -6 -7 -7 -5 -4 -4 -5 -5 -5 -4 -4 -4 -3 -0 2 3 1 -3 -5 -8 -11 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -6 -6 -8 -10 -12 -12 -11 -11 -12 -15 -17 -17 -16 -15 -14 -14 -16 -8 5 4 3 -2 -7 -10 -10 -6 6 16 21 20 13 4 -2 -6 -7 -5 -1 1 1 -1 -3 -6 -7 -7 -3 5 17 26 32 34 34 31 28 26 24 23 21 20 18 16 14 12 11 9 7 6 6 5 6 6 7 8 8 8 8 8 8 7 6 4 3 2 1 1 1 1 1 1 1 0 -0 -0 -0 -0 -1 -1 -1 -2 -3 -4 -5 -5 -5 -4 -4 -5 -8 -11 -14 -16 -17 -18 -19 -19 -20 -20 -20 -19 -18 -16 -15 -14 -14 -14 -14 -14 -14 -15 -15 -16 -16 -17 -18 -19 -21 -22 -23 -22 -21 -19 -17 -16 -16 -16 -15 -12 -4 4 11 12 10 7 5 3 2 0 -1 -2 -2 -3 -4 -5 -6 -8 -10 -11 -11 -10 -10 -9 -9 -9 -8 -6 -5 -6 -8 -10 -11 -12 -13 -13 -13 -12 -12 -12 -11 -10 -9 -9 -10 -12 -14 -15 -16 -16 -16 -15 -15 -15 -14 -14 -14 -13 -7 -0 6 6 2 -2 -5 -6 -7 -7 -8 -9 -12 -14 -16 -17 -18 -17 -13 -3 3 4 1 -3 -7 -9 -10 -9 -8 -9 -10 -11 -11 -10 -8 -8 -10 -13 -16 -18 -17 -17 -16 -12 -5 2 1 -3 2 20 28 25 20 14 9 4 -1 -5 -7 -7 -7 -5 -4 -2 -1 -1 -0 1 2 4 6 8 12 16 20 23 25 29 34 40 47 53 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -2 -3 -3 -4 -4 -5 -6 -7 -7 -6 -6 -4 -4 -4 -5 -6 -7 -6 -5 -4 -4 -5 -5 -5 -5 -5 -6 -7 -6 -6 -6 -7 -8 -10 -12 -14 -16 -16 -14 -8 -1 3 4 2 -0 -3 -4 -3 -1 0 1 1 3 3 3 2 -0 -2 -3 -2 -1 -0 -1 -3 -7 -12 -18 -20 -18 -14 -11 -10 -11 -10 -9 -7 -7 -8 -6 -4 -3 -4 -6 -6 -5 -4 -3 -3 -2 1 3 3 1 -3 -7 -10 -11 -11 -10 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -7 -6 -7 -10 -12 -13 -11 -10 -10 -13 -15 -16 -16 -16 -15 -15 -14 -7 -0 -2 4 7 4 -3 -9 -11 -7 3 15 22 21 14 6 -1 -5 -5 -3 -0 1 0 -2 -4 -6 -7 -7 -5 4 16 25 31 32 32 31 29 27 26 25 24 23 22 20 18 16 14 12 11 10 9 9 10 10 11 11 11 11 11 11 10 9 8 6 4 3 2 2 1 1 1 1 0 0 -0 -0 -0 -0 -1 -2 -3 -4 -5 -5 -5 -4 -4 -5 -6 -9 -13 -16 -17 -19 -20 -20 -21 -20 -20 -19 -18 -17 -16 -15 -14 -13 -13 -12 -13 -13 -14 -14 -14 -14 -15 -16 -17 -18 -20 -21 -21 -21 -20 -18 -17 -17 -17 -16 -14 -8 2 10 14 13 10 8 7 5 3 2 1 -0 -1 -2 -3 -4 -6 -8 -10 -11 -11 -10 -10 -10 -10 -10 -8 -6 -5 -6 -8 -10 -11 -12 -13 -13 -13 -13 -12 -12 -11 -9 -9 -9 -10 -12 -14 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -11 -5 3 8 5 1 -3 -6 -6 -6 -7 -8 -10 -13 -15 -17 -18 -18 -17 -9 -0 5 5 1 -4 -8 -10 -10 -8 -8 -9 -11 -12 -11 -10 -8 -9 -12 -15 -19 -18 -17 -17 -15 -8 2 8 1 -4 14 29 30 26 19 13 6 0 -4 -8 -8 -7 -6 -5 -4 -2 -2 -1 -0 1 2 4 7 10 14 18 21 24 27 31 36 44 51 -7 -6 -5 -5 -5 -5 -4 -3 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -7 -6 -5 -4 -4 -4 -5 -6 -6 -5 -4 -4 -4 -5 -4 -4 -5 -6 -6 -6 -6 -6 -7 -8 -10 -12 -13 -16 -17 -17 -14 -8 -1 3 4 2 -2 -5 -6 -6 -5 -3 -2 -1 -0 1 1 0 -1 -3 -3 -3 -3 -3 -4 -6 -10 -15 -18 -18 -16 -13 -10 -11 -11 -10 -9 -8 -8 -8 -6 -4 -4 -5 -6 -6 -5 -4 -3 -2 -0 2 3 2 -1 -5 -8 -10 -11 -11 -9 -8 -7 -6 -8 -9 -9 -9 -8 -9 -10 -8 -6 -6 -9 -12 -13 -13 -11 -9 -10 -13 -16 -17 -17 -15 -15 -15 -11 -3 3 -6 3 9 8 -0 -7 -10 -7 1 13 21 21 15 8 2 -1 -1 -0 0 1 0 -2 -4 -6 -8 -8 -5 4 15 24 28 30 31 31 29 29 28 28 27 26 25 24 22 20 18 16 15 14 14 14 15 15 15 15 15 14 14 13 13 12 10 8 6 5 3 3 2 2 1 1 0 0 0 -0 -0 -1 -2 -3 -5 -5 -5 -5 -4 -4 -5 -8 -11 -14 -17 -19 -20 -21 -21 -20 -19 -18 -18 -17 -17 -17 -16 -15 -14 -12 -11 -11 -12 -12 -13 -13 -13 -13 -13 -14 -16 -17 -18 -19 -19 -19 -19 -18 -17 -17 -16 -15 -11 -2 8 16 16 13 12 10 8 6 5 3 2 1 -0 -1 -2 -4 -6 -8 -10 -11 -11 -10 -10 -10 -11 -10 -9 -6 -5 -5 -7 -9 -11 -12 -12 -12 -12 -12 -12 -12 -10 -9 -8 -9 -10 -12 -13 -14 -15 -15 -15 -15 -14 -14 -14 -14 -13 -10 -3 6 8 5 -0 -4 -6 -5 -5 -6 -8 -11 -14 -16 -17 -18 -18 -14 -6 2 6 5 -1 -6 -9 -11 -10 -8 -8 -10 -11 -12 -11 -9 -9 -10 -13 -18 -18 -17 -17 -17 -13 -1 10 10 4 5 25 33 32 25 17 9 2 -4 -8 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 1 3 5 8 11 15 19 22 25 29 33 40 47 -6 -5 -5 -5 -5 -4 -3 -3 -3 -4 -3 -3 -3 -2 -3 -3 -4 -5 -5 -6 -6 -5 -5 -5 -5 -6 -5 -5 -5 -5 -5 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -6 -7 -9 -11 -13 -15 -17 -18 -18 -16 -10 -4 0 2 1 -1 -3 -3 -3 -3 -3 -4 -3 -3 -2 -1 -1 -2 -3 -4 -4 -5 -5 -6 -9 -12 -16 -17 -16 -13 -11 -10 -10 -10 -9 -9 -8 -8 -7 -6 -4 -4 -5 -6 -7 -6 -4 -2 -1 0 1 2 1 -1 -5 -8 -10 -11 -10 -9 -7 -5 -6 -8 -9 -8 -8 -7 -9 -8 -7 -7 -9 -11 -13 -14 -13 -11 -9 -11 -14 -16 -17 -16 -15 -15 -14 -10 -0 -4 -4 3 11 9 1 -6 -10 -8 -1 12 19 20 16 10 6 4 3 3 2 1 1 -1 -4 -6 -8 -9 -5 5 17 28 30 30 31 32 31 31 30 30 29 29 28 27 25 24 22 20 19 19 20 20 20 20 20 19 18 17 17 16 15 13 12 10 8 6 5 4 3 2 2 1 1 0 0 -1 -2 -3 -4 -5 -5 -5 -5 -4 -5 -6 -9 -12 -16 -18 -20 -21 -20 -19 -17 -16 -16 -15 -15 -15 -15 -15 -15 -14 -13 -12 -11 -12 -12 -13 -13 -12 -12 -11 -12 -13 -14 -15 -16 -17 -18 -18 -17 -17 -16 -16 -16 -13 -7 4 15 18 17 15 13 12 10 8 6 5 3 2 1 -0 -2 -3 -6 -8 -10 -11 -11 -11 -10 -11 -11 -11 -9 -6 -4 -5 -6 -9 -10 -11 -12 -12 -12 -12 -12 -11 -10 -9 -8 -9 -11 -12 -13 -14 -14 -15 -15 -14 -14 -14 -15 -15 -13 -9 1 7 8 3 -2 -5 -5 -4 -4 -6 -9 -12 -14 -16 -17 -17 -17 -11 -3 4 7 3 -3 -8 -11 -11 -9 -8 -9 -10 -12 -12 -10 -8 -8 -10 -14 -18 -18 -16 -16 -16 -6 8 18 20 8 20 32 37 32 23 14 5 -2 -8 -11 -10 -8 -7 -6 -6 -5 -4 -3 -1 -0 2 3 6 8 12 16 19 22 26 30 36 43 -5 -5 -5 -5 -5 -4 -4 -3 -4 -3 -3 -3 -3 -3 -2 -2 -3 -4 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -4 -3 -2 -1 -1 -1 -2 -3 -3 -3 -3 -2 -3 -5 -7 -10 -12 -14 -16 -17 -17 -17 -17 -14 -9 -4 -1 -1 -0 0 1 1 -1 -3 -5 -5 -5 -3 -1 -1 -3 -4 -5 -5 -6 -6 -7 -10 -13 -15 -14 -13 -12 -11 -9 -9 -9 -9 -9 -9 -9 -7 -4 -2 -3 -5 -6 -6 -5 -3 -1 -1 -0 1 2 1 -1 -5 -8 -10 -11 -10 -8 -6 -5 -6 -7 -8 -8 -7 -8 -8 -8 -8 -9 -10 -12 -14 -15 -14 -10 -9 -10 -13 -15 -15 -14 -13 -14 -15 -10 -4 -6 -4 4 13 10 2 -5 -10 -9 -1 9 16 18 15 11 10 9 8 5 2 1 0 -0 -2 -5 -9 -10 -4 9 25 32 32 31 32 33 33 33 32 32 31 31 30 29 28 26 25 24 24 24 24 25 25 24 24 23 22 21 19 18 17 15 13 11 9 8 7 5 4 3 2 2 1 0 -1 -2 -3 -5 -6 -6 -6 -6 -5 -6 -7 -10 -13 -17 -19 -20 -20 -18 -15 -14 -13 -13 -13 -13 -14 -14 -14 -13 -13 -13 -12 -12 -12 -13 -13 -13 -12 -11 -10 -10 -10 -11 -12 -12 -13 -15 -16 -16 -16 -16 -16 -16 -15 -11 -2 11 19 20 18 16 14 12 11 9 7 6 4 3 2 0 -1 -3 -6 -8 -10 -11 -11 -11 -11 -12 -12 -12 -9 -5 -3 -3 -5 -7 -9 -10 -11 -12 -12 -12 -12 -12 -10 -9 -8 -9 -11 -12 -13 -14 -14 -14 -14 -14 -15 -15 -15 -15 -14 -6 3 9 7 1 -3 -5 -4 -4 -4 -7 -10 -12 -15 -16 -16 -17 -15 -9 -1 6 5 1 -5 -10 -12 -11 -8 -8 -9 -11 -12 -11 -8 -7 -7 -10 -15 -18 -17 -15 -17 -11 2 17 26 22 17 25 37 37 29 19 9 0 -7 -11 -11 -10 -8 -7 -7 -6 -5 -3 -2 -1 0 2 4 6 9 12 16 19 23 27 33 39 -5 -5 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -4 -5 -6 -6 -5 -4 -3 -3 -3 -3 -4 -4 -3 -3 -2 -2 -2 -1 0 2 2 3 2 1 -0 -1 -2 -1 -0 -0 -2 -5 -8 -11 -13 -15 -17 -18 -18 -18 -17 -16 -13 -10 -8 -6 -3 0 4 4 1 -3 -5 -7 -6 -3 -1 -2 -3 -6 -7 -7 -6 -6 -8 -10 -12 -13 -13 -12 -12 -9 -7 -7 -8 -9 -9 -9 -9 -7 -2 -1 -3 -5 -6 -6 -4 -2 -1 0 0 2 2 0 -3 -6 -9 -10 -10 -9 -8 -5 -4 -5 -6 -7 -7 -7 -7 -8 -9 -9 -9 -11 -13 -14 -15 -14 -9 -7 -8 -12 -14 -14 -13 -13 -14 -16 -11 -9 -8 -6 5 12 9 3 -4 -9 -9 -3 6 13 16 14 14 14 13 11 4 0 0 1 2 -1 -5 -9 -9 -2 13 28 34 35 36 37 36 36 35 34 34 33 33 32 31 29 28 27 27 27 27 28 28 28 28 27 26 25 23 22 20 18 16 14 12 11 9 8 7 6 4 3 2 1 -1 -2 -4 -5 -6 -7 -7 -7 -7 -7 -9 -11 -14 -17 -20 -20 -18 -14 -12 -11 -12 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -14 -14 -13 -11 -10 -9 -9 -9 -9 -10 -11 -12 -13 -14 -14 -15 -16 -16 -14 -8 3 16 21 21 18 16 15 13 12 10 9 7 6 4 3 1 -1 -3 -6 -8 -10 -11 -12 -12 -12 -12 -13 -12 -9 -5 -2 -1 -4 -6 -8 -10 -11 -12 -12 -13 -13 -12 -10 -8 -8 -9 -11 -12 -13 -14 -14 -14 -15 -15 -15 -15 -16 -16 -12 -3 6 10 5 -0 -4 -5 -4 -3 -5 -7 -10 -13 -15 -15 -16 -16 -14 -8 1 4 3 -2 -8 -12 -12 -10 -8 -7 -10 -11 -11 -9 -6 -5 -6 -10 -15 -19 -15 -16 -14 -4 11 27 29 17 19 31 38 33 25 14 4 -6 -12 -13 -12 -10 -8 -9 -8 -7 -4 -2 -2 -1 0 2 4 6 9 12 16 19 23 29 35 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -1 -2 -2 -2 -2 -2 -2 -1 -0 0 0 0 1 1 2 2 3 3 4 5 6 7 7 6 5 3 2 0 -0 -0 0 -0 -1 -4 -7 -11 -13 -15 -17 -19 -19 -19 -17 -15 -13 -11 -11 -10 -7 -2 3 4 2 -1 -4 -6 -5 -3 -1 -2 -3 -5 -6 -7 -7 -8 -9 -11 -12 -12 -11 -11 -10 -8 -6 -6 -8 -9 -9 -10 -10 -7 -2 -1 -2 -4 -6 -5 -3 -1 1 1 1 2 2 -0 -3 -7 -9 -10 -11 -11 -8 -4 -2 -3 -6 -7 -7 -7 -8 -9 -10 -10 -11 -12 -13 -14 -16 -13 -9 -7 -9 -11 -13 -13 -12 -12 -14 -15 -12 -11 -11 -7 5 10 9 3 -4 -9 -10 -6 3 11 13 15 15 16 15 9 2 -1 0 3 3 1 -3 -8 -9 -2 15 28 36 40 41 39 38 38 37 37 36 36 35 34 33 31 30 29 29 30 30 31 31 31 30 30 29 27 26 24 22 19 17 15 14 12 11 9 8 6 5 3 2 -0 -2 -3 -5 -6 -7 -8 -8 -8 -9 -10 -12 -15 -18 -20 -19 -15 -11 -10 -11 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -12 -12 -13 -13 -14 -14 -14 -12 -10 -8 -7 -6 -6 -7 -8 -10 -11 -12 -13 -15 -16 -15 -13 -5 9 20 24 21 18 17 15 14 13 11 10 8 7 5 4 2 -0 -3 -6 -9 -11 -12 -12 -13 -13 -13 -13 -12 -9 -4 -0 -0 -2 -5 -8 -10 -11 -12 -13 -13 -13 -12 -10 -8 -7 -9 -10 -12 -13 -14 -14 -14 -15 -15 -16 -16 -16 -16 -10 -1 9 9 3 -2 -5 -5 -4 -4 -5 -8 -11 -13 -14 -14 -15 -15 -13 -6 1 3 1 -5 -10 -12 -12 -10 -7 -8 -10 -11 -10 -6 -4 -3 -4 -8 -15 -17 -16 -15 -10 4 21 30 27 20 20 33 33 28 19 9 -3 -11 -15 -14 -11 -8 -9 -10 -9 -5 -1 -2 -2 -1 0 2 4 6 9 12 15 19 24 31 -5 -6 -6 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -1 0 1 3 3 3 2 2 2 3 4 4 5 5 6 6 8 9 9 10 9 9 9 10 10 9 8 6 4 2 1 -0 -1 -1 -2 -4 -8 -11 -13 -16 -18 -19 -19 -18 -17 -15 -12 -10 -10 -10 -8 -4 0 2 2 0 -2 -3 -3 -1 -1 -1 -3 -5 -6 -7 -7 -9 -10 -11 -11 -11 -11 -10 -8 -6 -5 -6 -8 -9 -9 -9 -9 -6 -1 1 -0 -4 -6 -6 -3 0 2 2 2 2 2 -0 -3 -6 -9 -11 -12 -12 -7 -2 1 -1 -4 -6 -7 -8 -9 -11 -11 -10 -10 -12 -15 -15 -15 -13 -9 -8 -9 -10 -11 -12 -12 -12 -13 -14 -13 -12 -14 -7 3 9 9 4 -3 -10 -12 -8 1 8 12 13 15 16 12 5 1 1 3 4 5 4 -2 -9 -12 -1 15 29 37 40 39 37 38 39 40 39 39 38 38 36 35 33 32 32 32 32 33 33 33 33 33 32 31 29 28 26 23 21 19 17 15 13 12 10 8 7 5 3 1 -1 -3 -5 -6 -7 -8 -8 -9 -10 -11 -14 -16 -19 -20 -17 -13 -10 -9 -11 -12 -12 -12 -11 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -14 -14 -14 -15 -15 -14 -13 -11 -8 -6 -4 -4 -4 -6 -8 -10 -11 -13 -15 -16 -15 -11 1 14 23 25 21 19 17 16 15 14 13 11 10 8 6 4 2 -0 -3 -7 -10 -12 -13 -13 -13 -13 -14 -14 -13 -10 -4 -0 1 -1 -5 -8 -11 -12 -13 -13 -14 -13 -11 -8 -6 -6 -8 -10 -12 -13 -14 -14 -15 -15 -16 -16 -16 -16 -15 -9 3 10 7 1 -4 -6 -5 -4 -4 -6 -8 -11 -13 -14 -14 -15 -14 -10 -4 1 2 -2 -8 -11 -12 -11 -8 -6 -8 -10 -10 -7 -3 -1 0 -1 -7 -16 -17 -16 -13 -3 14 26 28 21 10 20 26 26 22 14 2 -9 -16 -17 -14 -9 -9 -11 -11 -6 -0 -1 -2 -2 -2 -0 1 4 6 9 11 15 19 26 -6 -6 -5 -5 -4 -3 -2 -3 -3 -4 -5 -5 -5 -5 -3 -2 -0 1 3 4 4 3 2 1 -0 -0 0 0 0 0 0 1 3 5 6 7 7 8 8 9 9 9 9 8 7 6 4 1 -0 -1 -2 -3 -6 -9 -12 -14 -17 -18 -18 -18 -18 -17 -14 -10 -9 -9 -10 -8 -6 -3 -0 1 1 -0 -1 -0 0 0 -1 -2 -5 -6 -7 -8 -9 -10 -11 -11 -10 -9 -8 -7 -6 -6 -8 -8 -9 -8 -8 -8 -4 -0 2 -1 -5 -6 -6 -3 1 3 3 3 2 1 -1 -4 -7 -9 -12 -14 -12 -5 1 4 2 -2 -6 -8 -9 -10 -11 -11 -10 -10 -13 -15 -15 -14 -13 -11 -11 -11 -10 -10 -11 -12 -12 -13 -14 -14 -13 -14 -8 1 9 12 6 -3 -10 -13 -9 0 7 10 12 14 13 9 6 3 3 2 5 7 5 -3 -13 -12 -2 14 29 39 40 40 40 42 42 42 42 42 41 41 39 37 36 35 34 35 35 35 35 35 35 34 33 32 31 29 27 25 23 20 18 16 14 13 11 9 7 5 3 1 -1 -3 -5 -6 -7 -8 -9 -10 -12 -15 -18 -20 -20 -17 -13 -9 -9 -11 -11 -11 -11 -10 -10 -10 -10 -11 -12 -12 -13 -13 -14 -15 -15 -15 -15 -15 -15 -15 -15 -14 -12 -9 -5 -2 -1 -2 -4 -6 -9 -11 -13 -15 -16 -14 -7 5 18 26 24 21 19 18 17 16 15 14 13 11 9 7 5 2 -1 -4 -7 -11 -13 -14 -14 -14 -14 -14 -14 -13 -10 -5 -0 1 -1 -6 -9 -11 -13 -13 -14 -14 -13 -10 -6 -5 -6 -8 -10 -12 -13 -14 -14 -15 -16 -16 -16 -16 -17 -15 -7 7 9 5 -1 -6 -6 -5 -4 -5 -6 -9 -12 -13 -13 -13 -14 -12 -8 -4 1 -0 -5 -9 -11 -11 -11 -7 -6 -8 -10 -9 -4 -0 3 4 2 -10 -15 -17 -15 -8 8 20 25 21 10 9 14 18 18 15 7 -5 -14 -19 -16 -10 -8 -10 -12 -8 0 1 -1 -3 -4 -3 -1 1 3 6 8 11 15 21 -7 -6 -5 -4 -3 -2 -1 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -5 -4 -2 -1 1 3 5 7 7 7 8 8 8 7 6 3 1 -1 -2 -3 -5 -8 -10 -13 -15 -16 -17 -17 -18 -18 -16 -12 -8 -7 -8 -8 -8 -7 -5 -3 -0 1 1 1 2 2 1 0 -2 -4 -6 -7 -8 -9 -10 -11 -10 -9 -8 -7 -6 -6 -7 -8 -8 -7 -7 -7 -7 -4 1 3 -1 -5 -7 -6 -2 3 5 4 3 1 -0 -2 -4 -7 -10 -14 -14 -9 -3 4 6 2 -2 -6 -9 -9 -9 -9 -9 -9 -10 -14 -16 -16 -14 -12 -12 -12 -12 -11 -10 -10 -10 -12 -13 -14 -14 -14 -12 -7 1 10 13 8 -1 -11 -15 -8 1 6 8 10 12 12 9 6 4 0 1 5 9 5 -7 -14 -13 -3 14 31 39 43 45 46 44 44 45 45 45 45 43 41 39 38 37 37 38 38 38 37 37 36 35 34 34 32 31 29 27 24 22 20 18 16 14 12 10 8 5 3 1 -1 -3 -4 -5 -6 -8 -10 -12 -15 -18 -21 -21 -18 -14 -10 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -12 -13 -14 -15 -16 -16 -16 -15 -15 -15 -15 -15 -13 -10 -5 -2 0 -0 -3 -6 -9 -11 -13 -15 -15 -13 -5 8 22 26 24 22 20 19 18 17 16 15 14 12 10 7 5 2 -1 -5 -9 -12 -14 -15 -15 -14 -14 -14 -14 -13 -10 -5 -1 1 -2 -7 -10 -12 -13 -14 -14 -14 -12 -8 -4 -3 -5 -8 -10 -12 -13 -14 -15 -16 -16 -17 -17 -17 -17 -16 -2 8 9 3 -4 -7 -6 -5 -4 -5 -7 -10 -12 -12 -12 -12 -12 -10 -7 -2 -1 -4 -7 -10 -11 -11 -9 -6 -5 -9 -11 -7 -1 4 8 8 -0 -11 -18 -16 -11 3 15 20 17 5 1 4 7 8 10 8 -1 -12 -19 -18 -11 -7 -8 -11 -12 0 3 1 -3 -5 -5 -4 -3 -1 2 5 7 11 16 -9 -7 -5 -3 -2 1 4 7 8 7 6 5 3 1 -1 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -7 -8 -9 -9 -9 -8 -8 -7 -6 -3 0 3 4 5 6 6 7 7 7 5 3 1 -1 -3 -5 -7 -9 -11 -13 -15 -15 -16 -17 -18 -17 -14 -9 -6 -5 -6 -7 -8 -8 -7 -5 -2 0 2 3 4 3 2 0 -2 -4 -6 -7 -8 -9 -9 -10 -9 -8 -7 -6 -6 -7 -7 -7 -7 -7 -7 -8 -7 -3 3 2 -2 -6 -8 -7 -1 4 6 5 3 1 -0 -1 -3 -7 -11 -13 -12 -8 -2 5 5 1 -4 -8 -9 -7 -8 -8 -9 -9 -13 -16 -17 -15 -13 -12 -12 -13 -13 -11 -9 -9 -10 -11 -13 -14 -15 -14 -11 -6 1 10 12 8 -1 -11 -13 -7 0 6 8 10 11 11 10 8 2 -1 2 7 10 2 -8 -14 -13 -5 11 28 40 46 46 44 43 44 47 49 49 48 45 43 41 40 40 40 41 41 40 39 38 37 36 36 35 33 32 30 28 25 23 22 20 18 16 14 11 9 6 3 1 -1 -2 -3 -5 -6 -9 -11 -14 -17 -20 -21 -20 -17 -12 -9 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -10 -12 -13 -14 -15 -15 -15 -15 -15 -16 -16 -15 -14 -10 -5 -1 2 0 -3 -6 -9 -12 -14 -15 -15 -11 -4 11 22 26 25 23 21 20 19 18 17 16 15 12 10 7 4 1 -2 -6 -10 -13 -15 -15 -15 -14 -13 -13 -14 -13 -10 -5 -1 -1 -4 -8 -11 -13 -13 -14 -14 -13 -10 -5 -2 -2 -4 -8 -10 -12 -13 -14 -15 -16 -16 -17 -17 -17 -18 -11 1 10 8 -1 -6 -7 -6 -5 -4 -6 -8 -10 -12 -11 -11 -11 -10 -8 -6 -4 -5 -7 -9 -10 -10 -10 -8 -3 -7 -11 -10 -4 3 10 12 7 -6 -17 -16 -13 -2 9 15 12 1 -3 -0 3 1 -2 1 -1 -9 -19 -20 -13 -7 -5 -8 -16 -1 4 3 -1 -5 -6 -6 -6 -4 -2 1 3 6 10 -11 -8 -4 0 4 7 8 8 6 4 2 2 1 -0 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -6 -7 -8 -9 -9 -9 -9 -10 -10 -8 -6 -3 -0 2 3 4 5 6 7 6 4 2 0 -2 -4 -6 -8 -10 -11 -13 -14 -14 -15 -16 -17 -15 -12 -7 -4 -3 -5 -6 -7 -8 -9 -8 -4 0 4 5 5 4 2 -0 -3 -5 -7 -8 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -6 -6 -7 -8 -8 -9 -8 -3 3 1 -4 -8 -10 -6 1 7 8 5 3 2 1 -0 -3 -7 -11 -13 -11 -8 -1 3 2 -1 -6 -9 -7 -6 -6 -8 -9 -12 -16 -17 -16 -13 -11 -11 -12 -13 -13 -11 -9 -8 -9 -10 -13 -15 -14 -12 -10 -8 -0 8 12 9 -1 -11 -12 -8 -0 6 9 11 12 12 11 8 3 1 3 8 9 3 -5 -12 -15 -10 6 23 34 40 40 39 39 42 47 52 52 50 47 45 43 42 43 43 43 43 41 40 39 38 37 37 35 34 32 30 28 26 25 23 22 20 18 15 12 9 6 4 2 0 -1 -3 -5 -7 -10 -12 -15 -18 -20 -20 -18 -15 -10 -7 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -6 -6 -7 -8 -10 -12 -13 -14 -14 -15 -15 -15 -16 -16 -15 -14 -10 -5 0 2 0 -3 -7 -10 -12 -14 -15 -15 -12 -3 12 22 27 26 24 22 20 19 18 18 17 15 13 10 7 4 1 -3 -7 -11 -14 -15 -16 -15 -14 -13 -13 -13 -13 -10 -5 -1 -2 -5 -9 -12 -13 -14 -14 -14 -12 -7 -2 1 -1 -5 -8 -11 -13 -14 -15 -16 -16 -17 -17 -17 -17 -16 -8 5 11 3 -4 -7 -7 -6 -5 -5 -7 -10 -11 -11 -12 -11 -11 -11 -11 -10 -9 -9 -12 -12 -9 -10 -9 -4 -4 -10 -12 -8 0 9 14 13 3 -11 -15 -14 -5 5 10 6 -3 -6 -2 5 8 1 -5 -7 -9 -17 -20 -15 -8 -3 -3 -13 -2 5 6 1 -3 -6 -7 -8 -8 -6 -3 -1 2 5 -6 -3 -1 -0 -0 -0 -1 -2 -2 -1 -1 0 1 -0 -2 -3 -4 -3 -3 -2 -2 -0 1 1 1 0 0 -0 -1 -2 -2 -4 -5 -6 -7 -8 -10 -10 -10 -8 -5 -2 -0 2 3 5 6 5 4 3 2 -0 -2 -5 -7 -8 -9 -10 -11 -12 -13 -14 -16 -15 -13 -9 -5 -3 -3 -4 -6 -8 -9 -10 -9 -5 1 5 6 5 3 1 -2 -4 -5 -7 -8 -9 -9 -9 -11 -12 -10 -8 -5 -4 -4 -6 -8 -9 -10 -10 -10 -10 -1 3 0 -5 -10 -10 -4 3 8 8 5 4 3 1 -1 -4 -8 -11 -11 -10 -7 -3 -0 -1 -4 -8 -7 -4 -4 -6 -8 -11 -14 -16 -15 -13 -11 -11 -11 -13 -14 -13 -10 -8 -8 -8 -10 -13 -14 -13 -12 -12 -8 -2 6 11 7 -3 -10 -10 -6 -0 5 10 12 13 12 11 8 4 3 5 8 7 4 -2 -10 -15 -15 -5 8 22 30 30 28 29 35 47 53 54 52 49 46 45 45 46 46 46 44 43 41 40 39 38 37 36 34 32 31 29 28 26 25 23 21 19 16 13 10 7 5 3 1 -1 -3 -5 -8 -10 -13 -16 -18 -19 -19 -17 -13 -9 -6 -4 -3 -2 -2 -2 -2 -3 -4 -5 -4 -4 -4 -4 -6 -8 -10 -12 -13 -13 -14 -15 -15 -16 -16 -15 -13 -10 -5 1 2 -0 -4 -8 -10 -12 -14 -15 -15 -12 -3 11 23 29 27 25 22 21 19 19 18 17 15 13 10 7 3 -1 -5 -9 -12 -15 -16 -16 -15 -14 -13 -13 -13 -13 -9 -4 -2 -2 -6 -10 -13 -14 -14 -13 -13 -10 -5 1 3 -1 -5 -8 -11 -13 -14 -15 -16 -17 -17 -17 -17 -17 -13 -4 10 7 -0 -6 -8 -8 -7 -6 -8 -10 -11 -12 -14 -14 -13 -14 -12 -11 -12 -14 -16 -16 -12 -11 -10 -8 -4 -9 -12 -11 -4 6 14 17 12 -3 -13 -15 -8 1 6 2 -6 -10 -6 4 19 16 5 -4 -10 -15 -20 -16 -9 -2 1 -4 -5 0 9 4 -2 -5 -8 -9 -10 -9 -7 -5 -3 -0 -6 -7 -7 -7 -6 -5 -3 -1 -0 0 0 1 1 -0 -2 -4 -6 -6 -5 -4 -3 -1 2 4 5 5 5 5 5 4 4 2 0 -2 -4 -5 -7 -9 -9 -9 -8 -6 -4 -1 1 2 4 4 3 3 2 1 -1 -3 -5 -7 -7 -8 -9 -10 -11 -13 -15 -15 -14 -11 -7 -4 -2 -3 -4 -7 -10 -11 -10 -8 -4 0 3 4 4 3 0 -2 -4 -6 -8 -9 -10 -10 -11 -13 -14 -12 -6 -1 -1 -3 -5 -7 -9 -11 -12 -12 -7 1 4 1 -7 -11 -10 -4 3 8 8 7 5 3 1 -2 -6 -8 -9 -9 -9 -7 -5 -3 -4 -8 -9 -6 -3 -2 -6 -10 -13 -14 -14 -13 -12 -11 -12 -13 -15 -14 -12 -10 -8 -7 -8 -11 -13 -14 -13 -13 -12 -9 -4 4 8 3 -3 -7 -7 -5 0 6 11 14 14 12 10 8 6 6 6 5 4 3 -1 -7 -12 -15 -14 -7 6 17 21 20 19 29 43 52 54 53 50 49 48 49 49 49 48 46 44 42 41 40 39 38 36 35 33 31 30 29 28 26 24 22 19 16 13 10 8 6 4 1 -1 -3 -6 -9 -11 -13 -15 -17 -18 -17 -15 -12 -8 -5 -3 -2 -1 0 1 0 -1 -2 -2 -2 -1 -2 -3 -5 -7 -9 -10 -11 -12 -13 -14 -15 -16 -16 -15 -13 -10 -4 0 2 -1 -5 -8 -11 -12 -14 -15 -14 -11 -4 9 24 29 28 26 23 20 19 19 18 17 16 13 10 6 2 -2 -6 -11 -13 -15 -16 -17 -15 -13 -12 -12 -13 -12 -8 -4 -1 -3 -7 -11 -13 -14 -14 -13 -12 -8 -2 3 3 -1 -5 -9 -11 -13 -14 -15 -16 -17 -17 -16 -16 -14 -10 2 6 2 -5 -10 -10 -10 -9 -10 -11 -11 -14 -16 -16 -15 -15 -12 -9 -9 -13 -16 -18 -18 -14 -10 -12 -7 -8 -12 -14 -9 1 11 19 18 6 -13 -14 -10 -3 4 -1 -7 -12 -12 -4 21 27 20 9 -1 -11 -19 -18 -11 -2 4 2 -7 -5 10 6 0 -5 -8 -10 -11 -11 -10 -8 -6 -5 -7 -7 -6 -5 -4 -1 2 3 3 2 1 1 0 -2 -3 -5 -8 -9 -8 -8 -8 -6 -3 -1 1 2 2 3 2 2 2 1 0 -1 -2 -3 -4 -6 -7 -8 -8 -7 -5 -3 -2 -1 1 2 2 1 -0 -1 -2 -3 -4 -6 -7 -7 -7 -8 -9 -11 -14 -15 -14 -11 -8 -5 -3 -2 -4 -6 -9 -11 -10 -8 -6 -3 -1 1 3 3 3 0 -2 -5 -7 -9 -11 -11 -12 -13 -14 -14 -11 -4 1 1 -3 -4 -6 -9 -12 -14 -11 -4 2 4 -1 -8 -11 -9 -4 4 7 8 7 5 3 -0 -4 -6 -7 -7 -7 -8 -7 -6 -6 -7 -11 -10 -7 -2 -2 -7 -11 -13 -13 -13 -12 -12 -12 -14 -16 -15 -13 -11 -10 -9 -8 -9 -10 -13 -14 -15 -13 -12 -11 -6 1 3 1 -2 -5 -6 -4 1 7 12 16 15 13 10 8 6 6 5 5 5 5 1 -4 -9 -14 -16 -10 4 16 19 13 9 18 33 47 55 54 52 51 52 52 52 51 49 47 45 43 42 41 40 38 37 35 33 32 31 30 28 27 24 22 19 16 13 11 9 6 4 1 -2 -4 -7 -9 -11 -13 -15 -16 -17 -16 -14 -11 -7 -5 -4 -2 -1 1 2 1 0 -0 -0 1 1 -0 -2 -4 -5 -7 -8 -9 -11 -12 -13 -15 -16 -16 -15 -14 -10 -4 0 1 -2 -6 -9 -10 -11 -13 -14 -14 -11 -6 6 22 29 30 26 22 20 19 19 18 18 16 13 9 5 1 -4 -8 -12 -15 -16 -17 -17 -15 -12 -11 -12 -12 -11 -7 -2 -1 -4 -8 -12 -14 -15 -14 -13 -11 -6 1 5 3 -1 -5 -9 -12 -13 -15 -16 -16 -16 -16 -15 -14 -13 -6 1 1 -5 -12 -14 -15 -14 -12 -11 -11 -15 -18 -18 -16 -13 -13 -10 -8 -11 -15 -17 -19 -18 -12 -10 -11 -10 -11 -15 -13 -5 5 16 21 14 -9 -13 -10 -7 2 -3 -7 -12 -15 -13 16 29 29 19 5 -7 -17 -18 -13 -3 5 6 2 -0 5 5 1 -4 -8 -10 -11 -11 -11 -10 -8 -8 -5 -5 -4 -3 -1 2 3 3 1 -1 -2 -2 -3 -4 -6 -7 -9 -10 -10 -10 -11 -11 -10 -9 -8 -8 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -5 -6 -7 -5 -4 -4 -4 -3 -2 -0 0 0 -1 -3 -4 -4 -4 -5 -6 -7 -7 -7 -8 -10 -12 -13 -13 -12 -9 -5 -3 -2 -3 -5 -8 -10 -10 -8 -5 -3 -3 -2 -0 2 3 2 -0 -3 -6 -9 -11 -12 -13 -14 -14 -13 -13 -9 -2 2 -0 -0 -0 -3 -9 -13 -13 -9 -3 2 2 -3 -8 -10 -8 -2 5 7 8 7 6 3 -1 -5 -6 -5 -5 -6 -8 -8 -8 -7 -9 -12 -10 -6 -1 -4 -8 -10 -12 -12 -12 -12 -13 -14 -16 -15 -13 -11 -11 -11 -11 -9 -8 -10 -14 -17 -14 -13 -12 -12 -8 -2 0 0 -2 -5 -5 -3 1 7 14 16 16 14 11 7 7 7 6 6 6 4 1 -4 -9 -16 -16 -9 1 11 15 8 5 11 25 42 52 55 55 54 55 55 55 53 50 48 46 44 43 42 40 39 37 35 34 33 31 30 29 27 24 21 18 16 14 12 9 6 3 0 -2 -5 -7 -9 -12 -13 -15 -16 -16 -15 -12 -9 -8 -7 -6 -5 -2 -1 -0 -0 -0 0 2 2 2 1 -1 -2 -3 -5 -6 -8 -9 -11 -13 -15 -16 -16 -15 -14 -10 -5 1 1 -3 -7 -9 -10 -10 -12 -13 -14 -12 -8 4 18 28 31 27 22 20 19 19 19 18 15 12 8 4 -1 -6 -10 -14 -16 -17 -17 -16 -14 -11 -10 -11 -12 -10 -6 -1 -2 -6 -10 -14 -15 -15 -14 -12 -10 -4 3 6 4 -1 -6 -9 -12 -14 -15 -16 -16 -15 -14 -14 -13 -12 -7 -5 -7 -12 -14 -15 -14 -14 -11 -12 -15 -19 -20 -17 -12 -14 -14 -12 -13 -16 -17 -18 -19 -17 -9 -13 -12 -11 -15 -15 -10 -1 9 19 19 -1 -9 -11 -10 -3 -4 -8 -12 -14 -9 10 25 32 26 9 -5 -15 -19 -16 -5 4 9 7 -0 -11 -4 -3 -5 -8 -10 -11 -12 -11 -10 -9 -8 -5 -5 -5 -3 -2 -0 -1 -3 -4 -6 -6 -7 -6 -6 -6 -8 -9 -9 -9 -8 -8 -9 -9 -9 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -5 -5 -4 -4 -5 -6 -6 -5 -4 -3 -4 -4 -4 -3 -1 -0 -0 -1 -2 -3 -4 -5 -6 -7 -7 -7 -8 -9 -10 -11 -12 -12 -10 -6 -3 -2 -3 -4 -6 -8 -9 -8 -5 -3 -3 -3 -3 -1 1 2 2 -1 -3 -7 -10 -12 -13 -15 -15 -13 -12 -12 -8 0 1 1 3 2 -3 -10 -13 -12 -8 -2 2 -1 -5 -8 -8 -5 1 5 7 8 8 6 2 -2 -4 -4 -3 -4 -8 -10 -10 -7 -8 -10 -12 -10 -4 -3 -5 -8 -10 -11 -12 -12 -13 -14 -15 -15 -13 -12 -11 -11 -12 -12 -10 -10 -12 -17 -16 -14 -13 -13 -11 -8 -4 -2 -1 -2 -3 -4 -3 0 7 14 17 18 15 10 8 8 8 8 7 6 4 0 -5 -13 -15 -15 -9 -1 7 9 5 4 7 18 32 44 52 56 57 59 59 57 54 51 49 47 46 44 43 41 39 38 36 34 33 32 30 28 26 23 20 18 16 14 12 9 6 3 -0 -3 -5 -8 -10 -12 -14 -15 -15 -13 -11 -8 -8 -9 -10 -9 -8 -6 -5 -4 -3 -2 -0 2 3 3 2 1 -0 -1 -3 -4 -6 -8 -10 -12 -15 -16 -16 -16 -14 -11 -4 1 -0 -4 -7 -9 -9 -9 -11 -12 -13 -13 -8 2 15 29 32 27 22 20 19 19 19 17 15 12 7 2 -3 -8 -12 -15 -16 -17 -17 -16 -12 -9 -9 -10 -11 -9 -4 -2 -3 -8 -12 -15 -16 -15 -14 -12 -9 -1 5 7 4 -1 -6 -9 -12 -14 -15 -16 -15 -14 -13 -13 -15 -13 -10 -9 -12 -13 -14 -14 -15 -13 -11 -14 -19 -21 -18 -14 -16 -17 -16 -16 -17 -18 -19 -20 -21 -12 -12 -12 -13 -14 -16 -14 -8 2 13 19 6 -5 -12 -12 -9 -6 -8 -12 -12 -6 1 18 34 33 14 -2 -14 -21 -19 -9 2 10 12 6 -7 -18 -14 -8 -9 -11 -12 -12 -12 -11 -9 -8 -8 -6 -5 -3 -3 -2 -4 -6 -7 -8 -8 -8 -7 -6 -6 -7 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -7 -7 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -4 -4 -4 -4 -3 -2 -1 -0 0 -1 -3 -4 -5 -6 -7 -7 -8 -9 -10 -10 -11 -11 -10 -7 -5 -3 -2 -3 -4 -6 -8 -8 -6 -3 -2 -3 -3 -4 -2 -0 1 1 -1 -4 -8 -11 -13 -15 -16 -16 -13 -13 -11 -5 -0 -1 3 5 4 -3 -10 -13 -11 -7 -2 -1 -3 -5 -7 -6 -2 3 6 7 8 7 4 1 -2 -3 -1 -2 -5 -9 -10 -8 -7 -9 -11 -12 -7 -3 -2 -4 -7 -11 -12 -13 -13 -13 -14 -14 -13 -12 -11 -10 -11 -13 -14 -14 -12 -14 -15 -15 -14 -13 -11 -9 -7 -5 -3 -2 -1 -2 -3 -4 -1 6 13 18 19 15 10 9 10 11 10 9 7 3 -2 -9 -13 -14 -13 -9 -2 3 4 2 2 5 17 32 46 54 58 61 62 61 58 54 52 50 48 47 46 44 42 40 38 36 35 33 32 30 28 25 23 20 18 16 14 11 8 5 2 -1 -3 -6 -9 -11 -13 -13 -11 -8 -6 -6 -7 -8 -10 -10 -11 -10 -10 -9 -9 -7 -5 -1 2 3 4 3 3 2 1 -1 -3 -5 -7 -10 -13 -15 -17 -17 -16 -15 -12 -3 1 -0 -5 -8 -9 -8 -8 -9 -12 -13 -13 -9 -1 13 28 31 28 23 20 20 19 19 17 14 10 5 0 -5 -10 -14 -16 -17 -17 -17 -15 -10 -8 -8 -10 -10 -7 -3 -2 -5 -10 -13 -15 -16 -15 -14 -12 -6 1 7 8 3 -2 -6 -10 -13 -15 -15 -15 -14 -12 -12 -15 -16 -14 -11 -11 -12 -12 -13 -16 -15 -12 -11 -13 -16 -16 -17 -19 -18 -17 -17 -18 -19 -20 -21 -22 -14 -11 -12 -15 -15 -16 -15 -12 -5 4 13 9 -2 -12 -14 -13 -9 -7 -9 -10 -2 -0 11 29 38 21 2 -13 -22 -22 -13 -1 9 14 11 -1 -18 -20 -13 -11 -12 -12 -12 -12 -12 -10 -9 -7 -5 -4 -3 -3 -4 -6 -6 -7 -8 -9 -10 -9 -8 -7 -6 -8 -9 -9 -8 -8 -9 -9 -9 -7 -5 -4 -3 -2 -2 -2 -2 -3 -4 -5 -6 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -4 -5 -5 -4 -3 -1 0 1 -1 -2 -4 -5 -6 -7 -8 -9 -10 -10 -10 -9 -9 -7 -6 -4 -3 -2 -3 -4 -6 -7 -6 -4 -1 -1 -2 -3 -4 -3 -1 1 1 -2 -6 -10 -12 -14 -16 -18 -15 -14 -13 -11 -4 -4 -1 4 8 5 -4 -10 -12 -10 -6 -3 -3 -4 -5 -5 -3 1 4 6 8 8 6 3 -0 -1 1 2 -1 -5 -8 -10 -9 -9 -10 -11 -8 -3 -0 -0 -4 -9 -12 -12 -12 -12 -13 -14 -13 -12 -11 -11 -11 -13 -15 -16 -16 -12 -14 -15 -16 -14 -11 -8 -7 -6 -4 -3 -2 -1 -1 -2 -3 -2 4 11 18 20 15 12 11 13 14 12 10 6 1 -5 -10 -12 -12 -10 -7 -4 -3 -2 -1 -0 11 27 41 52 57 63 65 64 62 58 55 52 51 49 48 47 45 43 41 39 37 35 34 32 30 27 25 22 20 18 16 13 10 7 3 0 -2 -5 -7 -8 -9 -7 -5 -4 -3 -5 -6 -7 -8 -10 -11 -11 -12 -13 -13 -12 -10 -7 -3 1 3 5 6 5 5 3 1 -2 -4 -7 -10 -14 -17 -18 -18 -17 -16 -10 -3 1 -1 -6 -9 -9 -7 -6 -8 -11 -13 -13 -11 -5 11 25 31 29 24 22 21 20 18 16 13 9 4 -2 -7 -12 -15 -17 -17 -17 -16 -12 -8 -7 -8 -10 -8 -5 -3 -3 -8 -11 -14 -15 -16 -15 -14 -11 -5 4 9 7 2 -2 -7 -11 -13 -15 -15 -14 -11 -11 -14 -17 -17 -13 -10 -9 -10 -13 -17 -16 -13 -11 -9 -8 -12 -18 -21 -19 -18 -17 -18 -19 -20 -20 -21 -15 -11 -11 -14 -15 -17 -17 -14 -11 -6 4 6 1 -9 -14 -15 -10 -6 -5 -6 -0 3 4 5 32 25 8 -10 -23 -25 -17 -6 6 14 15 4 -12 -20 -17 -14 -13 -13 -12 -12 -12 -12 -12 -5 -4 -4 -5 -5 -4 -5 -5 -6 -7 -7 -7 -6 -5 -4 -3 -4 -5 -5 -6 -8 -10 -12 -13 -12 -10 -8 -4 -0 1 1 1 -0 -2 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -6 -5 -5 -5 -5 -6 -5 -4 -2 -0 1 -0 -2 -4 -5 -6 -7 -9 -10 -10 -10 -8 -7 -7 -7 -6 -4 -3 -2 -3 -5 -6 -6 -5 -2 0 0 -1 -4 -5 -4 -2 -1 -1 -5 -8 -11 -13 -16 -18 -18 -16 -14 -12 -9 -6 -6 -2 4 8 2 -5 -10 -11 -9 -7 -6 -6 -5 -3 -2 1 3 6 7 7 6 4 1 -1 1 4 4 1 -4 -9 -11 -11 -10 -9 -7 -4 0 2 -0 -6 -10 -11 -11 -10 -12 -13 -12 -12 -12 -12 -12 -14 -16 -17 -18 -14 -13 -14 -16 -15 -11 -8 -7 -6 -5 -4 -2 -2 -1 -1 -1 -2 -2 1 8 16 18 16 14 14 16 16 15 11 6 -1 -7 -10 -11 -9 -7 -7 -8 -9 -9 -7 7 26 43 55 60 65 68 67 65 61 58 55 53 52 51 50 48 46 44 41 39 38 36 34 32 30 27 24 22 19 17 15 12 8 5 1 -1 -3 -3 -3 -2 -0 1 -0 -1 -3 -4 -6 -7 -9 -11 -13 -14 -16 -16 -15 -14 -12 -9 -5 -1 3 6 8 8 7 5 2 -1 -4 -8 -11 -15 -18 -19 -19 -18 -15 -9 -2 2 -3 -8 -10 -9 -6 -4 -8 -11 -12 -13 -13 -6 9 23 31 28 24 22 21 19 17 15 11 7 2 -4 -9 -13 -16 -17 -18 -17 -14 -10 -6 -6 -8 -9 -7 -4 -2 -5 -9 -12 -14 -15 -16 -15 -13 -10 -2 7 8 6 1 -4 -8 -12 -14 -15 -14 -12 -10 -11 -15 -19 -14 -8 -6 -8 -13 -17 -17 -15 -12 -9 -6 -10 -17 -21 -20 -19 -18 -17 -18 -18 -19 -20 -15 -11 -10 -13 -14 -17 -18 -18 -17 -15 -6 1 2 -2 -11 -13 -9 -4 -1 -0 1 4 4 2 -6 6 8 -5 -22 -26 -21 -11 1 12 16 8 -5 -16 -18 -11 -11 -13 -13 -12 -13 -16 -18 -5 -5 -6 -5 -5 -5 -4 -5 -5 -6 -6 -6 -6 -5 -5 -4 -5 -6 -7 -8 -10 -13 -15 -15 -14 -13 -10 -8 -4 0 3 3 1 -0 -2 -4 -6 -7 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -6 -6 -6 -6 -5 -3 -2 -0 0 -1 -3 -5 -7 -8 -10 -10 -10 -9 -7 -6 -6 -6 -6 -5 -3 -2 -3 -4 -5 -6 -3 -0 1 1 -2 -5 -6 -5 -3 -2 -3 -7 -10 -13 -15 -18 -19 -18 -16 -13 -11 -8 -8 -8 -6 1 3 -1 -6 -9 -10 -8 -9 -9 -9 -6 -1 3 5 6 6 7 6 4 1 -2 -1 3 7 7 3 -5 -11 -14 -14 -10 -7 -4 -1 2 2 -2 -7 -9 -8 -8 -10 -11 -12 -12 -13 -14 -15 -15 -17 -19 -19 -17 -14 -13 -14 -13 -11 -9 -7 -6 -6 -6 -4 -2 -1 -1 -1 -2 -3 -3 -1 5 13 18 20 19 18 19 19 17 11 4 -3 -8 -10 -10 -7 -7 -10 -14 -18 -19 -3 19 39 53 61 67 69 70 68 64 61 58 56 54 53 52 51 49 47 44 42 40 38 36 34 32 30 27 24 21 19 16 13 9 5 2 0 1 2 4 5 5 4 3 1 -0 -2 -4 -6 -8 -10 -13 -16 -18 -18 -18 -16 -13 -11 -10 -8 -3 2 8 11 12 9 6 2 -1 -5 -9 -13 -17 -20 -21 -19 -18 -14 -7 1 1 -5 -10 -11 -9 -4 -4 -7 -10 -12 -12 -13 -8 5 22 29 26 23 21 20 18 16 13 10 5 0 -5 -11 -15 -17 -18 -17 -16 -12 -8 -5 -6 -8 -8 -6 -3 -4 -7 -10 -12 -13 -16 -15 -14 -13 -9 1 7 8 5 -0 -5 -10 -13 -14 -14 -12 -10 -9 -12 -15 -13 -11 -10 -11 -15 -17 -17 -17 -14 -11 -8 -10 -15 -19 -19 -18 -18 -17 -16 -15 -18 -19 -16 -11 -10 -14 -14 -15 -18 -20 -22 -18 -12 -6 -0 1 -5 -8 -6 -2 4 5 4 4 3 2 -8 -16 -19 -15 -20 -25 -23 -15 -4 8 14 10 0 -11 -18 -17 -16 -15 -14 -14 -17 -21 -23 -5 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -8 -9 -9 -8 -7 -8 -10 -10 -11 -13 -15 -17 -15 -13 -11 -7 -8 -8 -5 0 2 1 0 -2 -4 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -7 -6 -6 -6 -5 -5 -5 -5 -5 -4 -2 -0 -1 -4 -7 -9 -9 -9 -9 -9 -8 -6 -6 -6 -6 -6 -5 -3 -2 -2 -4 -5 -5 -2 1 2 1 -2 -4 -6 -6 -5 -4 -6 -8 -11 -14 -17 -19 -19 -17 -15 -13 -10 -7 -7 -7 -6 -4 -3 -5 -8 -9 -8 -8 -9 -11 -11 -6 1 6 7 7 6 6 5 2 -2 -5 -1 5 9 9 3 -6 -13 -15 -13 -8 -5 -3 -0 2 1 -4 -6 -5 -4 -5 -8 -10 -11 -13 -16 -18 -17 -17 -19 -20 -19 -16 -14 -12 -11 -10 -8 -6 -5 -7 -7 -6 -3 -1 -0 -1 -1 -2 -3 -4 -2 4 13 20 24 23 22 21 20 16 11 4 -3 -7 -9 -7 -6 -10 -16 -24 -31 -20 -1 18 34 49 63 69 71 70 67 64 61 59 56 55 55 54 52 50 47 44 42 40 38 36 34 32 30 27 23 20 17 13 9 5 3 5 7 9 10 9 8 7 6 5 3 1 -2 -4 -7 -9 -12 -15 -18 -19 -19 -17 -15 -13 -11 -10 -9 -5 2 10 15 14 10 6 2 -2 -6 -11 -15 -19 -21 -21 -19 -17 -13 -4 2 -1 -6 -11 -13 -8 -3 -3 -6 -10 -12 -11 -13 -10 2 20 24 23 21 19 18 16 14 11 8 3 -2 -7 -12 -16 -18 -17 -16 -14 -10 -5 -5 -7 -8 -8 -5 -4 -6 -8 -10 -11 -14 -15 -15 -14 -13 -6 3 8 7 3 -2 -7 -11 -13 -14 -12 -10 -8 -8 -10 -11 -15 -16 -15 -14 -16 -17 -18 -16 -14 -12 -12 -15 -17 -16 -16 -18 -18 -16 -13 -17 -20 -17 -13 -12 -16 -15 -13 -14 -18 -23 -20 -16 -11 -3 0 -2 -4 -3 0 8 10 9 5 2 1 -5 -16 -24 -28 -26 -25 -24 -19 -9 4 11 10 3 -7 -14 -19 -18 -17 -16 -17 -22 -25 -26 -6 -7 -7 -7 -7 -7 -7 -6 -5 -6 -8 -11 -13 -13 -12 -11 -11 -11 -11 -11 -11 -13 -15 -15 -14 -13 -11 -5 -7 -8 -5 -0 -0 -1 -2 -3 -4 -5 -6 -8 -9 -10 -8 -7 -7 -7 -7 -6 -6 -6 -6 -5 -4 -5 -6 -6 -5 -3 -2 -3 -5 -8 -9 -7 -7 -7 -8 -7 -7 -7 -6 -6 -6 -4 -3 -2 -2 -3 -4 -3 -0 2 3 1 -2 -5 -7 -8 -8 -7 -8 -9 -12 -17 -20 -20 -18 -16 -15 -12 -9 -7 -7 -6 -6 -6 -7 -8 -8 -7 -6 -7 -10 -12 -11 -6 1 6 8 7 6 5 3 0 -4 -4 1 6 11 8 1 -7 -13 -14 -9 -5 -4 -3 -1 1 0 -1 -1 1 0 -4 -6 -8 -11 -17 -21 -20 -18 -16 -19 -20 -18 -16 -12 -8 -7 -7 -5 -4 -5 -7 -8 -6 -3 -0 0 -0 -1 -1 -2 -4 -2 4 13 22 26 26 24 22 19 16 10 3 -4 -8 -6 -5 -8 -16 -27 -35 -31 -19 -6 7 25 48 64 71 72 69 67 65 62 59 57 57 57 55 53 50 47 44 42 40 38 36 34 32 29 26 22 18 14 10 7 8 11 14 15 14 12 10 10 9 9 8 5 2 -1 -4 -7 -10 -13 -16 -18 -18 -17 -16 -14 -13 -12 -11 -10 -6 1 12 17 15 11 6 1 -3 -8 -13 -17 -20 -21 -20 -19 -17 -11 -1 1 -2 -8 -13 -12 -7 -3 -2 -6 -10 -11 -10 -12 -16 3 16 20 19 17 16 15 14 12 9 5 1 -4 -9 -14 -17 -17 -17 -15 -13 -8 -5 -5 -7 -8 -7 -4 -5 -7 -8 -9 -11 -14 -15 -13 -14 -12 -4 4 8 5 1 -4 -9 -12 -13 -12 -11 -10 -9 -10 -12 -15 -17 -15 -14 -15 -17 -18 -18 -15 -14 -14 -15 -16 -16 -17 -19 -20 -18 -16 -17 -19 -19 -17 -17 -18 -16 -12 -10 -15 -21 -21 -20 -15 -7 -2 -2 -2 -1 3 10 14 13 8 1 -2 -3 -8 -16 -24 -26 -25 -23 -19 -13 -1 7 7 2 -5 -11 -17 -19 -18 -18 -21 -26 -28 -27 -6 -7 -7 -8 -8 -8 -7 -7 -5 -5 -8 -12 -13 -13 -13 -13 -13 -10 -7 -4 -2 -2 -5 -7 -9 -12 -17 -18 -15 -12 -8 -3 -1 -1 -1 -2 -3 -4 -5 -7 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -4 -5 -6 -7 -6 -5 -4 -4 -6 -8 -6 -5 -6 -7 -8 -8 -8 -7 -6 -6 -5 -4 -3 -3 -3 -3 -3 -2 1 4 3 1 -3 -7 -10 -11 -10 -9 -9 -10 -14 -19 -20 -19 -17 -15 -13 -11 -8 -7 -5 -6 -7 -8 -9 -10 -9 -6 -6 -8 -11 -11 -9 -5 0 5 6 6 5 4 3 -0 -3 -2 2 7 10 6 -1 -8 -11 -8 -5 -5 -6 -5 -3 0 1 2 3 3 2 -1 -4 -9 -16 -23 -25 -20 -14 -14 -17 -18 -18 -15 -8 -5 -4 -3 -2 -3 -6 -9 -9 -6 -2 0 0 0 0 0 -2 -4 -3 3 14 24 29 29 26 22 19 15 9 2 -3 -4 -3 -5 -13 -25 -34 -34 -25 -14 -5 0 20 44 63 72 70 69 67 65 62 60 60 60 58 56 53 49 46 44 41 39 38 36 34 31 28 24 19 15 11 10 13 17 19 19 18 15 13 12 12 12 12 10 7 3 -1 -4 -7 -10 -13 -16 -17 -17 -16 -16 -16 -15 -13 -11 -10 -7 2 14 18 16 10 5 0 -5 -11 -15 -19 -20 -20 -20 -18 -16 -7 -0 1 -4 -10 -12 -11 -7 -3 -2 -7 -10 -10 -10 -13 -13 3 14 16 14 13 12 12 11 9 6 2 -2 -6 -11 -16 -17 -17 -16 -14 -11 -7 -5 -5 -7 -8 -6 -5 -6 -7 -7 -8 -12 -15 -13 -13 -13 -9 -2 6 6 3 -2 -6 -10 -12 -12 -13 -14 -13 -13 -15 -16 -16 -14 -13 -14 -16 -18 -18 -16 -14 -14 -15 -16 -17 -18 -20 -21 -20 -18 -19 -20 -21 -22 -22 -21 -18 -13 -9 -12 -18 -23 -23 -19 -12 -5 -2 -1 1 5 12 17 17 12 0 -3 -3 -4 -8 -14 -20 -22 -22 -18 -14 -5 2 5 1 -3 -9 -16 -20 -21 -22 -24 -29 -30 -28 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -12 -13 -14 -14 -9 -2 -2 -5 -6 -6 -7 -7 -7 -8 -11 -13 -12 -8 -4 -2 -1 -1 -1 -3 -3 -4 -6 -7 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -4 -4 -5 -7 -8 -8 -7 -6 -5 -6 -6 -5 -5 -6 -7 -8 -8 -8 -7 -6 -5 -5 -4 -4 -3 -3 -3 -2 -0 2 4 3 -0 -4 -9 -12 -13 -11 -9 -9 -11 -16 -19 -19 -17 -15 -13 -12 -10 -8 -5 -5 -6 -8 -10 -11 -9 -6 -4 -6 -9 -11 -10 -8 -5 -1 3 4 4 3 3 2 1 -1 -0 3 7 8 4 -3 -7 -6 -5 -6 -8 -9 -8 -4 -0 2 4 4 4 3 0 -4 -12 -21 -24 -22 -14 -8 -11 -16 -19 -19 -13 -6 -2 -0 1 1 -3 -7 -9 -9 -6 -2 0 1 1 2 1 -2 -4 -4 2 14 24 30 31 27 23 19 15 9 3 1 2 0 -6 -18 -30 -34 -29 -18 -4 -4 -1 13 35 54 64 68 69 68 64 62 62 62 62 59 56 52 49 45 43 40 39 37 35 33 31 27 22 17 13 13 17 20 23 23 22 19 17 16 15 16 15 14 11 8 4 -0 -4 -7 -11 -13 -15 -16 -17 -17 -17 -17 -16 -13 -11 -10 -7 5 15 19 16 10 4 -1 -7 -13 -17 -19 -20 -19 -19 -17 -13 -5 1 1 -5 -10 -12 -10 -6 -2 -4 -7 -9 -9 -9 -16 -7 6 13 12 10 9 9 9 8 6 2 -1 -5 -8 -13 -16 -17 -16 -15 -13 -9 -5 -4 -6 -8 -10 -8 -6 -7 -6 -6 -9 -13 -13 -12 -12 -12 -8 1 4 3 0 -4 -8 -11 -12 -15 -17 -17 -17 -18 -18 -17 -15 -13 -14 -16 -17 -17 -15 -14 -14 -15 -15 -16 -18 -20 -21 -20 -20 -22 -22 -22 -23 -23 -23 -20 -16 -11 -11 -17 -23 -26 -23 -17 -9 -4 -1 2 7 13 19 22 18 4 -3 -5 -4 -4 -7 -13 -18 -20 -18 -15 -9 -3 1 0 -3 -6 -12 -19 -25 -27 -28 -31 -30 -25 -6 -6 -7 -7 -7 -6 -7 -7 -8 -8 -7 -7 -9 -12 -15 -15 -14 -8 -8 -8 -9 -8 -10 -10 -10 -10 -10 -9 -10 -9 -6 -4 -3 -1 -1 -2 -3 -4 -4 -5 -7 -9 -10 -9 -8 -8 -7 -7 -6 -6 -7 -7 -6 -4 -4 -5 -6 -7 -9 -11 -9 -7 -5 -5 -4 -4 -5 -6 -7 -8 -9 -8 -7 -6 -5 -5 -4 -4 -3 -3 -2 -2 0 3 4 3 -1 -6 -11 -14 -14 -11 -9 -9 -14 -17 -17 -17 -15 -13 -12 -11 -9 -6 -4 -5 -7 -9 -9 -9 -6 -4 -4 -8 -9 -9 -8 -8 -6 -2 0 1 0 0 1 1 1 0 0 4 7 7 3 -2 -3 -3 -4 -7 -10 -12 -10 -6 -1 3 4 5 5 4 0 -6 -13 -18 -20 -15 -6 -5 -10 -16 -20 -18 -11 -5 -1 3 5 2 -3 -8 -10 -10 -5 -1 1 2 3 4 3 -0 -4 -6 0 12 24 32 32 28 24 20 16 12 8 7 5 -0 -11 -24 -31 -32 -24 -7 0 -4 -4 6 27 45 56 64 67 66 63 64 65 65 63 60 56 52 48 44 42 40 38 36 35 33 30 25 20 17 16 20 24 26 27 26 24 22 21 19 19 19 18 16 13 9 4 0 -4 -7 -11 -14 -16 -17 -17 -17 -17 -17 -16 -13 -11 -11 -5 7 18 20 15 9 3 -4 -10 -15 -18 -19 -19 -18 -17 -16 -10 -3 3 -0 -6 -10 -11 -9 -5 -3 -5 -8 -9 -8 -13 -12 -4 8 10 9 7 6 6 6 5 2 -1 -4 -7 -10 -14 -17 -16 -14 -13 -10 -7 -5 -7 -10 -14 -14 -10 -7 -6 -4 -6 -11 -14 -11 -11 -12 -11 -6 0 2 0 -2 -6 -10 -13 -16 -18 -18 -18 -19 -20 -20 -17 -15 -15 -16 -17 -17 -15 -14 -15 -16 -16 -15 -17 -19 -20 -19 -20 -23 -23 -22 -23 -23 -23 -22 -18 -13 -10 -14 -21 -26 -26 -21 -13 -5 -0 2 8 14 21 27 26 11 -2 -7 -6 -3 -4 -9 -15 -18 -17 -16 -13 -7 -2 -0 -2 -4 -9 -17 -26 -30 -31 -32 -31 -23 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -10 -13 -13 -13 -11 -9 -11 -11 -9 -9 -11 -11 -12 -13 -14 -11 -8 -5 -4 -3 -3 -2 -1 -2 -4 -5 -5 -6 -7 -9 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -6 -8 -11 -12 -9 -6 -4 -3 -3 -4 -6 -7 -8 -9 -9 -8 -6 -5 -5 -4 -4 -4 -3 -3 -3 -2 1 4 5 3 -1 -7 -12 -15 -14 -11 -8 -12 -15 -16 -16 -15 -13 -12 -11 -10 -8 -4 -4 -6 -8 -9 -7 -6 -5 -4 -6 -8 -8 -8 -7 -7 -6 -4 -3 -3 -4 -4 -2 0 1 0 2 6 8 8 5 1 -0 -2 -4 -8 -11 -13 -12 -8 -1 3 5 5 5 4 -1 -6 -13 -17 -17 -8 -2 -4 -11 -18 -20 -16 -11 -6 -0 6 5 2 -4 -8 -11 -8 -4 -1 2 3 5 6 4 1 -4 -7 -1 10 24 33 32 28 26 24 22 19 15 12 7 -2 -16 -27 -32 -29 -15 -0 -1 -7 -10 -3 14 32 51 63 66 64 66 68 68 67 64 60 55 51 47 44 41 39 37 36 35 32 29 24 20 19 23 27 29 30 30 29 27 26 24 23 22 21 20 17 14 9 4 -0 -4 -8 -11 -14 -16 -17 -17 -17 -17 -17 -16 -13 -11 -11 -4 9 21 19 14 8 1 -6 -13 -17 -18 -18 -17 -16 -16 -14 -9 0 2 -1 -6 -9 -10 -7 -4 -4 -6 -9 -8 -11 -13 -10 -0 5 6 6 4 3 3 4 2 -1 -4 -6 -9 -12 -15 -16 -15 -13 -12 -11 -8 -11 -14 -16 -17 -16 -12 -8 -4 -3 -7 -13 -11 -10 -11 -12 -11 -6 -3 -3 -4 -7 -12 -16 -19 -19 -18 -18 -20 -22 -21 -19 -17 -16 -17 -17 -17 -15 -15 -16 -17 -18 -16 -16 -17 -18 -18 -20 -22 -23 -22 -23 -22 -23 -22 -19 -15 -10 -11 -17 -23 -26 -22 -15 -7 -0 3 8 14 22 30 32 16 0 -9 -10 -4 -3 -7 -13 -16 -17 -17 -15 -11 -5 -1 -1 -2 -5 -11 -21 -25 -28 -31 -32 -24 -7 -6 -6 -6 -5 -4 -3 -4 -4 -3 -2 -3 -5 -8 -10 -10 -10 -10 -10 -9 -9 -9 -10 -11 -11 -12 -14 -13 -9 -5 -3 -2 -1 -0 0 -1 -4 -6 -6 -7 -7 -7 -9 -9 -8 -7 -6 -6 -6 -6 -7 -7 -6 -5 -5 -5 -5 -5 -6 -9 -11 -11 -10 -6 -2 -2 -3 -6 -7 -8 -9 -9 -8 -7 -6 -6 -5 -5 -5 -4 -3 -3 -2 -0 3 5 5 2 -2 -7 -12 -14 -13 -10 -10 -13 -15 -15 -16 -13 -12 -11 -11 -10 -6 -5 -6 -8 -9 -6 -5 -5 -5 -5 -8 -8 -8 -7 -6 -6 -6 -6 -5 -5 -6 -6 -4 -1 -0 1 3 7 10 12 8 5 3 -0 -4 -8 -12 -14 -13 -8 -1 3 4 4 4 1 -4 -9 -15 -19 -15 -6 -3 -7 -14 -19 -17 -13 -10 -6 1 6 6 1 -5 -9 -9 -7 -4 -0 2 4 6 7 6 2 -4 -7 -3 9 27 34 33 30 29 30 30 27 22 15 6 -7 -21 -30 -31 -25 -7 -1 -4 -12 -15 -8 5 26 46 56 55 55 59 65 68 68 64 60 55 50 46 43 41 38 37 36 35 32 28 24 23 26 30 33 33 33 32 30 29 28 27 26 26 24 21 18 14 8 3 -1 -5 -9 -12 -15 -17 -17 -16 -16 -17 -17 -16 -12 -13 -11 -4 14 19 18 13 6 -1 -9 -14 -17 -18 -16 -15 -15 -15 -13 -7 1 1 -2 -7 -10 -9 -6 -5 -5 -8 -9 -10 -13 -13 -8 -1 2 2 1 -1 -3 -1 1 -0 -4 -6 -8 -10 -13 -16 -16 -15 -16 -16 -13 -13 -14 -16 -18 -18 -17 -13 -7 -3 -4 -12 -10 -9 -9 -11 -15 -13 -10 -9 -9 -12 -16 -19 -20 -20 -19 -19 -20 -21 -21 -20 -17 -17 -17 -17 -16 -15 -15 -16 -18 -18 -17 -16 -16 -18 -19 -20 -21 -22 -22 -23 -22 -22 -22 -21 -18 -12 -11 -13 -18 -23 -22 -16 -8 0 4 8 14 22 31 33 20 3 -11 -15 -7 -3 -6 -10 -14 -16 -18 -17 -14 -8 -4 -1 -1 -2 -4 -11 -14 -13 -19 -30 -24 -6 -6 -6 -5 -4 -2 -2 -3 -3 -2 -2 -3 -5 -7 -9 -10 -10 -11 -9 -8 -9 -10 -11 -12 -12 -11 -11 -14 -11 -8 -6 -4 -1 1 2 1 -1 -4 -5 -6 -5 -5 -6 -7 -7 -6 -6 -5 -4 -4 -4 -5 -5 -5 -5 -6 -6 -5 -5 -6 -9 -12 -12 -10 -5 -2 -2 -5 -8 -9 -10 -9 -7 -6 -7 -8 -8 -7 -6 -5 -4 -2 -1 -0 1 3 5 5 3 -2 -8 -12 -14 -13 -11 -12 -14 -16 -15 -14 -12 -11 -11 -11 -9 -7 -6 -7 -6 -4 -5 -6 -7 -7 -7 -8 -8 -7 -5 -5 -7 -7 -7 -5 -6 -7 -7 -6 -3 -2 -1 3 9 15 15 12 9 6 2 -3 -8 -13 -15 -12 -5 -0 2 2 1 -1 -5 -8 -13 -18 -19 -12 -7 -6 -11 -16 -16 -14 -12 -11 -6 2 6 5 -0 -6 -9 -9 -7 -3 1 2 4 6 8 6 1 -5 -7 -2 14 29 35 35 32 34 35 32 27 22 14 2 -13 -25 -33 -31 -15 -4 -2 -7 -14 -16 -12 -1 14 28 29 32 41 50 57 63 66 65 60 55 51 47 44 41 38 37 36 35 32 28 26 29 33 36 36 34 32 31 30 29 29 29 29 29 26 23 18 13 7 1 -3 -6 -10 -13 -16 -18 -16 -15 -15 -16 -18 -16 -13 -13 -14 -1 12 17 16 11 4 -4 -11 -15 -17 -16 -14 -13 -14 -14 -12 -4 0 0 -4 -9 -10 -9 -7 -6 -7 -10 -12 -14 -15 -14 -9 -5 -4 -4 -6 -9 -8 -5 -3 -3 -6 -8 -10 -12 -15 -18 -19 -20 -20 -17 -13 -14 -16 -18 -19 -18 -16 -10 -4 -3 -9 -10 -9 -8 -10 -17 -18 -17 -14 -12 -14 -18 -20 -21 -20 -20 -20 -19 -18 -18 -18 -17 -16 -16 -16 -15 -15 -15 -17 -18 -19 -18 -18 -18 -19 -20 -20 -20 -21 -21 -23 -21 -21 -21 -22 -20 -14 -11 -11 -15 -20 -21 -17 -10 -1 5 9 13 20 29 32 24 7 -11 -19 -12 -6 -5 -8 -12 -14 -16 -17 -15 -11 -7 -2 1 2 2 -2 -5 -8 -9 -9 -18 -5 -6 -6 -5 -4 -3 -3 -5 -5 -4 -4 -6 -7 -8 -9 -10 -10 -10 -10 -9 -10 -11 -14 -16 -16 -13 -11 -11 -11 -10 -10 -9 -6 -4 -2 -1 0 -0 -0 -1 -1 -0 -1 -3 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -3 -4 -5 -5 -5 -5 -7 -9 -11 -11 -10 -7 -3 -2 -5 -8 -10 -9 -6 -4 -5 -6 -8 -8 -9 -8 -6 -2 1 1 -0 1 3 6 6 3 -3 -9 -13 -15 -13 -12 -13 -16 -15 -14 -12 -11 -12 -11 -9 -7 -5 -5 -6 -5 -5 -6 -7 -8 -7 -7 -7 -7 -6 -5 -6 -7 -8 -6 -6 -7 -8 -8 -6 -4 -3 -2 2 10 16 18 16 13 8 3 -3 -9 -13 -14 -9 -3 -0 0 -0 -2 -6 -9 -12 -15 -18 -16 -13 -10 -10 -14 -14 -13 -12 -12 -11 -5 2 6 4 -2 -7 -10 -10 -7 -2 1 2 4 7 9 5 -1 -6 -7 2 20 33 39 38 38 39 36 32 27 21 9 -4 -18 -29 -32 -20 -6 1 -3 -11 -15 -16 -16 -13 -2 0 5 15 26 35 45 54 59 61 60 56 52 48 44 40 38 37 34 30 23 18 21 29 36 38 36 33 30 28 27 27 29 31 32 31 28 23 17 11 4 -1 -5 -8 -11 -14 -17 -17 -15 -13 -14 -17 -17 -16 -14 -15 -14 -1 10 15 14 9 1 -6 -12 -15 -15 -13 -12 -12 -12 -12 -8 -3 -1 -5 -10 -12 -12 -11 -9 -10 -12 -14 -16 -16 -17 -14 -10 -7 -5 -6 -10 -13 -13 -11 -7 -9 -11 -12 -12 -14 -20 -22 -23 -22 -19 -14 -12 -14 -16 -18 -16 -15 -12 -7 -4 -8 -10 -9 -7 -9 -16 -20 -19 -17 -13 -14 -17 -20 -21 -20 -20 -20 -18 -16 -17 -17 -16 -15 -15 -15 -15 -15 -16 -17 -19 -21 -21 -21 -20 -21 -22 -21 -21 -22 -22 -22 -21 -20 -21 -24 -22 -16 -11 -10 -13 -19 -21 -19 -13 -3 4 10 14 19 25 31 29 14 -8 -21 -16 -9 -6 -8 -11 -12 -14 -15 -15 -12 -8 -3 2 5 7 5 2 -1 -4 -6 4 -5 -6 -6 -6 -5 -4 -5 -7 -7 -6 -6 -7 -8 -8 -9 -10 -10 -9 -10 -10 -11 -11 -13 -16 -15 -13 -9 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -6 -4 -1 1 2 1 1 -1 -2 -3 -3 -2 -1 -1 -0 0 -0 -2 -3 -4 -4 -3 -4 -6 -9 -11 -11 -10 -8 -4 -2 -5 -7 -8 -6 -4 -4 -5 -7 -9 -10 -11 -10 -5 1 3 1 -0 1 4 7 6 2 -5 -11 -15 -15 -14 -13 -13 -15 -14 -13 -11 -10 -10 -9 -7 -6 -5 -7 -6 -6 -6 -7 -7 -8 -8 -7 -6 -5 -6 -6 -8 -8 -8 -7 -6 -7 -8 -7 -4 -3 -4 -4 -2 6 13 18 18 15 8 2 -4 -10 -12 -9 -4 0 2 0 -2 -6 -9 -12 -13 -16 -16 -15 -14 -12 -12 -12 -11 -10 -11 -13 -12 -5 2 7 3 -3 -8 -11 -10 -6 -1 0 1 3 8 8 4 -3 -7 -4 8 24 36 43 44 44 42 37 33 27 18 5 -9 -22 -29 -22 -7 5 5 -4 -12 -15 -16 -15 -14 -14 -13 -7 3 12 20 29 39 48 53 55 56 54 48 43 40 35 30 22 11 1 1 10 24 37 38 35 30 26 23 22 24 28 32 34 33 29 23 15 7 1 -3 -6 -9 -12 -16 -17 -16 -13 -12 -14 -16 -17 -16 -14 -16 -12 -3 6 12 11 6 -1 -8 -12 -14 -13 -11 -10 -11 -12 -11 -8 -6 -9 -13 -16 -18 -17 -15 -15 -16 -17 -17 -17 -18 -16 -13 -10 -5 -3 -7 -12 -16 -16 -14 -15 -16 -16 -15 -13 -16 -20 -22 -22 -20 -14 -10 -9 -11 -14 -13 -13 -12 -9 -6 -7 -9 -9 -7 -11 -16 -20 -21 -19 -14 -14 -16 -18 -20 -20 -20 -20 -18 -16 -16 -17 -17 -16 -16 -15 -16 -16 -17 -19 -21 -23 -24 -24 -23 -22 -22 -22 -23 -25 -24 -23 -21 -20 -21 -24 -23 -18 -12 -9 -12 -18 -21 -21 -17 -9 0 9 15 18 22 31 32 19 -5 -20 -19 -12 -7 -9 -11 -11 -12 -14 -15 -14 -10 -5 1 6 9 8 7 6 3 -2 -2 -5 -6 -6 -5 -5 -5 -5 -7 -7 -6 -6 -8 -9 -9 -9 -10 -11 -11 -9 -10 -10 -9 -9 -10 -8 -7 -7 -8 -9 -8 -7 -6 -7 -6 -6 -7 -7 -7 -7 -8 -8 -6 -3 -0 0 1 0 0 -0 -0 -0 0 1 1 0 -1 -2 -2 -2 -2 -3 -5 -7 -10 -10 -11 -10 -7 -4 -4 -5 -7 -6 -4 -4 -4 -6 -8 -10 -12 -13 -10 -4 2 3 2 0 1 4 6 5 0 -7 -13 -16 -16 -14 -12 -13 -13 -13 -11 -9 -9 -9 -8 -7 -6 -7 -7 -6 -6 -6 -7 -8 -8 -7 -6 -5 -5 -6 -7 -9 -10 -9 -8 -7 -7 -8 -6 -4 -3 -4 -6 -3 3 10 16 17 13 6 -1 -7 -11 -10 -4 1 3 1 -0 -2 -6 -10 -13 -13 -14 -15 -15 -14 -14 -13 -10 -8 -7 -11 -14 -12 -4 5 7 2 -4 -9 -12 -9 -4 -1 -0 -0 3 7 6 2 -5 -6 -0 12 27 40 47 49 47 43 40 35 26 15 1 -13 -24 -24 -12 3 12 7 -4 -12 -16 -18 -16 -15 -15 -14 -9 -0 3 6 12 21 30 40 48 51 49 45 39 32 24 15 6 -3 -9 -8 1 19 33 36 34 28 22 18 17 20 25 32 35 34 29 21 12 4 -2 -6 -8 -10 -14 -17 -16 -14 -11 -11 -14 -16 -17 -16 -15 -14 -11 -5 3 9 8 4 -3 -8 -11 -11 -11 -11 -10 -12 -14 -13 -11 -11 -14 -17 -19 -19 -17 -15 -15 -17 -18 -18 -18 -17 -16 -13 -7 -2 -4 -10 -15 -17 -16 -14 -12 -11 -12 -11 -11 -13 -15 -17 -18 -13 -7 -3 -4 -9 -12 -13 -13 -11 -9 -8 -10 -11 -10 -14 -17 -20 -21 -21 -17 -15 -15 -17 -18 -19 -20 -20 -18 -15 -14 -17 -19 -19 -17 -17 -18 -18 -20 -20 -23 -25 -26 -27 -25 -23 -22 -23 -25 -25 -23 -23 -21 -20 -22 -24 -24 -20 -15 -10 -11 -16 -21 -23 -23 -18 -8 4 14 18 20 28 30 20 -1 -17 -19 -14 -9 -10 -11 -11 -12 -13 -15 -16 -13 -8 -1 5 9 10 11 12 10 5 -1 -5 -6 -5 -4 -4 -4 -4 -6 -7 -7 -8 -9 -10 -12 -11 -10 -11 -14 -11 -8 -7 -7 -6 -5 -5 -5 -6 -6 -7 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -6 -5 -4 -3 -2 -1 -0 -0 -1 -1 -0 0 0 -0 -1 -1 -1 -1 -2 -3 -5 -8 -9 -10 -9 -9 -8 -7 -6 -6 -5 -4 -4 -3 -4 -6 -9 -12 -14 -13 -10 -4 2 4 3 1 1 4 5 4 -1 -9 -15 -17 -16 -13 -11 -12 -12 -11 -9 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -6 -7 -8 -8 -6 -5 -5 -5 -6 -8 -11 -12 -10 -8 -6 -6 -7 -6 -4 -4 -5 -6 -5 0 7 13 14 10 4 -4 -10 -12 -8 -2 4 4 2 0 -2 -6 -10 -12 -11 -12 -14 -15 -16 -15 -12 -8 -4 -7 -12 -14 -11 -2 6 6 2 -5 -11 -12 -7 -2 0 -1 -1 3 5 4 -1 -5 -4 2 14 28 40 47 48 46 44 42 35 25 12 -2 -15 -21 -16 -5 10 13 7 -1 -9 -14 -14 -14 -17 -19 -16 -3 2 -0 -4 -4 2 13 24 32 37 39 33 27 20 13 8 1 -7 -12 -12 -6 12 26 33 32 26 19 13 11 13 21 31 35 33 27 18 9 0 -5 -8 -9 -12 -15 -16 -14 -11 -10 -11 -13 -15 -16 -15 -13 -12 -9 -6 1 6 6 2 -4 -8 -10 -12 -14 -13 -14 -16 -16 -15 -13 -14 -17 -20 -21 -20 -16 -14 -15 -19 -19 -18 -16 -15 -14 -11 -4 -3 -6 -13 -18 -17 -12 -8 -7 -9 -11 -11 -11 -12 -14 -14 -9 -2 2 -0 -6 -11 -13 -13 -12 -10 -9 -11 -14 -14 -16 -18 -20 -21 -23 -21 -17 -16 -17 -19 -20 -20 -21 -20 -16 -15 -19 -22 -21 -19 -19 -20 -21 -23 -22 -23 -25 -27 -27 -26 -24 -24 -25 -25 -25 -23 -21 -20 -19 -21 -23 -24 -23 -20 -13 -10 -13 -18 -23 -27 -25 -16 -3 10 17 19 24 26 20 5 -11 -17 -16 -12 -10 -11 -11 -11 -12 -13 -16 -16 -12 -6 1 7 11 14 16 15 12 4 -5 -5 -3 -3 -3 -3 -4 -6 -6 -6 -6 -9 -13 -17 -17 -14 -11 -11 -9 -8 -8 -7 -5 -4 -4 -5 -5 -6 -5 -5 -5 -6 -5 -5 -4 -5 -5 -4 -4 -4 -5 -6 -6 -7 -7 -7 -6 -5 -3 -2 -2 -3 -3 -2 -1 -0 -1 -1 -1 -0 -0 -2 -4 -6 -8 -8 -9 -9 -11 -12 -10 -7 -5 -4 -3 -2 -2 -4 -7 -11 -13 -13 -13 -12 -4 3 6 4 1 1 4 5 3 -4 -12 -16 -17 -16 -11 -10 -10 -11 -10 -8 -8 -8 -8 -8 -7 -7 -8 -7 -6 -5 -6 -8 -8 -7 -6 -5 -4 -5 -7 -10 -13 -13 -10 -6 -4 -6 -7 -7 -5 -3 -5 -7 -6 -2 5 10 11 9 2 -7 -13 -12 -7 -1 4 4 3 2 -1 -5 -8 -8 -8 -10 -13 -15 -16 -13 -9 -3 -4 -8 -13 -14 -9 0 6 6 1 -6 -11 -10 -6 -0 1 -2 -1 1 3 1 -4 -5 -3 3 13 26 36 40 41 40 42 41 34 23 9 -5 -14 -16 -11 1 9 10 7 2 -6 -10 -12 -16 -21 -22 -12 0 4 1 -5 -9 -9 -4 5 15 21 22 21 18 13 10 5 -1 -8 -13 -16 -9 5 19 27 28 22 15 8 4 6 16 26 32 32 25 15 5 -3 -7 -8 -10 -13 -15 -15 -12 -10 -9 -11 -13 -14 -14 -13 -12 -10 -8 -4 1 5 4 -1 -8 -11 -14 -17 -17 -17 -17 -17 -17 -14 -14 -18 -21 -22 -21 -18 -15 -15 -18 -19 -19 -17 -15 -14 -14 -9 -4 -4 -9 -17 -18 -13 -8 -6 -7 -10 -11 -11 -12 -12 -13 -11 -7 -2 0 -5 -10 -12 -13 -13 -11 -10 -13 -17 -17 -17 -19 -21 -22 -23 -24 -21 -17 -17 -19 -19 -20 -21 -21 -18 -17 -20 -21 -21 -20 -21 -22 -23 -24 -23 -24 -25 -27 -26 -25 -25 -25 -25 -25 -25 -23 -22 -20 -18 -20 -21 -22 -22 -24 -18 -12 -11 -15 -21 -27 -27 -20 -10 4 13 17 20 22 19 10 -6 -16 -18 -15 -12 -11 -10 -11 -10 -11 -14 -16 -15 -10 -3 4 11 17 20 18 16 11 -3 -3 -3 -3 -3 -3 -5 -7 -7 -7 -8 -9 -12 -16 -17 -15 -12 -11 -10 -9 -8 -7 -5 -3 -3 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -9 -8 -6 -4 -4 -5 -5 -4 -3 -2 -1 -1 -1 -0 -0 -1 -3 -6 -7 -8 -9 -10 -12 -14 -13 -11 -6 -4 -2 -1 -1 -3 -6 -9 -11 -12 -12 -12 -11 -5 2 5 4 2 2 4 5 2 -6 -13 -17 -17 -14 -9 -9 -10 -11 -9 -7 -8 -8 -8 -7 -7 -8 -8 -7 -5 -5 -6 -7 -7 -6 -5 -4 -4 -6 -8 -12 -14 -13 -9 -4 -4 -6 -8 -8 -5 -5 -6 -8 -7 -2 5 10 11 8 -1 -9 -12 -11 -7 -1 2 4 5 5 2 -3 -5 -6 -7 -10 -12 -14 -13 -10 -5 -3 -4 -8 -12 -12 -6 2 7 7 2 -6 -10 -9 -4 2 0 -2 -2 0 1 -3 -5 -4 -2 3 10 18 23 26 28 35 40 40 32 19 5 -6 -11 -11 -6 -0 5 9 10 5 -4 -8 -13 -18 -23 -21 -9 1 5 1 -5 -9 -12 -12 -7 3 12 16 16 13 9 6 2 -4 -10 -14 -17 -13 -2 10 20 22 18 11 3 -2 1 10 21 28 28 21 11 1 -6 -7 -8 -11 -14 -15 -12 -10 -9 -9 -10 -12 -13 -13 -12 -10 -9 -7 -4 -1 1 -2 -8 -13 -17 -18 -18 -18 -17 -17 -17 -16 -15 -17 -20 -21 -21 -17 -14 -13 -15 -17 -18 -18 -16 -15 -15 -13 -8 -4 -5 -13 -17 -15 -11 -7 -7 -8 -10 -11 -12 -11 -12 -12 -10 -7 -2 -4 -8 -12 -13 -13 -11 -11 -14 -18 -18 -18 -20 -22 -23 -23 -25 -23 -19 -16 -17 -17 -19 -20 -20 -20 -19 -17 -17 -18 -20 -23 -24 -24 -24 -23 -23 -25 -25 -24 -24 -25 -25 -25 -25 -26 -25 -24 -21 -18 -19 -20 -21 -23 -25 -20 -14 -10 -10 -16 -23 -23 -20 -14 -2 8 13 16 18 19 14 -1 -14 -19 -18 -14 -11 -10 -10 -9 -9 -12 -15 -16 -14 -7 -0 7 15 22 22 19 14 -3 -3 -4 -4 -4 -5 -6 -8 -8 -9 -9 -10 -11 -12 -13 -13 -12 -12 -12 -10 -8 -5 -2 -1 -2 -3 -6 -7 -8 -9 -9 -8 -6 -5 -5 -4 -5 -5 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -7 -5 -4 -5 -5 -5 -4 -3 -2 -1 -1 -1 -1 -0 -1 -3 -5 -7 -9 -10 -13 -14 -15 -13 -10 -5 -2 -0 -1 -3 -6 -7 -9 -10 -11 -11 -10 -10 -7 -0 4 3 3 4 6 5 -1 -8 -15 -18 -18 -10 -7 -8 -11 -10 -7 -7 -8 -8 -8 -8 -7 -7 -7 -6 -5 -5 -6 -7 -7 -6 -5 -4 -5 -7 -11 -13 -14 -12 -8 -4 -5 -7 -9 -8 -6 -6 -7 -7 -4 1 5 10 11 6 -2 -9 -11 -10 -6 -3 -0 3 6 7 3 0 -3 -6 -8 -10 -10 -10 -9 -7 -3 -3 -5 -8 -10 -8 -3 3 8 9 3 -4 -8 -7 -0 2 -1 -3 -2 -2 -4 -5 -4 -3 -2 2 6 10 13 17 26 35 41 40 29 14 3 -5 -8 -8 -7 -4 2 10 14 6 -2 -9 -15 -22 -25 -18 -6 4 6 1 -5 -10 -13 -13 -7 2 11 16 17 13 8 3 -2 -8 -13 -17 -19 -17 -9 5 14 17 14 7 -2 -5 -2 6 16 22 21 16 7 -2 -6 -7 -9 -12 -14 -12 -10 -9 -8 -8 -10 -11 -12 -12 -11 -10 -10 -10 -9 -6 -6 -8 -12 -17 -18 -18 -18 -18 -18 -17 -17 -16 -16 -17 -18 -19 -16 -12 -10 -11 -14 -16 -17 -17 -16 -16 -15 -13 -9 -5 -7 -11 -13 -12 -10 -8 -8 -9 -10 -12 -11 -10 -11 -12 -13 -8 -6 -8 -11 -13 -13 -12 -12 -15 -19 -19 -19 -21 -23 -23 -22 -23 -22 -21 -17 -16 -17 -18 -19 -20 -18 -14 -12 -12 -16 -21 -24 -24 -24 -23 -22 -22 -23 -24 -23 -21 -23 -25 -26 -26 -26 -27 -26 -23 -19 -18 -19 -21 -24 -25 -21 -17 -12 -8 -10 -16 -18 -19 -16 -9 2 7 11 14 18 16 4 -9 -19 -21 -18 -14 -11 -10 -9 -7 -9 -12 -16 -15 -10 -3 4 14 24 27 22 13 -4 -5 -6 -5 -5 -6 -8 -8 -8 -9 -9 -10 -10 -11 -12 -12 -12 -12 -12 -10 -6 -2 1 1 -0 -4 -7 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -5 -7 -8 -7 -6 -7 -9 -9 -9 -9 -9 -7 -5 -4 -3 -4 -4 -4 -4 -3 -2 -2 -2 -1 0 1 0 -2 -6 -8 -10 -11 -13 -14 -14 -12 -8 -4 -2 -1 -2 -3 -5 -7 -9 -10 -12 -11 -10 -9 -8 -4 0 3 4 5 6 3 -3 -11 -18 -19 -13 -8 -6 -8 -10 -8 -6 -6 -7 -7 -7 -6 -6 -6 -6 -5 -4 -4 -5 -7 -7 -6 -4 -4 -6 -9 -12 -13 -13 -12 -8 -5 -5 -7 -9 -10 -10 -9 -7 -4 -1 1 5 10 11 4 -3 -8 -9 -8 -8 -8 -5 -0 6 8 6 2 -3 -8 -9 -9 -8 -7 -7 -5 -3 -3 -5 -8 -8 -6 -2 4 11 9 3 -3 -7 -4 0 -0 -2 -3 -4 -8 -8 -5 -1 -2 -4 -0 5 8 8 15 27 39 44 37 23 11 1 -4 -6 -9 -12 -9 -0 14 14 7 -2 -10 -18 -25 -23 -14 -2 8 6 1 -4 -9 -12 -11 -7 -0 9 17 19 15 9 2 -6 -13 -18 -20 -20 -19 -10 1 8 12 10 2 -5 -8 -5 3 10 15 15 11 2 -4 -8 -9 -10 -12 -11 -10 -9 -9 -8 -8 -10 -12 -14 -14 -13 -13 -14 -14 -11 -9 -10 -13 -16 -18 -19 -19 -19 -18 -17 -17 -16 -15 -14 -15 -16 -15 -13 -11 -10 -12 -14 -16 -18 -17 -16 -16 -15 -14 -9 -4 -7 -12 -15 -14 -10 -8 -8 -9 -11 -11 -10 -10 -12 -17 -13 -10 -10 -13 -16 -16 -14 -15 -18 -21 -22 -21 -22 -23 -23 -21 -20 -21 -22 -20 -17 -17 -18 -19 -19 -16 -15 -14 -16 -20 -23 -24 -24 -23 -23 -22 -22 -22 -23 -23 -21 -22 -24 -25 -24 -26 -27 -27 -26 -22 -20 -20 -22 -25 -25 -23 -20 -15 -10 -9 -11 -15 -18 -17 -12 -4 2 6 9 15 17 9 -4 -15 -21 -21 -17 -13 -10 -8 -6 -6 -9 -14 -15 -11 -6 1 10 21 24 18 9 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -10 -12 -15 -15 -14 -13 -12 -9 -7 -4 -2 -0 -0 -1 -3 -7 -10 -9 -9 -9 -8 -6 -5 -4 -4 -4 -5 -7 -9 -9 -9 -7 -5 -5 -7 -9 -10 -9 -7 -5 -4 -4 -3 -3 -3 -2 -3 -4 -3 -3 -2 -2 -1 -1 -3 -6 -9 -9 -11 -12 -13 -12 -10 -6 -4 -2 -2 -3 -4 -6 -8 -9 -10 -11 -10 -10 -10 -8 -5 -1 2 4 5 5 1 -6 -15 -19 -15 -9 -6 -6 -10 -10 -7 -4 -4 -6 -7 -6 -5 -5 -6 -5 -3 -2 -2 -5 -7 -7 -5 -4 -5 -7 -10 -12 -13 -14 -12 -8 -5 -5 -7 -10 -13 -14 -12 -5 -0 -0 0 4 11 9 3 -2 -5 -7 -9 -12 -13 -11 -4 5 9 8 2 -5 -9 -9 -7 -5 -5 -5 -4 -3 -4 -6 -6 -6 -5 -1 5 10 9 3 -4 -5 -2 -2 -3 -4 -5 -11 -14 -9 -1 4 -3 -6 -4 4 9 9 15 27 39 41 31 18 7 -1 -4 -7 -14 -18 -15 1 13 13 7 -2 -12 -21 -24 -20 -10 2 7 5 1 -4 -8 -9 -9 -7 -1 8 16 19 16 9 -2 -12 -18 -21 -22 -21 -16 -10 -3 4 9 4 -3 -8 -10 -7 -1 4 8 9 5 -3 -9 -12 -12 -13 -12 -11 -11 -11 -11 -10 -11 -13 -16 -17 -17 -16 -16 -15 -13 -10 -10 -13 -16 -18 -19 -19 -19 -19 -18 -18 -17 -15 -13 -12 -13 -13 -12 -13 -12 -12 -14 -17 -18 -18 -17 -17 -16 -16 -15 -11 -10 -13 -19 -19 -15 -10 -8 -9 -10 -12 -11 -10 -11 -16 -17 -15 -15 -17 -21 -21 -19 -19 -20 -22 -24 -23 -23 -22 -22 -21 -19 -19 -22 -21 -18 -17 -17 -18 -19 -19 -19 -19 -19 -21 -22 -23 -24 -24 -24 -23 -23 -22 -23 -23 -22 -23 -25 -25 -24 -27 -28 -29 -29 -25 -22 -21 -23 -26 -26 -25 -23 -20 -15 -11 -10 -12 -15 -17 -15 -9 -3 1 3 10 15 11 1 -10 -18 -21 -20 -17 -13 -10 -6 -4 -6 -11 -13 -11 -8 -2 6 16 20 16 7 -6 -6 -6 -6 -7 -6 -6 -5 -5 -5 -7 -10 -16 -20 -18 -15 -12 -9 -4 -2 -1 -2 -5 -6 -4 -4 -6 -10 -10 -8 -7 -5 -4 -4 -3 -2 -2 -4 -6 -9 -10 -10 -9 -6 -4 -5 -7 -8 -9 -8 -7 -5 -4 -3 -3 -3 -2 -3 -4 -5 -5 -5 -4 -3 -2 -2 -4 -6 -8 -9 -10 -10 -11 -10 -8 -6 -4 -3 -3 -4 -6 -8 -9 -9 -9 -10 -10 -10 -9 -8 -6 -3 1 4 5 2 -4 -11 -17 -15 -11 -7 -6 -9 -11 -9 -5 -3 -4 -6 -6 -5 -4 -4 -4 -3 -2 -2 -3 -6 -7 -7 -5 -5 -6 -8 -10 -12 -14 -14 -11 -7 -5 -6 -9 -12 -15 -15 -10 -1 1 -0 -1 4 8 7 3 -2 -5 -9 -12 -15 -16 -15 -6 4 9 8 0 -7 -10 -9 -6 -5 -5 -5 -4 -4 -5 -6 -5 -5 -5 -2 5 9 8 2 -3 -3 -3 -4 -5 -6 -13 -18 -16 -6 6 4 -4 -9 -5 5 9 10 13 21 30 30 23 14 5 -1 -3 -10 -18 -24 -16 2 11 12 6 -3 -13 -19 -20 -16 -6 2 5 4 -1 -5 -6 -7 -7 -5 -1 8 16 20 16 5 -7 -16 -21 -22 -21 -17 -13 -8 -2 6 5 -0 -7 -11 -10 -8 -4 1 5 5 -2 -9 -14 -15 -16 -15 -14 -13 -14 -15 -14 -14 -15 -16 -17 -18 -17 -17 -16 -14 -11 -10 -11 -14 -18 -19 -19 -20 -20 -19 -18 -17 -17 -15 -12 -12 -13 -14 -16 -16 -15 -17 -19 -20 -18 -18 -18 -17 -16 -16 -15 -14 -15 -18 -20 -19 -15 -12 -10 -10 -11 -11 -10 -10 -14 -17 -18 -19 -20 -23 -23 -22 -21 -22 -22 -22 -22 -21 -20 -21 -21 -21 -20 -21 -20 -18 -16 -16 -17 -19 -20 -21 -21 -20 -21 -22 -23 -24 -25 -24 -24 -23 -22 -21 -22 -23 -25 -27 -28 -27 -27 -28 -30 -31 -28 -24 -22 -23 -27 -27 -27 -27 -25 -22 -16 -11 -10 -13 -17 -17 -14 -8 -4 -2 5 12 12 4 -6 -13 -17 -19 -19 -16 -13 -8 -4 -4 -7 -10 -10 -8 -4 3 13 18 16 6 -6 -6 -6 -7 -7 -6 -5 -4 -5 -6 -8 -11 -16 -19 -16 -12 -7 -5 -4 -4 -5 -7 -10 -12 -10 -7 -7 -8 -9 -8 -7 -6 -4 -3 -1 1 2 2 -1 -5 -8 -9 -8 -8 -5 -4 -5 -7 -8 -7 -7 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -5 -4 -3 -3 -3 -5 -6 -7 -8 -8 -9 -9 -8 -7 -5 -4 -4 -5 -6 -7 -8 -7 -8 -8 -9 -9 -9 -9 -9 -7 -4 -0 2 2 -2 -8 -14 -15 -13 -9 -6 -7 -10 -10 -8 -3 -2 -4 -5 -5 -4 -3 -3 -3 -3 -2 -2 -4 -6 -7 -7 -5 -6 -7 -8 -11 -14 -16 -14 -10 -6 -4 -7 -11 -14 -16 -16 -6 2 3 -1 -1 4 6 6 2 -3 -7 -10 -11 -13 -15 -14 -8 2 10 7 -2 -8 -10 -8 -6 -6 -6 -6 -5 -5 -6 -5 -5 -6 -7 -3 2 6 7 2 -1 -3 -5 -6 -7 -12 -19 -22 -16 1 8 3 -6 -11 -2 7 11 12 14 23 30 30 24 16 7 2 -5 -13 -21 -22 -13 -1 8 11 6 -3 -11 -15 -17 -13 -5 2 4 1 -3 -5 -5 -4 -4 -5 0 9 17 20 14 1 -12 -20 -22 -21 -18 -14 -11 -8 -1 5 3 -2 -8 -10 -9 -6 -2 4 6 1 -6 -13 -18 -18 -16 -14 -13 -15 -16 -16 -15 -15 -15 -17 -17 -17 -17 -16 -16 -13 -11 -10 -13 -17 -19 -20 -19 -20 -18 -17 -17 -17 -17 -13 -14 -15 -16 -17 -17 -17 -19 -21 -21 -19 -18 -18 -18 -17 -16 -17 -17 -17 -18 -20 -20 -19 -17 -15 -13 -14 -13 -12 -12 -13 -17 -19 -19 -20 -22 -23 -23 -22 -22 -21 -20 -19 -18 -18 -19 -20 -21 -22 -23 -21 -17 -15 -15 -16 -18 -21 -22 -22 -21 -20 -21 -23 -24 -26 -24 -23 -23 -21 -19 -20 -22 -26 -29 -31 -31 -29 -27 -28 -30 -28 -25 -23 -23 -26 -27 -29 -30 -31 -29 -22 -15 -11 -11 -15 -17 -15 -12 -9 -5 2 9 12 6 -3 -9 -13 -16 -18 -17 -15 -11 -6 -5 -6 -8 -8 -7 -5 1 10 17 16 6 -5 -6 -6 -7 -7 -6 -5 -5 -6 -6 -7 -9 -12 -14 -13 -10 -8 -6 -6 -6 -6 -6 -7 -9 -9 -8 -7 -7 -8 -7 -7 -7 -6 -5 -3 -0 2 4 4 1 -2 -5 -6 -7 -5 -3 -3 -5 -6 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -5 -5 -5 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -6 -7 -7 -8 -8 -8 -9 -10 -8 -5 -2 0 -1 -5 -11 -13 -13 -10 -7 -5 -8 -11 -10 -6 -2 -2 -4 -5 -5 -3 -3 -3 -3 -2 -2 -3 -5 -7 -7 -6 -5 -5 -7 -9 -14 -16 -16 -14 -9 -4 -5 -8 -13 -17 -19 -13 -2 5 3 -1 1 4 6 5 -0 -6 -9 -9 -8 -10 -14 -14 -8 1 8 4 -3 -8 -9 -7 -6 -7 -8 -7 -6 -6 -5 -5 -5 -6 -7 -5 -0 6 7 3 -1 -4 -7 -7 -11 -17 -22 -22 -10 4 8 1 -9 -8 2 11 14 12 15 24 29 28 21 13 6 1 -6 -13 -18 -17 -12 -5 3 7 3 -3 -9 -14 -15 -10 -3 2 2 -2 -5 -5 -3 -3 -5 -4 2 11 20 20 10 -4 -16 -22 -21 -19 -15 -12 -11 -8 -0 3 1 -4 -7 -8 -8 -5 2 8 7 0 -9 -18 -19 -15 -11 -10 -13 -15 -16 -16 -15 -15 -16 -17 -17 -17 -16 -16 -15 -13 -11 -10 -14 -18 -19 -18 -17 -16 -14 -15 -17 -18 -16 -16 -17 -17 -17 -17 -18 -20 -22 -22 -19 -18 -18 -19 -18 -17 -17 -18 -19 -19 -19 -20 -20 -19 -17 -17 -18 -17 -15 -17 -18 -20 -20 -19 -19 -21 -22 -22 -21 -21 -20 -19 -18 -17 -18 -18 -19 -21 -23 -25 -22 -19 -16 -16 -16 -18 -21 -22 -22 -21 -19 -20 -22 -24 -26 -25 -24 -24 -23 -20 -20 -21 -25 -29 -32 -32 -30 -27 -26 -29 -28 -26 -24 -23 -25 -27 -30 -33 -35 -35 -29 -21 -14 -11 -13 -14 -15 -14 -13 -9 -2 5 10 7 -1 -6 -9 -12 -15 -16 -15 -12 -9 -7 -7 -8 -8 -7 -6 -1 8 15 16 7 -7 -7 -5 -5 -4 -3 -3 -4 -5 -5 -5 -8 -11 -14 -13 -11 -9 -8 -9 -9 -9 -8 -7 -8 -7 -6 -6 -5 -5 -5 -5 -6 -6 -7 -6 -4 -2 0 2 3 2 -0 -3 -4 -3 -2 -2 -3 -4 -5 -6 -5 -5 -6 -6 -6 -7 -6 -5 -4 -4 -4 -4 -2 -2 -2 -3 -4 -4 -5 -6 -6 -6 -6 -7 -8 -8 -8 -8 -6 -6 -6 -6 -7 -6 -6 -6 -7 -7 -7 -9 -10 -10 -9 -6 -3 -2 -4 -9 -12 -12 -9 -6 -3 -5 -9 -10 -8 -4 -2 -3 -5 -6 -6 -5 -3 -2 -1 -2 -2 -3 -5 -7 -7 -6 -5 -5 -8 -13 -16 -17 -16 -13 -7 -3 -5 -10 -18 -21 -20 -8 4 7 1 -0 1 3 4 1 -5 -9 -10 -7 -5 -8 -12 -13 -9 -1 2 -0 -4 -7 -6 -6 -7 -9 -10 -7 -6 -5 -5 -5 -5 -7 -8 -6 1 8 8 3 -3 -7 -8 -9 -14 -19 -22 -21 -6 6 8 0 -7 -2 8 15 14 10 15 23 28 26 19 11 5 -0 -6 -12 -14 -15 -14 -10 -3 0 -0 -4 -9 -13 -11 -6 -1 3 -0 -4 -5 -5 -3 -4 -4 -2 4 14 19 14 2 -10 -19 -20 -19 -15 -12 -13 -12 -6 -1 -0 -3 -5 -7 -8 -7 -3 6 11 8 -2 -16 -22 -16 -8 -5 -8 -14 -17 -16 -15 -14 -16 -16 -16 -17 -17 -16 -16 -14 -12 -9 -8 -14 -17 -16 -14 -14 -12 -13 -17 -18 -18 -18 -18 -17 -17 -17 -18 -20 -21 -21 -19 -18 -19 -19 -19 -19 -19 -19 -20 -20 -20 -20 -20 -19 -17 -18 -19 -19 -18 -19 -19 -20 -20 -19 -20 -21 -21 -20 -19 -19 -20 -19 -18 -17 -18 -19 -20 -21 -23 -23 -22 -18 -16 -16 -17 -19 -21 -22 -21 -22 -20 -20 -22 -23 -25 -25 -25 -25 -25 -22 -21 -21 -23 -27 -30 -32 -31 -28 -25 -27 -27 -26 -24 -24 -26 -29 -32 -34 -37 -37 -34 -27 -19 -12 -12 -13 -14 -15 -14 -12 -7 1 7 7 0 -5 -8 -9 -12 -15 -15 -12 -9 -7 -8 -9 -9 -7 -6 -2 5 12 15 9 -6 -5 -4 -3 -3 -2 -2 -3 -4 -5 -6 -8 -11 -13 -12 -11 -9 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -4 -5 -7 -7 -7 -6 -5 -4 -2 -0 -0 -1 -2 -2 -1 -1 -2 -3 -4 -4 -5 -5 -6 -6 -7 -7 -8 -7 -5 -4 -3 -3 0 1 0 -1 -2 -4 -5 -6 -6 -5 -5 -6 -7 -8 -9 -9 -8 -6 -5 -5 -6 -6 -5 -6 -6 -6 -6 -7 -9 -10 -10 -9 -7 -5 -4 -9 -12 -13 -9 -4 0 -1 -4 -8 -8 -6 -3 -2 -3 -5 -8 -7 -4 -0 2 0 -2 -2 -3 -5 -7 -7 -6 -5 -6 -12 -15 -17 -18 -16 -10 -5 -3 -6 -14 -22 -23 -15 -2 8 5 1 -1 -0 2 2 -3 -9 -11 -10 -5 -4 -7 -11 -13 -9 -3 -1 -3 -5 -5 -4 -6 -9 -11 -10 -7 -5 -5 -5 -6 -6 -7 -7 -5 3 7 6 1 -6 -8 -7 -10 -16 -25 -26 -18 -4 8 10 0 -2 4 13 17 10 9 15 24 28 23 16 10 4 -2 -8 -10 -13 -14 -15 -12 -7 -3 -3 -6 -10 -10 -8 -4 1 1 -1 -4 -5 -5 -5 -5 -4 -2 4 12 12 6 -4 -13 -16 -17 -15 -13 -14 -14 -10 -5 -1 -2 -4 -5 -7 -9 -8 2 10 12 3 -14 -25 -21 -9 0 -1 -10 -16 -17 -15 -12 -15 -16 -16 -16 -17 -16 -16 -15 -14 -13 -10 -10 -12 -14 -13 -14 -14 -15 -17 -18 -18 -18 -18 -18 -17 -17 -18 -20 -21 -20 -19 -19 -20 -20 -19 -20 -20 -20 -20 -21 -20 -21 -20 -19 -16 -17 -19 -20 -20 -19 -19 -19 -20 -20 -19 -19 -18 -17 -17 -18 -20 -20 -20 -18 -19 -20 -21 -23 -23 -21 -19 -17 -16 -16 -18 -20 -20 -18 -16 -23 -24 -22 -21 -21 -23 -25 -26 -27 -27 -24 -23 -21 -21 -23 -27 -29 -30 -29 -25 -24 -23 -22 -22 -24 -27 -29 -32 -36 -38 -37 -35 -31 -23 -15 -13 -13 -15 -16 -15 -14 -11 -4 3 5 1 -4 -7 -8 -11 -13 -14 -12 -9 -6 -7 -8 -9 -8 -7 -4 2 9 14 11 -5 -5 -4 -3 -2 -2 -2 -3 -4 -6 -8 -9 -10 -11 -9 -7 -6 -4 -3 -2 -2 -2 -3 -4 -4 -4 -4 -3 -4 -4 -4 -4 -5 -6 -8 -7 -6 -5 -5 -6 -6 -5 -4 -4 -3 -2 -1 -1 -1 -2 -3 -3 -4 -5 -6 -7 -8 -9 -9 -8 -6 -4 -2 1 3 2 1 -0 -2 -4 -5 -5 -5 -5 -6 -7 -8 -10 -11 -10 -7 -5 -4 -5 -5 -6 -6 -6 -5 -5 -6 -8 -10 -10 -10 -9 -8 -7 -8 -12 -14 -12 -6 1 3 1 -3 -6 -7 -5 -3 -1 -2 -7 -10 -8 -2 4 4 1 -1 -3 -5 -7 -8 -7 -5 -5 -9 -13 -16 -17 -17 -14 -8 -4 -3 -8 -19 -23 -20 -10 4 8 4 -0 -3 -1 1 -2 -7 -11 -13 -10 -5 -4 -7 -13 -14 -10 -5 -3 -5 -4 -3 -4 -7 -11 -11 -8 -5 -4 -5 -7 -7 -7 -7 -6 -2 3 5 3 -3 -7 -6 -7 -12 -23 -26 -26 -16 -1 12 9 2 1 8 17 13 8 9 16 25 26 21 15 9 3 -4 -8 -10 -12 -14 -14 -11 -8 -6 -6 -8 -8 -8 -6 -2 -1 -0 -1 -2 -5 -7 -7 -7 -5 -0 6 9 6 -0 -8 -11 -13 -13 -13 -14 -16 -13 -8 -2 -1 -3 -4 -5 -8 -10 -6 1 5 3 -8 -23 -26 -17 -2 4 -5 -13 -16 -15 -13 -15 -15 -15 -16 -16 -16 -16 -16 -15 -16 -14 -12 -11 -12 -12 -15 -17 -17 -17 -18 -18 -18 -18 -18 -18 -17 -18 -19 -19 -19 -19 -20 -20 -21 -20 -19 -19 -19 -20 -19 -19 -19 -19 -19 -17 -16 -17 -19 -20 -19 -19 -19 -19 -19 -18 -17 -16 -17 -18 -20 -23 -24 -23 -20 -20 -20 -22 -24 -23 -19 -17 -16 -16 -17 -18 -19 -18 -13 -14 -22 -25 -23 -20 -20 -23 -25 -26 -27 -27 -26 -25 -23 -21 -21 -24 -27 -29 -30 -26 -23 -20 -18 -19 -24 -27 -29 -32 -36 -38 -37 -35 -33 -28 -19 -14 -14 -15 -16 -15 -15 -14 -10 -1 2 -0 -4 -7 -7 -10 -12 -13 -12 -7 -4 -5 -7 -8 -7 -7 -6 -2 3 10 10 -5 -5 -4 -3 -3 -3 -3 -4 -6 -8 -9 -9 -8 -6 -4 -3 -3 -3 -2 -2 -3 -4 -5 -5 -6 -6 -5 -5 -6 -6 -5 -4 -4 -5 -7 -8 -8 -6 -6 -8 -7 -6 -5 -6 -6 -4 -3 -1 -1 -2 -2 -2 -3 -5 -6 -7 -7 -8 -8 -8 -7 -5 -2 1 3 4 4 3 1 -1 -3 -4 -4 -5 -5 -7 -8 -10 -12 -12 -9 -6 -3 -4 -5 -5 -5 -6 -6 -4 -4 -5 -7 -9 -9 -10 -9 -8 -8 -10 -13 -14 -11 -3 2 4 2 -0 -2 -3 -2 -1 -1 -4 -9 -10 -8 0 6 5 1 -3 -6 -7 -8 -8 -7 -6 -7 -9 -13 -16 -17 -15 -11 -7 -5 -5 -13 -20 -22 -16 -3 8 8 3 -2 -3 -1 -1 -4 -9 -13 -14 -9 -5 -5 -10 -15 -14 -9 -5 -4 -4 -3 -2 -4 -9 -11 -9 -7 -4 -4 -7 -7 -7 -6 -5 -4 -0 2 1 -3 -6 -6 -6 -10 -18 -25 -27 -24 -14 3 9 6 3 4 12 13 9 6 9 18 24 24 20 15 8 0 -5 -8 -9 -11 -12 -12 -11 -10 -8 -8 -7 -6 -6 -6 -4 -2 -0 -0 -2 -5 -7 -9 -9 -5 1 6 7 3 -4 -7 -9 -10 -12 -15 -17 -16 -11 -4 -2 -3 -4 -4 -6 -10 -9 -4 1 4 -2 -16 -24 -22 -11 -2 -3 -8 -13 -16 -15 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -16 -13 -11 -11 -12 -14 -16 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -18 -19 -20 -21 -21 -20 -19 -19 -19 -18 -19 -19 -19 -19 -19 -18 -16 -16 -17 -19 -19 -19 -19 -19 -18 -17 -16 -16 -17 -19 -22 -24 -24 -25 -23 -21 -21 -22 -24 -22 -18 -16 -16 -16 -17 -18 -19 -18 -14 -14 -20 -23 -23 -19 -21 -23 -24 -26 -26 -26 -26 -26 -25 -22 -20 -22 -25 -28 -30 -28 -23 -18 -15 -18 -23 -27 -29 -32 -35 -36 -37 -36 -34 -30 -24 -18 -15 -15 -16 -15 -15 -16 -14 -7 -2 -3 -6 -8 -7 -9 -11 -13 -12 -6 -2 -3 -5 -6 -6 -7 -8 -6 -1 5 8 -6 -6 -5 -4 -4 -5 -5 -6 -7 -8 -8 -6 -3 -1 -2 -3 -4 -4 -5 -5 -5 -6 -6 -7 -7 -8 -8 -8 -9 -8 -6 -2 1 2 1 -1 -3 -3 -3 -4 -4 -4 -5 -6 -7 -6 -5 -3 -2 -2 -2 -2 -3 -4 -6 -7 -8 -9 -9 -8 -6 -4 -2 -0 2 4 5 5 3 1 -1 -2 -3 -4 -5 -7 -8 -10 -12 -13 -11 -8 -4 -3 -4 -5 -6 -6 -7 -5 -3 -2 -3 -5 -8 -10 -10 -10 -9 -10 -12 -14 -14 -10 -2 3 5 5 3 1 -0 -1 -1 -1 -5 -9 -10 -6 2 6 5 -0 -5 -7 -8 -8 -8 -8 -8 -8 -9 -12 -15 -13 -11 -10 -8 -6 -10 -17 -20 -19 -12 1 8 8 2 -3 -3 -2 -3 -6 -11 -14 -12 -8 -6 -8 -14 -16 -13 -7 -4 -5 -4 -3 -3 -6 -9 -10 -8 -5 -4 -6 -8 -8 -6 -4 -3 -2 -1 -2 -4 -6 -6 -7 -9 -14 -24 -28 -29 -23 -8 3 6 6 4 7 10 9 6 6 11 21 25 25 21 15 7 1 -4 -7 -8 -9 -11 -12 -13 -11 -9 -7 -5 -6 -7 -7 -4 -1 0 -1 -3 -6 -9 -10 -9 -4 1 4 3 -2 -5 -7 -7 -10 -14 -17 -17 -14 -8 -4 -4 -5 -4 -5 -8 -10 -9 -4 2 1 -9 -17 -19 -12 -6 -3 -3 -7 -14 -16 -16 -15 -15 -16 -16 -16 -16 -16 -17 -17 -16 -14 -12 -12 -14 -16 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -19 -18 -18 -18 -19 -21 -21 -20 -19 -19 -19 -19 -18 -19 -19 -19 -19 -18 -17 -15 -15 -17 -18 -19 -19 -18 -18 -17 -17 -17 -18 -21 -22 -21 -21 -25 -25 -23 -22 -21 -22 -20 -17 -16 -16 -16 -17 -19 -20 -20 -17 -17 -19 -22 -23 -21 -22 -24 -25 -25 -24 -24 -25 -26 -26 -23 -20 -20 -22 -25 -29 -30 -26 -20 -16 -19 -24 -28 -30 -31 -33 -34 -36 -37 -36 -32 -28 -23 -18 -16 -15 -14 -14 -16 -17 -12 -7 -6 -8 -9 -8 -9 -11 -12 -11 -4 -1 -1 -3 -5 -5 -7 -9 -9 -6 1 5 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -6 -4 -2 -1 -1 -2 -3 -4 -5 -5 -6 -5 -5 -5 -6 -7 -8 -9 -11 -10 -5 1 7 11 11 8 5 3 2 2 2 1 -1 -3 -5 -5 -4 -3 -1 -2 -2 -2 -3 -4 -5 -6 -8 -8 -9 -8 -6 -3 -1 -1 0 2 4 4 3 3 2 1 -1 -3 -5 -6 -8 -10 -12 -13 -12 -10 -6 -4 -4 -5 -5 -5 -6 -5 -3 -2 -1 -1 -5 -8 -10 -11 -10 -10 -11 -14 -16 -15 -8 -1 4 6 5 3 1 -1 -1 1 -0 -5 -9 -10 -4 3 6 4 -2 -6 -7 -8 -8 -10 -11 -10 -10 -10 -11 -10 -9 -9 -9 -9 -10 -14 -17 -18 -15 -6 5 9 7 0 -3 -2 -2 -3 -7 -11 -12 -10 -7 -7 -13 -17 -16 -11 -3 -4 -4 -4 -3 -4 -8 -10 -9 -6 -4 -5 -7 -8 -7 -3 -2 -2 -2 -4 -6 -7 -7 -7 -8 -12 -20 -27 -30 -28 -17 -5 2 5 5 6 7 8 7 4 5 13 21 25 24 20 14 7 1 -5 -6 -8 -10 -13 -14 -13 -11 -7 -5 -4 -7 -8 -6 -4 -1 -1 -2 -5 -8 -10 -11 -7 -2 1 1 -2 -5 -6 -7 -9 -13 -16 -16 -15 -11 -7 -5 -5 -5 -5 -7 -10 -11 -8 -2 0 -5 -11 -14 -11 -10 -6 -4 -5 -11 -15 -17 -17 -16 -16 -16 -15 -15 -16 -17 -17 -16 -16 -15 -14 -15 -16 -17 -17 -18 -18 -18 -18 -18 -18 -17 -18 -19 -20 -20 -20 -20 -20 -21 -20 -20 -19 -19 -19 -19 -18 -18 -19 -19 -19 -18 -18 -17 -13 -14 -16 -18 -19 -18 -17 -17 -18 -19 -20 -22 -22 -21 -21 -24 -25 -24 -22 -21 -20 -18 -17 -16 -16 -16 -17 -19 -21 -21 -19 -18 -18 -19 -21 -21 -23 -26 -27 -24 -22 -23 -24 -24 -25 -23 -20 -19 -20 -23 -27 -29 -28 -24 -19 -22 -26 -28 -30 -30 -31 -32 -35 -37 -37 -34 -30 -26 -21 -15 -14 -12 -12 -15 -19 -17 -13 -10 -10 -10 -9 -9 -11 -12 -9 -4 -1 -0 -2 -4 -5 -7 -9 -12 -10 -4 1 -8 -9 -9 -8 -8 -7 -6 -5 -5 -5 -4 -3 -2 -2 -1 -2 -3 -5 -5 -5 -6 -6 -8 -9 -8 -7 -5 -4 -5 -3 -0 4 8 11 11 8 5 3 1 1 2 2 2 -0 -2 -2 -2 -2 -1 -1 -1 -2 -2 -3 -5 -6 -7 -8 -9 -8 -6 -4 -1 -1 -1 0 1 1 2 3 4 4 2 -0 -3 -6 -7 -9 -11 -13 -13 -11 -9 -5 -4 -4 -5 -5 -6 -6 -4 -2 0 1 -1 -4 -8 -10 -11 -10 -11 -14 -17 -19 -15 -7 0 4 4 2 0 -1 -2 0 2 1 -4 -9 -8 -2 4 6 2 -3 -6 -7 -8 -11 -13 -13 -12 -11 -10 -7 -7 -8 -9 -11 -12 -14 -15 -16 -16 -11 -1 8 10 6 1 -1 -2 -2 -4 -8 -10 -10 -9 -8 -12 -16 -18 -15 -7 -3 -3 -5 -4 -3 -6 -9 -9 -7 -4 -3 -5 -7 -7 -4 -2 -1 -2 -4 -7 -9 -9 -9 -8 -10 -17 -24 -29 -29 -22 -10 -2 3 4 4 7 8 7 5 2 6 11 16 20 21 18 14 8 3 -1 -6 -10 -12 -14 -14 -12 -8 -5 -3 -6 -8 -8 -6 -4 -2 -2 -4 -6 -10 -11 -9 -4 0 1 -2 -6 -8 -9 -9 -13 -15 -16 -15 -13 -11 -8 -7 -7 -6 -6 -7 -9 -10 -8 -4 -4 -7 -10 -10 -10 -10 -9 -9 -11 -13 -15 -16 -16 -15 -15 -15 -14 -15 -17 -18 -18 -19 -19 -17 -16 -15 -16 -17 -18 -18 -18 -18 -18 -18 -17 -18 -20 -21 -22 -22 -22 -21 -21 -20 -20 -20 -19 -19 -18 -17 -17 -18 -19 -19 -19 -19 -19 -16 -14 -15 -18 -20 -19 -17 -17 -18 -20 -21 -21 -23 -24 -24 -24 -24 -24 -23 -21 -19 -17 -16 -16 -16 -16 -17 -19 -21 -22 -19 -18 -17 -17 -17 -19 -22 -26 -27 -24 -22 -23 -23 -22 -24 -24 -21 -19 -18 -21 -25 -28 -28 -27 -22 -23 -26 -28 -29 -29 -29 -31 -33 -35 -38 -37 -34 -29 -24 -15 -11 -7 -7 -11 -17 -19 -18 -16 -13 -12 -10 -9 -11 -12 -9 -4 -1 1 -1 -4 -5 -6 -9 -13 -13 -9 -4 -9 -9 -9 -8 -7 -6 -6 -6 -6 -4 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -7 -10 -14 -14 -11 -8 -6 -5 -4 -3 -2 -1 -0 -1 0 1 1 -2 -3 -2 -1 -1 -1 -2 -2 -2 -1 0 1 1 0 -1 -2 -3 -4 -5 -6 -8 -8 -7 -5 -3 -2 -1 -1 -0 0 2 2 4 5 5 3 -1 -4 -6 -8 -10 -12 -12 -12 -11 -7 -5 -5 -5 -5 -6 -6 -5 -2 -0 2 2 0 -4 -9 -10 -10 -11 -13 -17 -21 -19 -13 -5 2 3 1 -1 -2 -3 -3 2 4 2 -5 -8 -6 -1 4 5 1 -3 -5 -7 -9 -13 -14 -14 -12 -10 -7 -5 -5 -8 -11 -14 -16 -15 -14 -14 -13 -6 3 10 11 6 2 -1 -1 -2 -5 -8 -10 -10 -8 -11 -15 -17 -18 -14 -6 -2 -2 -3 -3 -5 -7 -9 -8 -4 -3 -4 -6 -7 -5 -2 -0 -0 -3 -8 -10 -11 -10 -9 -9 -13 -19 -26 -29 -25 -14 -4 1 2 2 5 8 9 7 3 3 5 7 11 15 17 17 15 12 7 0 -6 -11 -13 -14 -13 -9 -5 -3 -5 -7 -7 -7 -6 -5 -4 -4 -6 -9 -10 -9 -5 -0 2 -1 -4 -7 -9 -10 -13 -15 -15 -13 -12 -13 -11 -9 -8 -8 -6 -6 -7 -9 -10 -7 -5 -5 -8 -8 -10 -11 -12 -11 -11 -12 -13 -14 -14 -14 -14 -13 -12 -13 -15 -17 -19 -21 -21 -19 -17 -15 -15 -16 -18 -19 -19 -18 -19 -18 -18 -19 -21 -23 -23 -23 -23 -22 -21 -19 -19 -19 -19 -18 -17 -16 -16 -17 -19 -19 -20 -20 -20 -18 -15 -15 -17 -19 -18 -18 -17 -18 -20 -21 -19 -23 -26 -27 -25 -24 -24 -23 -20 -18 -17 -17 -17 -17 -16 -16 -18 -19 -20 -18 -17 -17 -16 -14 -16 -19 -22 -25 -24 -22 -23 -22 -22 -24 -25 -23 -20 -17 -19 -23 -26 -27 -27 -24 -23 -26 -28 -29 -28 -27 -28 -30 -33 -38 -40 -39 -34 -28 -15 -3 3 4 -1 -8 -14 -20 -22 -19 -15 -11 -10 -11 -12 -10 -5 -2 0 -1 -2 -4 -5 -8 -12 -14 -12 -9 -8 -8 -7 -7 -7 -7 -7 -7 -6 -4 -3 -2 -2 -3 -4 -5 -5 -4 -4 -4 -5 -7 -11 -14 -15 -13 -10 -7 -7 -7 -7 -6 -7 -6 -7 -6 -3 -2 -2 -4 -5 -6 -6 -4 -3 -4 -4 -2 0 2 2 2 2 1 -0 -2 -3 -5 -6 -7 -7 -6 -5 -4 -2 -1 -0 1 3 3 4 6 7 6 3 -1 -4 -6 -9 -10 -12 -13 -12 -10 -7 -5 -5 -6 -7 -7 -5 -2 -0 1 4 4 1 -4 -8 -9 -10 -13 -17 -21 -21 -17 -10 -1 4 3 0 -2 -5 -6 -2 3 5 2 -5 -8 -6 0 6 5 1 -3 -5 -6 -9 -12 -13 -13 -12 -8 -4 -3 -5 -9 -15 -17 -16 -13 -12 -13 -10 -3 6 12 11 7 3 -0 -1 -2 -5 -8 -10 -9 -10 -13 -16 -18 -18 -12 -5 -1 -0 -0 -2 -6 -9 -9 -5 -2 -2 -5 -7 -7 -3 -0 1 -2 -7 -10 -12 -12 -11 -9 -9 -13 -20 -27 -26 -16 -5 2 1 -1 2 6 9 9 6 5 4 3 3 7 11 14 16 17 17 11 3 -5 -11 -13 -12 -10 -6 -3 -4 -6 -7 -7 -7 -7 -6 -5 -6 -8 -10 -9 -5 -1 2 2 -1 -4 -7 -10 -12 -14 -14 -12 -12 -14 -14 -13 -10 -9 -10 -9 -7 -7 -10 -9 -6 -6 -7 -7 -9 -11 -12 -11 -11 -11 -12 -13 -13 -14 -13 -11 -10 -11 -14 -17 -20 -22 -22 -20 -18 -16 -15 -16 -19 -20 -20 -20 -19 -19 -19 -20 -22 -23 -24 -24 -23 -21 -21 -19 -19 -19 -19 -18 -17 -16 -16 -16 -17 -19 -20 -20 -19 -19 -17 -16 -17 -18 -17 -18 -18 -18 -19 -21 -20 -22 -26 -26 -24 -24 -24 -23 -20 -18 -18 -18 -18 -18 -17 -17 -16 -17 -17 -17 -17 -17 -16 -13 -14 -17 -19 -21 -23 -20 -19 -20 -20 -22 -25 -25 -22 -19 -19 -21 -24 -26 -26 -24 -22 -24 -27 -27 -24 -24 -25 -26 -30 -38 -43 -44 -40 -32 -11 8 19 21 17 11 3 -10 -25 -28 -21 -15 -12 -11 -13 -11 -7 -3 -1 -1 -2 -3 -4 -7 -10 -13 -13 -12 -6 -6 -7 -8 -8 -7 -7 -6 -5 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -6 -8 -11 -12 -11 -9 -7 -8 -8 -7 -6 -5 -4 -6 -7 -7 -5 -4 -4 -6 -7 -9 -8 -5 -5 -5 -5 -2 0 3 4 4 3 2 1 -1 -3 -4 -4 -4 -4 -5 -5 -3 -2 -1 1 2 3 3 3 5 7 6 3 -0 -4 -7 -9 -11 -13 -13 -11 -9 -6 -5 -5 -7 -8 -7 -4 0 3 6 8 6 0 -6 -8 -10 -12 -16 -20 -20 -18 -13 -6 2 6 5 1 -4 -7 -7 -2 4 7 0 -7 -9 -5 3 7 5 1 -2 -3 -4 -6 -10 -12 -13 -10 -5 -2 -2 -6 -14 -18 -18 -15 -10 -12 -11 -8 -1 7 12 12 8 3 1 0 -3 -6 -9 -9 -9 -12 -15 -18 -19 -16 -10 -4 0 1 0 -3 -7 -9 -6 -1 0 -2 -6 -7 -4 -1 1 -1 -6 -10 -12 -14 -14 -11 -7 -8 -13 -23 -25 -17 -5 3 2 -2 -2 2 7 9 8 7 6 4 1 2 5 7 11 16 22 22 16 7 -2 -8 -11 -10 -7 -3 -3 -5 -6 -7 -8 -7 -7 -6 -7 -8 -10 -9 -7 -3 1 3 2 -0 -4 -7 -11 -14 -15 -13 -12 -14 -16 -16 -13 -9 -9 -10 -10 -10 -11 -10 -8 -7 -7 -7 -8 -10 -11 -11 -10 -11 -12 -13 -14 -14 -12 -10 -9 -9 -12 -16 -19 -21 -21 -20 -18 -16 -14 -15 -19 -21 -21 -21 -20 -21 -20 -20 -20 -21 -23 -23 -22 -21 -19 -19 -18 -18 -18 -18 -18 -17 -16 -16 -16 -18 -19 -19 -19 -18 -18 -17 -17 -17 -17 -18 -18 -19 -19 -22 -23 -24 -25 -25 -24 -25 -25 -24 -22 -20 -19 -20 -20 -19 -19 -18 -18 -17 -18 -19 -19 -19 -16 -13 -14 -15 -17 -19 -20 -18 -16 -17 -19 -23 -26 -27 -25 -22 -20 -21 -23 -26 -26 -23 -22 -23 -25 -21 -13 -14 -18 -21 -26 -35 -42 -47 -46 -37 -9 16 32 36 33 26 17 3 -16 -30 -27 -21 -15 -13 -14 -12 -8 -4 -2 -2 -2 -2 -3 -5 -9 -11 -12 -12 -6 -6 -7 -8 -9 -7 -5 -4 -3 -3 -2 -2 -2 -3 -4 -5 -5 -6 -6 -5 -5 -5 -6 -7 -8 -8 -8 -8 -8 -9 -7 -5 -4 -4 -7 -10 -11 -10 -7 -6 -6 -6 -7 -6 -5 -5 -6 -6 -6 -4 -1 1 4 5 4 3 1 -1 -2 -2 -2 -3 -3 -4 -3 -2 -1 -1 1 2 2 2 2 4 5 5 3 -0 -4 -7 -10 -12 -13 -12 -9 -7 -5 -5 -6 -8 -9 -8 -4 2 7 10 9 4 -2 -7 -9 -12 -15 -18 -18 -17 -14 -11 -5 3 7 6 1 -5 -8 -7 -2 5 4 -3 -9 -10 -4 4 6 3 -1 -2 1 -0 -4 -9 -14 -12 -7 -2 1 -2 -10 -16 -18 -16 -11 -11 -11 -10 -6 -1 7 12 12 8 4 2 -0 -3 -6 -8 -9 -11 -14 -18 -20 -18 -14 -8 -2 0 1 -2 -6 -10 -8 -3 1 2 -1 -5 -4 -2 1 1 -4 -8 -12 -15 -16 -13 -8 -6 -9 -17 -23 -18 -7 3 4 -1 -4 -2 1 6 7 9 9 7 4 2 2 3 4 8 18 25 26 21 12 4 -2 -5 -5 -2 -2 -3 -4 -6 -6 -6 -6 -7 -8 -8 -9 -10 -9 -6 -1 3 4 3 0 -4 -9 -13 -15 -13 -12 -14 -17 -19 -18 -11 -8 -8 -10 -10 -11 -12 -12 -9 -7 -6 -7 -9 -10 -10 -9 -9 -11 -13 -15 -14 -12 -10 -9 -8 -10 -14 -18 -21 -21 -21 -19 -18 -16 -16 -19 -21 -22 -23 -22 -21 -21 -20 -19 -19 -21 -22 -22 -21 -19 -18 -18 -18 -18 -18 -18 -18 -17 -16 -15 -16 -18 -19 -19 -18 -18 -17 -17 -17 -17 -18 -18 -19 -21 -22 -23 -24 -25 -26 -25 -25 -25 -25 -23 -22 -21 -20 -20 -20 -20 -19 -19 -19 -19 -20 -20 -19 -16 -12 -13 -15 -17 -17 -19 -17 -16 -15 -17 -23 -26 -26 -25 -23 -21 -20 -22 -26 -26 -24 -23 -23 -23 -16 3 3 -6 -13 -20 -30 -39 -45 -48 -43 -17 13 37 45 43 36 28 16 -1 -27 -31 -26 -19 -15 -15 -13 -9 -5 -4 -3 -3 -3 -3 -3 -7 -10 -11 -10 -6 -7 -8 -9 -9 -6 -4 -3 -3 -3 -2 -2 -3 -4 -5 -6 -6 -6 -6 -5 -5 -5 -6 -7 -7 -7 -7 -6 -5 -5 -4 -2 -1 -1 -3 -7 -11 -12 -11 -6 -5 -4 -4 -4 -4 -5 -6 -7 -8 -7 -6 -4 -1 2 3 3 2 0 -1 -2 -2 -1 -1 -1 -0 0 1 0 0 1 1 1 1 1 2 3 4 2 -1 -3 -7 -10 -12 -11 -9 -7 -5 -4 -5 -6 -9 -11 -10 -6 2 9 12 10 3 -3 -7 -10 -12 -16 -16 -15 -13 -13 -11 -4 3 8 6 1 -5 -8 -7 -0 4 1 -5 -10 -10 -4 2 2 -1 -5 -2 1 1 -3 -10 -13 -10 -4 2 2 -5 -12 -16 -17 -13 -12 -12 -10 -8 -7 -1 7 13 13 8 5 2 -1 -4 -7 -9 -11 -13 -16 -19 -19 -16 -11 -5 -2 -0 -1 -4 -9 -10 -5 0 4 3 -1 -3 -3 -1 -0 -3 -6 -11 -16 -19 -14 -10 -7 -8 -13 -20 -17 -8 3 7 3 -1 -3 -3 -1 3 7 10 11 8 5 3 2 0 -1 6 16 24 28 24 17 11 6 3 3 2 1 -1 -3 -4 -4 -4 -5 -7 -9 -9 -10 -10 -9 -4 1 5 6 3 -0 -5 -11 -14 -14 -13 -15 -18 -21 -21 -15 -9 -7 -8 -10 -10 -13 -13 -12 -8 -6 -6 -8 -10 -10 -7 -7 -8 -11 -15 -15 -13 -11 -10 -9 -9 -12 -16 -20 -21 -21 -21 -20 -17 -16 -19 -22 -23 -23 -22 -20 -20 -19 -18 -18 -19 -21 -22 -22 -20 -19 -18 -18 -18 -18 -18 -19 -18 -17 -16 -16 -16 -17 -19 -18 -18 -17 -17 -16 -17 -18 -19 -20 -23 -23 -23 -24 -24 -26 -27 -27 -26 -26 -24 -23 -22 -21 -21 -21 -21 -21 -21 -21 -19 -19 -19 -18 -15 -12 -13 -14 -16 -17 -18 -18 -17 -16 -17 -22 -24 -25 -24 -22 -20 -19 -20 -23 -26 -26 -24 -23 -23 -18 14 21 7 -7 -17 -27 -36 -42 -44 -44 -31 -2 32 48 48 43 36 27 16 -18 -33 -33 -23 -17 -16 -13 -9 -6 -4 -4 -4 -4 -4 -3 -5 -8 -9 -8 -7 -7 -8 -9 -8 -5 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -5 -6 -7 -8 -9 -10 -11 -10 -8 -5 -4 -4 -3 -2 0 1 -1 -5 -7 -7 -6 -4 -3 -2 -2 -3 -5 -7 -8 -9 -10 -9 -7 -6 -3 -1 1 1 0 -1 -2 -2 -1 -0 0 1 1 2 2 1 1 1 0 -1 -1 0 2 2 2 1 -0 -2 -5 -9 -11 -9 -7 -5 -4 -3 -4 -6 -10 -13 -12 -7 2 10 14 10 4 -2 -6 -9 -12 -12 -11 -9 -10 -12 -9 -3 3 7 5 -1 -6 -7 -4 2 3 -0 -7 -12 -10 -4 1 0 -6 -8 -4 -0 -0 -5 -12 -13 -7 2 6 0 -8 -14 -17 -15 -14 -13 -11 -8 -7 -6 0 8 14 13 8 5 2 -1 -4 -8 -10 -11 -14 -18 -19 -17 -12 -7 -5 -3 -2 -3 -7 -10 -8 -2 4 6 2 -1 -3 -3 -2 -2 -4 -9 -15 -20 -15 -11 -9 -8 -11 -17 -17 -10 0 7 6 3 -0 -3 -4 -3 2 8 13 13 8 5 3 1 -4 -5 1 11 22 26 25 22 18 15 14 12 9 6 3 1 0 -1 -2 -4 -7 -9 -10 -11 -12 -9 -2 4 8 8 5 -0 -6 -12 -14 -13 -15 -18 -21 -23 -18 -11 -6 -7 -10 -10 -11 -13 -13 -10 -8 -6 -6 -9 -10 -7 -5 -5 -8 -11 -13 -13 -12 -12 -11 -9 -10 -14 -19 -21 -22 -22 -21 -18 -15 -18 -20 -20 -20 -19 -18 -18 -19 -18 -18 -19 -20 -20 -22 -21 -20 -19 -18 -17 -18 -18 -19 -19 -18 -17 -16 -15 -16 -17 -18 -18 -18 -18 -17 -17 -18 -20 -20 -23 -23 -24 -25 -24 -25 -27 -27 -26 -25 -23 -22 -22 -23 -23 -23 -22 -22 -22 -22 -19 -17 -17 -17 -15 -14 -13 -14 -16 -16 -18 -18 -18 -17 -17 -19 -21 -23 -24 -22 -21 -19 -19 -21 -24 -26 -25 -23 -21 -27 14 33 18 -3 -13 -23 -32 -39 -42 -42 -38 -18 19 44 50 48 43 37 28 -5 -30 -38 -28 -20 -17 -14 -10 -6 -4 -5 -6 -6 -6 -5 -5 -6 -8 -7 -7 -8 -8 -7 -5 -4 -4 -4 -4 -3 -4 -5 -5 -5 -5 -4 -4 -4 -4 -6 -7 -8 -9 -10 -11 -11 -10 -9 -6 -6 -6 -6 -6 -4 -2 -2 -2 -3 -4 -4 -3 -2 -1 -1 -2 -4 -6 -8 -10 -12 -12 -11 -9 -6 -4 -3 -1 1 1 0 -1 -1 -1 0 1 1 1 2 2 2 1 -0 -1 -2 -1 0 1 1 0 1 2 0 -4 -8 -9 -7 -4 -2 -2 -2 -3 -6 -11 -15 -15 -9 1 10 12 7 1 -4 -7 -8 -9 -8 -6 -5 -9 -10 -8 -4 2 4 2 -2 -6 -6 -1 3 3 -3 -10 -13 -9 -3 1 -3 -9 -8 -4 -1 -2 -10 -14 -11 -3 7 5 -3 -11 -16 -16 -16 -14 -11 -8 -7 -8 -5 2 12 16 12 7 3 1 -1 -5 -8 -10 -11 -14 -17 -17 -13 -7 -6 -5 -3 -3 -5 -9 -9 -5 1 6 5 1 -2 -4 -4 -3 -3 -6 -13 -20 -17 -13 -10 -10 -11 -15 -16 -11 -2 5 6 5 3 0 -3 -5 -4 1 9 14 12 9 6 5 0 -5 -7 -3 7 16 21 23 24 24 26 24 21 16 11 7 5 3 2 -0 -4 -7 -10 -12 -14 -13 -7 2 9 11 9 6 1 -7 -12 -13 -15 -17 -21 -23 -20 -13 -8 -8 -10 -9 -9 -11 -12 -12 -11 -8 -6 -7 -9 -8 -5 -4 -5 -9 -11 -12 -13 -14 -14 -11 -9 -11 -17 -21 -23 -23 -22 -18 -14 -16 -19 -19 -18 -18 -17 -17 -18 -18 -18 -19 -19 -19 -20 -21 -20 -19 -18 -18 -18 -18 -18 -19 -19 -18 -17 -17 -17 -16 -18 -19 -19 -17 -17 -17 -18 -20 -21 -23 -23 -25 -27 -26 -26 -26 -26 -26 -25 -23 -22 -21 -22 -23 -23 -22 -23 -23 -22 -18 -17 -16 -17 -16 -15 -14 -14 -16 -18 -18 -17 -17 -17 -17 -18 -20 -22 -23 -23 -22 -20 -18 -20 -22 -25 -26 -24 -20 -21 7 27 26 3 -8 -18 -28 -37 -41 -42 -41 -31 -5 30 47 52 50 45 38 8 -23 -41 -32 -23 -19 -16 -12 -7 -6 -7 -8 -8 -7 -6 -5 -6 -8 -7 -7 -7 -6 -5 -4 -4 -4 -4 -5 -4 -5 -5 -4 -4 -3 -3 -3 -4 -5 -6 -7 -9 -10 -10 -10 -8 -8 -7 -6 -6 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -2 -1 -0 -0 -1 -3 -5 -8 -10 -13 -15 -15 -13 -9 -6 -5 -3 -0 2 2 1 0 0 0 0 -0 -1 0 1 2 1 0 -1 -2 -3 -2 -1 -2 -2 0 4 5 3 -4 -8 -7 -4 -1 -1 -0 -0 -2 -7 -14 -18 -17 -11 -1 6 6 2 -2 -6 -7 -9 -8 -5 -2 -4 -7 -9 -8 -4 0 1 -0 -3 -5 -3 1 3 1 -6 -12 -12 -7 0 2 -5 -8 -7 -3 -1 -6 -12 -14 -10 2 7 2 -7 -15 -16 -16 -14 -12 -9 -7 -7 -7 -2 6 15 15 11 5 2 0 -3 -6 -8 -10 -12 -16 -17 -14 -7 -5 -5 -5 -4 -4 -8 -9 -8 -4 3 6 4 -1 -4 -5 -3 -2 -4 -10 -18 -17 -14 -12 -11 -12 -14 -14 -11 -4 3 4 5 4 3 0 -3 -5 -3 2 9 11 11 9 7 3 -2 -6 -7 -4 1 7 13 19 24 30 33 32 26 19 14 10 8 6 4 -1 -5 -9 -12 -15 -16 -11 -2 9 14 14 12 8 1 -6 -10 -13 -17 -20 -23 -21 -16 -11 -10 -11 -9 -8 -9 -10 -12 -13 -12 -9 -7 -8 -8 -6 -4 -4 -6 -9 -12 -13 -15 -15 -11 -8 -8 -15 -20 -23 -23 -22 -19 -14 -14 -17 -20 -20 -21 -20 -19 -18 -18 -18 -19 -19 -19 -20 -21 -21 -20 -18 -18 -18 -17 -17 -18 -19 -19 -19 -19 -19 -18 -19 -18 -17 -16 -17 -17 -18 -19 -21 -23 -24 -26 -29 -28 -27 -26 -25 -25 -25 -25 -22 -20 -19 -20 -21 -22 -23 -23 -20 -18 -16 -16 -17 -17 -16 -15 -14 -16 -19 -20 -19 -18 -19 -17 -17 -18 -21 -23 -24 -23 -21 -19 -19 -21 -24 -26 -26 -22 -17 -20 -13 23 7 -3 -13 -23 -33 -39 -41 -40 -36 -26 7 34 50 55 51 44 17 -16 -39 -32 -24 -19 -16 -13 -9 -7 -9 -10 -10 -9 -8 -7 -7 -8 -8 -6 -6 -6 -5 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -7 -9 -10 -10 -9 -7 -6 -5 -5 -5 -5 -6 -6 -7 -6 -6 -5 -4 -3 -2 -1 -0 0 -0 -1 -3 -5 -8 -10 -13 -17 -18 -17 -13 -9 -6 -4 -3 0 2 3 2 2 1 1 -0 -1 -2 -1 0 1 1 0 -2 -4 -5 -5 -4 -5 -2 4 8 10 5 -3 -6 -5 -1 0 -0 0 0 -2 -10 -15 -18 -17 -13 -6 -2 0 -1 -5 -7 -9 -10 -8 -3 0 -2 -5 -7 -6 -3 -1 -0 -1 -4 -4 -2 1 2 -2 -10 -13 -10 -3 4 1 -5 -8 -7 -2 -2 -8 -14 -16 -7 3 4 -3 -13 -16 -14 -13 -12 -11 -8 -7 -7 -5 0 11 16 15 8 3 1 -0 -3 -6 -8 -10 -14 -16 -16 -9 -4 -3 -4 -5 -4 -6 -9 -10 -7 0 6 5 1 -4 -6 -5 -4 -4 -8 -15 -16 -14 -12 -11 -13 -14 -13 -10 -3 1 3 3 3 3 2 0 -2 -3 -2 4 9 12 12 9 5 2 -1 -4 -5 -3 -2 1 6 14 24 31 34 32 26 19 15 12 9 7 2 -2 -7 -11 -15 -17 -14 -5 8 17 19 17 13 9 2 -4 -10 -15 -19 -22 -21 -18 -15 -14 -15 -11 -8 -7 -8 -11 -13 -14 -12 -9 -8 -8 -7 -5 -4 -5 -8 -10 -13 -14 -13 -10 -7 -7 -12 -17 -21 -23 -23 -21 -16 -14 -16 -19 -22 -25 -24 -21 -18 -17 -18 -19 -18 -18 -19 -21 -22 -22 -19 -19 -18 -17 -16 -17 -18 -19 -19 -19 -20 -20 -18 -17 -15 -15 -17 -18 -19 -20 -21 -24 -26 -27 -29 -29 -28 -27 -25 -24 -25 -26 -24 -21 -18 -19 -20 -21 -22 -22 -19 -17 -16 -16 -17 -18 -17 -16 -15 -17 -19 -21 -21 -20 -20 -17 -16 -17 -21 -24 -25 -25 -23 -20 -19 -20 -22 -24 -26 -24 -17 -15 -16 -22 -3 -4 -11 -19 -30 -36 -39 -39 -36 -32 -14 11 36 52 56 46 19 -14 -33 -30 -24 -20 -17 -15 -12 -10 -11 -12 -12 -10 -9 -9 -8 -9 -10 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -3 -3 -4 -5 -5 -5 -6 -7 -7 -8 -9 -9 -9 -8 -6 -5 -3 -2 -3 -5 -5 -5 -6 -6 -5 -4 -2 -1 -1 -1 -1 -1 -3 -6 -8 -9 -12 -17 -19 -19 -17 -13 -8 -6 -4 -4 -1 1 2 3 3 2 1 -0 -2 -4 -3 -1 -0 -0 -2 -4 -5 -6 -6 -6 -6 -0 8 16 16 7 -1 -4 -2 -0 -1 -1 -0 1 -2 -9 -14 -16 -16 -15 -9 -3 1 -1 -4 -8 -10 -11 -8 -1 1 -0 -3 -5 -4 -3 -2 -2 -3 -4 -3 -1 -0 -0 -5 -10 -12 -7 2 4 -0 -6 -8 -4 -0 -3 -10 -17 -14 -4 1 -2 -11 -15 -13 -11 -9 -10 -9 -8 -8 -8 -5 4 15 18 14 7 2 1 -1 -4 -7 -8 -12 -16 -17 -12 -5 -3 -4 -5 -4 -5 -8 -10 -9 -3 3 4 1 -3 -7 -8 -6 -4 -4 -11 -14 -13 -10 -9 -12 -15 -14 -10 -2 2 2 2 1 1 2 1 1 -1 -1 1 6 10 11 9 6 3 1 -1 -3 -5 -6 -6 -4 0 7 17 25 30 28 24 19 15 12 10 6 1 -4 -9 -13 -16 -14 -7 6 19 22 20 16 13 8 2 -5 -12 -18 -22 -22 -20 -18 -17 -17 -14 -11 -9 -8 -9 -12 -15 -15 -12 -10 -8 -7 -5 -4 -5 -7 -10 -12 -14 -13 -11 -8 -7 -10 -15 -19 -21 -22 -22 -18 -16 -15 -18 -23 -25 -24 -21 -17 -17 -18 -18 -18 -17 -19 -21 -22 -21 -20 -19 -18 -18 -17 -17 -17 -17 -18 -18 -19 -19 -18 -15 -13 -14 -16 -19 -22 -22 -22 -25 -26 -27 -28 -29 -29 -29 -26 -23 -24 -25 -24 -22 -20 -19 -19 -19 -19 -19 -18 -17 -15 -16 -16 -18 -18 -18 -17 -17 -19 -20 -21 -21 -20 -17 -15 -15 -20 -24 -25 -26 -25 -21 -19 -19 -20 -21 -24 -24 -19 -13 -11 -19 -19 -17 -15 -19 -28 -33 -37 -39 -37 -32 -25 -9 12 32 43 36 11 -19 -26 -27 -24 -21 -20 -19 -16 -14 -12 -13 -13 -12 -10 -9 -9 -11 -13 -6 -6 -6 -6 -5 -5 -5 -4 -3 -3 -3 -2 -2 -3 -3 -4 -5 -5 -6 -6 -5 -5 -4 -5 -7 -10 -11 -10 -8 -4 -1 -1 -2 -3 -3 -3 -4 -5 -4 -2 -1 -3 -4 -4 -3 -4 -7 -9 -9 -10 -14 -17 -19 -19 -15 -11 -7 -5 -5 -5 -4 -1 1 3 3 3 2 -0 -3 -4 -3 -2 -1 -1 -2 -3 -5 -6 -7 -9 -7 0 12 22 20 12 4 1 1 -0 -2 -2 -0 0 -4 -8 -12 -15 -15 -12 -7 -2 0 -2 -5 -9 -12 -12 -7 -1 1 0 -2 -2 -2 -2 -2 -3 -3 -3 -2 -1 -0 -2 -6 -10 -12 -6 2 2 -2 -8 -7 -0 1 -5 -14 -16 -9 -4 -5 -11 -17 -14 -10 -6 -5 -7 -7 -8 -8 -9 -4 8 18 21 15 7 3 0 -2 -4 -6 -10 -14 -16 -14 -7 -4 -4 -5 -5 -6 -7 -9 -9 -5 1 2 1 -3 -7 -10 -11 -8 -5 -7 -11 -12 -9 -6 -9 -15 -17 -13 -3 3 4 2 0 -1 -1 0 1 1 1 2 4 6 8 7 6 4 2 0 -2 -6 -9 -10 -8 -7 -6 -2 7 19 26 27 23 18 13 12 9 4 -1 -6 -9 -11 -12 -9 0 16 23 23 18 14 11 6 -1 -8 -16 -21 -22 -21 -19 -17 -16 -13 -12 -11 -10 -10 -12 -14 -15 -14 -13 -10 -8 -6 -3 -4 -6 -9 -11 -13 -13 -12 -9 -7 -8 -12 -17 -20 -22 -22 -19 -16 -14 -17 -23 -23 -21 -19 -17 -16 -17 -18 -17 -15 -17 -20 -22 -21 -20 -19 -18 -18 -18 -17 -16 -16 -16 -16 -18 -18 -17 -15 -13 -13 -15 -19 -23 -24 -25 -26 -26 -25 -26 -28 -29 -29 -27 -24 -23 -23 -23 -23 -21 -20 -18 -17 -17 -17 -17 -16 -15 -15 -16 -17 -19 -20 -19 -18 -18 -19 -20 -22 -20 -18 -15 -14 -17 -22 -25 -27 -26 -22 -20 -19 -18 -17 -21 -22 -19 -14 -10 -15 -18 -21 -25 -26 -30 -34 -37 -39 -39 -34 -28 -19 -6 9 18 15 -0 -20 -25 -27 -26 -24 -23 -22 -20 -17 -15 -14 -14 -13 -12 -11 -10 -12 -15 -6 -6 -6 -6 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -5 -3 -2 -1 -1 -3 -8 -11 -13 -13 -10 -5 -3 -3 -3 -2 -1 -2 -3 -3 -2 -2 -3 -5 -6 -5 -5 -8 -10 -11 -10 -10 -13 -16 -18 -17 -14 -10 -6 -4 -5 -4 -4 -3 -1 1 2 2 2 -0 -2 -3 -3 -3 -2 -2 -3 -3 -5 -7 -11 -12 -10 -2 13 23 22 16 9 7 4 1 -2 -2 -0 -1 -4 -7 -10 -13 -13 -11 -8 -3 -2 -3 -6 -10 -13 -11 -6 -1 1 0 0 -0 -1 -2 -3 -3 -3 -2 -1 -0 0 -3 -7 -12 -12 -5 -0 -1 -5 -8 -3 1 -0 -7 -13 -11 -7 -7 -12 -19 -19 -13 -5 -0 -3 -5 -6 -7 -9 -10 -2 11 23 23 14 7 3 1 -2 -4 -8 -12 -15 -15 -9 -6 -4 -6 -6 -6 -7 -8 -8 -6 -2 1 0 -3 -7 -12 -15 -15 -10 -6 -8 -9 -7 -4 -6 -13 -18 -17 -6 3 5 3 1 -2 -2 -1 -1 1 2 3 4 5 5 5 6 4 3 0 -3 -8 -12 -13 -12 -10 -11 -12 -9 0 14 23 25 21 15 13 11 7 2 -3 -5 -6 -8 -11 -10 7 20 24 20 14 12 8 3 -4 -13 -19 -21 -21 -20 -17 -14 -12 -12 -13 -13 -12 -13 -14 -14 -14 -14 -13 -11 -8 -4 -3 -5 -7 -10 -12 -13 -12 -10 -7 -7 -10 -15 -19 -22 -20 -19 -18 -15 -16 -25 -24 -20 -17 -17 -16 -17 -17 -17 -15 -16 -19 -21 -21 -20 -19 -19 -18 -19 -19 -17 -15 -14 -14 -16 -17 -17 -15 -13 -12 -14 -17 -21 -23 -26 -27 -25 -23 -24 -26 -28 -28 -27 -24 -22 -22 -23 -23 -22 -21 -18 -17 -15 -17 -17 -16 -16 -16 -16 -17 -19 -22 -21 -18 -17 -18 -19 -20 -20 -19 -16 -13 -15 -20 -24 -26 -26 -24 -22 -19 -17 -14 -18 -19 -18 -15 -13 -14 -15 -17 -21 -28 -35 -37 -38 -40 -41 -37 -31 -23 -14 -5 1 2 -5 -19 -26 -29 -30 -28 -25 -24 -22 -19 -17 -15 -14 -14 -13 -12 -11 -13 -16 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -5 -4 -2 0 2 1 -3 -7 -10 -10 -9 -6 -5 -5 -5 -4 -4 -4 -4 -3 -2 -2 -4 -5 -6 -6 -6 -8 -9 -11 -12 -11 -11 -13 -15 -16 -15 -12 -8 -5 -4 -4 -4 -4 -3 -1 -0 0 0 0 -0 -1 -2 -2 -3 -3 -3 -2 -3 -6 -9 -13 -15 -12 -4 13 24 25 19 14 12 7 1 -3 -2 -0 -1 -3 -6 -9 -11 -12 -11 -8 -4 -2 -3 -6 -10 -12 -10 -6 -2 -0 1 1 0 -1 -3 -4 -3 -2 -2 -2 0 0 -3 -8 -12 -9 -5 -2 -3 -8 -7 -3 -0 -3 -10 -11 -9 -8 -11 -18 -20 -18 -12 -3 0 -0 -1 -3 -7 -12 -11 -2 12 24 21 14 8 3 0 -2 -5 -9 -12 -14 -10 -7 -5 -6 -7 -7 -6 -6 -7 -7 -3 0 1 -1 -6 -13 -19 -21 -19 -11 -6 -5 -4 -3 -3 -9 -16 -17 -10 0 4 4 1 -2 -2 -2 -2 -1 0 3 4 5 5 5 5 4 3 1 -3 -9 -14 -16 -15 -12 -12 -14 -17 -15 -6 8 17 19 15 11 9 6 2 -3 -5 -5 -7 -13 -20 -7 10 21 22 16 13 10 6 -1 -9 -16 -20 -21 -20 -17 -13 -11 -11 -13 -13 -13 -14 -15 -15 -13 -12 -13 -15 -14 -7 -3 -2 -5 -9 -11 -12 -12 -11 -8 -7 -9 -13 -17 -20 -19 -20 -19 -16 -16 -25 -26 -22 -16 -16 -16 -17 -17 -17 -16 -15 -16 -19 -21 -20 -19 -19 -19 -19 -20 -19 -17 -14 -13 -15 -16 -16 -15 -14 -12 -12 -15 -19 -22 -25 -26 -25 -22 -22 -24 -26 -26 -27 -24 -22 -21 -22 -23 -23 -22 -19 -17 -14 -16 -17 -18 -18 -17 -17 -18 -20 -22 -21 -19 -18 -17 -18 -19 -20 -19 -17 -13 -13 -17 -22 -25 -26 -25 -23 -21 -18 -14 -16 -17 -16 -15 -14 -15 -14 -14 -16 -21 -31 -37 -38 -39 -41 -39 -33 -26 -18 -11 -6 -4 -7 -18 -27 -29 -30 -30 -26 -24 -23 -21 -19 -16 -15 -14 -14 -12 -11 -12 -16 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -5 -6 -7 -7 -7 -6 -6 -5 -4 -3 -1 -0 0 -0 -2 -4 -6 -7 -6 -6 -6 -7 -8 -7 -7 -6 -4 -2 -2 -3 -4 -5 -6 -7 -8 -9 -11 -14 -15 -14 -13 -13 -14 -13 -12 -9 -6 -4 -3 -3 -3 -3 -1 -1 -2 -2 -2 -1 -0 -0 -1 -2 -3 -3 -3 -3 -5 -7 -11 -14 -17 -15 -3 13 24 26 24 21 15 7 -1 -3 -2 0 0 -2 -5 -8 -10 -11 -10 -8 -4 -3 -4 -7 -10 -11 -10 -6 -2 -0 1 1 0 -2 -4 -4 -3 -2 -3 -1 1 2 -1 -6 -9 -8 -5 -4 -7 -9 -7 -3 -3 -7 -9 -9 -8 -11 -18 -20 -19 -16 -11 -4 -0 2 2 -1 -8 -13 -12 -4 13 21 20 14 8 4 1 -1 -5 -9 -12 -10 -6 -4 -5 -7 -6 -5 -4 -5 -6 -4 -1 2 0 -6 -14 -21 -26 -26 -17 -7 -1 -0 -0 -0 -5 -12 -16 -13 -3 2 3 1 -2 -2 -2 -2 -2 -2 0 3 5 5 4 4 3 3 1 -2 -8 -14 -17 -17 -13 -12 -14 -18 -23 -21 -11 1 11 13 9 7 5 1 -4 -8 -9 -9 -11 -18 -15 -4 10 21 21 17 13 9 3 -5 -12 -17 -20 -20 -17 -12 -10 -10 -12 -13 -13 -14 -16 -17 -15 -12 -12 -15 -17 -12 -6 -2 -2 -7 -10 -12 -12 -12 -9 -7 -8 -11 -15 -19 -19 -21 -21 -18 -15 -23 -25 -21 -17 -16 -16 -17 -17 -16 -17 -16 -15 -16 -20 -20 -20 -20 -19 -19 -21 -21 -19 -16 -13 -14 -15 -15 -15 -14 -12 -11 -12 -17 -21 -25 -27 -26 -22 -21 -23 -24 -25 -27 -25 -23 -21 -21 -23 -23 -22 -20 -17 -14 -15 -18 -20 -21 -19 -18 -19 -21 -23 -20 -19 -17 -16 -17 -18 -19 -19 -18 -13 -12 -15 -19 -22 -25 -26 -24 -22 -20 -18 -16 -15 -14 -15 -15 -15 -15 -14 -14 -16 -23 -30 -33 -35 -36 -35 -32 -27 -21 -14 -10 -8 -9 -17 -25 -28 -28 -29 -27 -25 -24 -22 -19 -17 -16 -15 -14 -12 -10 -11 -15 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -6 -7 -7 -7 -7 -5 -5 -4 -4 -4 -3 -2 -1 0 0 0 -1 -2 -3 -3 -4 -6 -8 -11 -10 -8 -6 -5 -3 -2 -2 -3 -3 -4 -6 -7 -8 -11 -15 -18 -17 -15 -12 -12 -11 -10 -8 -6 -3 -2 -2 -1 -0 0 -0 -2 -3 -4 -3 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -8 -12 -16 -17 -14 -3 11 24 30 28 23 14 5 -2 -3 -1 1 0 -3 -6 -7 -9 -10 -9 -7 -5 -3 -4 -7 -10 -10 -9 -5 -2 -0 1 1 -1 -4 -4 -3 -1 -2 -2 -1 2 2 -1 -7 -9 -9 -6 -7 -9 -9 -7 -4 -6 -8 -7 -7 -9 -15 -18 -19 -18 -15 -11 -6 -1 3 4 -1 -8 -12 -11 -3 11 19 19 13 8 6 3 -1 -5 -10 -9 -7 -5 -5 -6 -6 -5 -3 -2 -3 -4 -3 0 1 -5 -14 -23 -28 -30 -24 -10 -0 4 3 3 -1 -6 -12 -12 -6 -1 2 1 -3 -4 -3 -1 -2 -2 -2 0 3 5 4 4 3 3 2 -1 -7 -13 -17 -17 -14 -11 -11 -15 -22 -27 -25 -16 -2 8 8 6 4 1 -5 -11 -14 -13 -10 -11 -14 -12 -4 9 18 19 16 13 9 3 -4 -11 -16 -18 -16 -12 -10 -10 -12 -12 -13 -14 -16 -16 -17 -14 -11 -12 -15 -14 -10 -4 -1 -4 -8 -11 -12 -13 -11 -8 -7 -9 -13 -17 -19 -21 -22 -19 -16 -21 -24 -21 -18 -16 -16 -17 -17 -17 -17 -16 -15 -14 -17 -19 -20 -20 -20 -20 -21 -22 -22 -19 -15 -13 -13 -14 -15 -15 -13 -11 -10 -14 -21 -27 -29 -28 -22 -22 -22 -23 -25 -25 -25 -24 -22 -21 -21 -22 -22 -21 -19 -14 -15 -17 -19 -20 -19 -18 -19 -20 -21 -19 -17 -16 -16 -16 -18 -19 -19 -18 -13 -11 -13 -17 -20 -23 -25 -25 -23 -22 -19 -16 -14 -14 -15 -16 -16 -16 -16 -15 -14 -17 -21 -26 -29 -30 -30 -28 -26 -22 -17 -14 -13 -11 -15 -22 -26 -27 -28 -28 -26 -24 -23 -21 -19 -18 -17 -15 -12 -10 -10 -13 -4 -5 -5 -5 -4 -3 -4 -4 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -0 0 1 1 1 1 1 -1 -4 -8 -11 -10 -7 -6 -4 -2 -1 -2 -2 -3 -2 -3 -4 -5 -7 -11 -16 -17 -16 -13 -10 -8 -7 -6 -5 -3 -2 -1 0 1 2 2 1 -2 -5 -5 -5 -5 -3 -2 -1 -1 -2 -4 -4 -5 -6 -8 -13 -16 -16 -13 -5 8 23 30 29 23 13 2 -3 -2 -0 1 -0 -3 -5 -6 -7 -9 -9 -7 -5 -3 -4 -7 -9 -9 -7 -4 -2 -0 -0 -1 -4 -5 -3 0 1 -1 -1 -0 2 2 -3 -8 -10 -8 -7 -9 -9 -8 -6 -6 -7 -7 -6 -7 -12 -16 -18 -18 -16 -14 -12 -8 -2 3 3 -2 -8 -12 -12 -3 9 17 17 13 10 6 2 -1 -5 -7 -6 -5 -4 -6 -6 -5 -3 -1 -1 -3 -4 -2 0 -4 -13 -23 -29 -31 -28 -16 -3 5 7 7 4 -0 -6 -10 -8 -4 1 2 -2 -4 -4 -3 -2 -2 -2 -1 0 3 3 3 3 3 3 1 -4 -11 -16 -18 -14 -10 -8 -10 -17 -25 -29 -25 -13 3 8 8 6 3 -4 -12 -17 -18 -13 -8 -10 -12 -11 -5 7 15 18 17 15 10 3 -4 -11 -16 -16 -13 -11 -10 -12 -12 -13 -14 -16 -16 -17 -15 -12 -11 -13 -14 -13 -9 -4 -4 -7 -10 -13 -14 -13 -10 -7 -7 -11 -16 -19 -22 -24 -22 -18 -21 -24 -23 -19 -18 -17 -17 -18 -18 -17 -16 -15 -13 -15 -18 -20 -20 -20 -21 -22 -23 -23 -22 -17 -14 -12 -12 -14 -15 -14 -12 -10 -11 -20 -27 -31 -29 -23 -22 -22 -23 -24 -24 -25 -25 -23 -20 -20 -21 -21 -20 -19 -15 -14 -15 -17 -17 -18 -19 -20 -19 -19 -17 -17 -17 -17 -17 -18 -18 -18 -18 -15 -13 -13 -16 -18 -21 -23 -25 -25 -24 -20 -16 -14 -14 -15 -15 -16 -17 -18 -16 -15 -15 -16 -19 -23 -25 -25 -25 -23 -21 -18 -16 -15 -12 -13 -19 -24 -27 -27 -27 -26 -25 -23 -22 -21 -20 -19 -16 -12 -10 -10 -12 -5 -5 -5 -4 -4 -4 -4 -5 -6 -5 -5 -5 -5 -4 -4 -5 -5 -4 -3 -3 -2 -2 -2 -1 -1 -0 0 1 3 4 3 1 -3 -7 -9 -7 -5 -4 -3 -2 -2 -3 -3 -4 -3 -3 -3 -3 -3 -4 -9 -13 -15 -14 -11 -7 -4 -3 -3 -2 -1 1 1 2 2 3 3 1 -2 -4 -5 -7 -7 -6 -3 -1 -0 -1 -3 -4 -4 -5 -7 -13 -15 -14 -12 -8 4 20 29 31 23 11 2 -2 -2 0 1 -1 -2 -4 -5 -7 -9 -9 -8 -5 -3 -4 -7 -9 -9 -6 -3 -2 -2 -4 -6 -6 -4 1 3 2 0 0 2 4 -0 -5 -9 -9 -8 -9 -10 -9 -7 -6 -7 -7 -6 -6 -10 -15 -17 -17 -15 -14 -14 -12 -8 -1 2 1 -3 -9 -14 -13 -4 7 17 18 14 9 5 2 0 -2 -3 -3 -3 -5 -6 -5 -3 -1 0 -1 -3 -4 -3 -5 -13 -22 -29 -31 -30 -22 -10 2 8 9 8 5 -0 -6 -9 -7 -2 3 1 -2 -4 -3 -2 -2 -2 -2 -1 0 1 2 2 3 4 3 -1 -8 -14 -17 -14 -10 -8 -8 -12 -20 -26 -26 -17 -1 8 11 9 6 -1 -11 -18 -22 -19 -10 -8 -9 -12 -13 -4 6 14 17 16 14 10 4 -4 -12 -14 -13 -11 -10 -11 -11 -12 -14 -16 -16 -16 -16 -14 -12 -13 -14 -14 -11 -7 -6 -8 -11 -13 -15 -16 -13 -9 -7 -10 -15 -18 -21 -25 -25 -20 -21 -24 -24 -22 -20 -18 -18 -18 -19 -18 -17 -16 -14 -15 -17 -19 -20 -21 -21 -22 -22 -23 -23 -19 -15 -12 -10 -12 -14 -16 -15 -11 -11 -18 -25 -30 -30 -26 -24 -23 -22 -22 -22 -23 -24 -22 -19 -20 -21 -21 -20 -19 -16 -15 -15 -15 -16 -18 -20 -20 -19 -18 -17 -17 -17 -19 -18 -17 -16 -17 -19 -17 -15 -14 -16 -17 -19 -22 -24 -25 -25 -21 -17 -15 -15 -15 -15 -16 -17 -19 -18 -17 -16 -15 -15 -18 -20 -22 -22 -20 -19 -18 -17 -15 -14 -13 -17 -22 -27 -26 -27 -26 -25 -23 -23 -23 -21 -19 -17 -13 -11 -10 -12 -6 -6 -5 -5 -4 -4 -5 -6 -6 -5 -4 -4 -4 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -1 -0 1 3 3 1 -2 -5 -7 -5 -4 -3 -3 -4 -5 -5 -5 -5 -6 -6 -6 -7 -7 -6 -6 -9 -12 -14 -14 -9 -4 -2 -0 1 1 2 2 3 2 3 3 3 2 0 -3 -7 -10 -10 -7 -4 -1 1 -0 -2 -3 -2 -2 -7 -12 -14 -13 -11 -9 2 16 27 29 21 12 3 -2 -1 1 1 -1 -2 -3 -5 -7 -9 -9 -6 -2 -1 -3 -7 -9 -8 -5 -3 -2 -4 -6 -8 -7 -3 2 2 1 0 1 3 1 -2 -6 -8 -7 -8 -10 -11 -9 -6 -6 -7 -6 -6 -9 -13 -16 -16 -13 -13 -13 -14 -12 -7 -2 0 -1 -6 -12 -17 -15 -5 9 18 18 13 6 2 2 2 1 -1 -2 -4 -5 -5 -4 -1 1 0 -2 -5 -5 -6 -12 -20 -27 -31 -31 -28 -20 -8 3 7 9 8 4 -2 -9 -11 -7 1 4 2 0 -1 -2 -2 -2 -2 -2 -1 -1 0 1 2 4 5 2 -4 -10 -14 -13 -10 -8 -9 -11 -17 -22 -21 -12 -4 8 14 14 9 2 -8 -17 -24 -24 -15 -9 -7 -10 -14 -11 -3 5 10 12 13 12 9 3 -5 -9 -10 -10 -9 -9 -10 -11 -13 -14 -16 -16 -16 -15 -13 -13 -14 -15 -13 -10 -8 -8 -10 -12 -14 -16 -16 -12 -8 -9 -14 -17 -21 -25 -27 -21 -20 -23 -25 -23 -21 -20 -19 -18 -19 -18 -17 -15 -14 -15 -16 -18 -20 -21 -22 -22 -22 -22 -23 -20 -16 -13 -10 -11 -14 -17 -17 -14 -12 -16 -22 -28 -29 -27 -24 -23 -22 -21 -19 -20 -21 -20 -19 -21 -22 -22 -20 -19 -17 -16 -16 -16 -17 -19 -20 -20 -19 -18 -17 -17 -18 -19 -18 -16 -16 -17 -19 -18 -16 -15 -16 -17 -18 -21 -23 -24 -24 -21 -18 -17 -16 -16 -16 -16 -17 -19 -20 -20 -19 -18 -15 -17 -18 -20 -21 -20 -18 -18 -18 -16 -15 -13 -14 -19 -25 -25 -25 -26 -25 -23 -23 -23 -21 -19 -17 -15 -13 -11 -11 -6 -6 -5 -5 -5 -5 -5 -6 -5 -5 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -2 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -7 -8 -7 -6 -5 -6 -7 -9 -11 -12 -14 -13 -10 -9 -10 -9 -7 -4 -0 2 4 4 5 5 4 2 2 2 2 2 -0 -5 -10 -13 -11 -7 -3 1 3 1 -0 -0 -0 -3 -9 -12 -12 -12 -12 -8 -0 11 21 23 21 14 6 2 2 2 0 -1 -2 -4 -5 -7 -8 -8 -4 -1 -0 -3 -7 -8 -7 -4 -2 -2 -4 -6 -8 -7 -3 -0 -0 -1 -1 2 4 2 -2 -6 -7 -8 -9 -11 -10 -7 -5 -5 -6 -7 -9 -13 -16 -17 -14 -11 -11 -13 -13 -10 -5 -2 -1 -4 -9 -16 -19 -15 -2 14 18 15 9 3 3 5 6 4 1 -1 -3 -4 -4 -3 0 1 -0 -3 -5 -6 -11 -17 -25 -30 -31 -31 -27 -19 -6 1 3 4 6 2 -7 -13 -13 -5 1 4 5 4 1 -2 -3 -2 -2 -1 -1 -0 1 2 3 5 4 1 -5 -10 -11 -10 -9 -9 -12 -16 -20 -21 -17 -8 4 14 18 13 4 -4 -14 -23 -27 -19 -11 -7 -8 -13 -13 -8 -2 2 3 5 8 10 9 4 -2 -6 -8 -8 -8 -10 -11 -12 -12 -16 -17 -17 -16 -14 -13 -14 -15 -15 -12 -10 -9 -9 -10 -11 -15 -16 -14 -10 -9 -13 -17 -21 -25 -27 -20 -18 -21 -26 -22 -21 -21 -19 -19 -20 -19 -17 -14 -14 -14 -16 -17 -19 -20 -21 -22 -21 -21 -21 -20 -17 -14 -11 -11 -14 -17 -18 -15 -13 -15 -21 -25 -27 -25 -24 -22 -21 -20 -17 -17 -18 -19 -20 -22 -23 -22 -20 -19 -18 -17 -16 -18 -19 -20 -20 -19 -19 -18 -17 -17 -18 -18 -18 -17 -17 -17 -19 -18 -16 -15 -16 -17 -18 -20 -22 -22 -21 -19 -18 -17 -17 -17 -16 -16 -17 -19 -21 -22 -21 -19 -17 -16 -17 -19 -22 -21 -19 -18 -18 -17 -15 -12 -11 -15 -22 -24 -24 -24 -24 -22 -23 -23 -21 -19 -18 -17 -15 -13 -11 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -6 -5 -4 -2 -1 -3 -3 -3 -4 -4 -2 -1 -1 -2 -4 -5 -5 -4 -4 -4 -5 -7 -10 -10 -8 -4 -4 -6 -10 -15 -20 -21 -19 -13 -8 -6 -5 -4 -2 1 3 5 7 7 6 5 3 1 0 1 1 -2 -7 -12 -13 -11 -6 -0 6 6 5 3 2 -0 -5 -9 -11 -11 -11 -11 -9 -3 6 15 20 19 15 10 8 6 4 1 -2 -3 -4 -6 -7 -8 -5 -1 1 -0 -4 -8 -8 -6 -2 0 -0 -3 -6 -8 -7 -4 -2 -2 -3 1 5 5 3 -2 -6 -7 -8 -9 -10 -8 -6 -4 -4 -6 -9 -13 -16 -17 -15 -12 -11 -12 -13 -11 -7 -3 -2 -3 -7 -14 -19 -20 -12 4 14 16 11 4 3 7 10 10 6 2 -1 -3 -4 -4 -2 -0 1 -0 -4 -6 -10 -15 -21 -27 -30 -31 -30 -26 -13 -3 2 3 4 3 -3 -10 -13 -12 -8 -2 5 9 7 1 -1 -2 -2 -0 1 1 2 2 2 3 4 4 0 -4 -7 -8 -7 -9 -12 -16 -18 -20 -22 -17 -4 10 19 16 7 -2 -11 -21 -26 -19 -12 -7 -6 -11 -14 -11 -7 -3 -3 -3 -0 5 9 8 5 0 -3 -5 -7 -9 -11 -12 -12 -16 -18 -19 -19 -16 -13 -14 -16 -16 -15 -12 -11 -10 -10 -10 -13 -16 -16 -14 -11 -12 -15 -21 -27 -24 -18 -17 -20 -25 -22 -20 -20 -20 -20 -21 -20 -18 -15 -14 -14 -15 -17 -18 -19 -21 -21 -20 -20 -20 -19 -17 -15 -13 -12 -15 -18 -18 -14 -12 -15 -20 -23 -25 -24 -23 -21 -18 -16 -15 -16 -17 -19 -21 -22 -22 -21 -18 -17 -16 -16 -17 -20 -21 -21 -20 -19 -18 -17 -16 -17 -19 -18 -19 -19 -19 -18 -19 -18 -16 -15 -16 -17 -18 -19 -20 -20 -18 -18 -18 -17 -17 -17 -17 -16 -17 -18 -21 -21 -20 -19 -16 -15 -16 -18 -21 -21 -19 -18 -18 -17 -16 -13 -10 -10 -16 -22 -24 -23 -23 -23 -23 -23 -21 -20 -20 -18 -16 -14 -11 -6 -6 -5 -5 -5 -4 -4 -5 -5 -5 -5 -6 -6 -6 -5 -5 -7 -7 -7 -6 -4 -2 -1 -1 -1 -3 -3 -2 -2 -3 -3 -2 -3 -4 -4 -5 -6 -5 -4 -2 -3 -4 -8 -13 -14 -8 -5 -4 -7 -11 -17 -23 -25 -21 -11 -5 -2 -2 -2 -1 1 3 5 7 7 7 6 4 -0 -1 -1 -1 -4 -9 -13 -12 -8 -3 5 8 8 7 6 4 -1 -6 -9 -10 -10 -11 -12 -10 -5 3 9 14 15 15 14 13 10 5 -0 -3 -4 -5 -6 -8 -6 -1 2 2 -1 -6 -8 -7 -5 -1 1 1 -3 -7 -9 -7 -5 -4 -4 -2 3 7 8 4 -3 -6 -7 -8 -9 -9 -7 -4 -2 -4 -8 -12 -16 -18 -17 -14 -12 -12 -13 -12 -7 -3 -1 -2 -6 -12 -17 -20 -18 -7 7 14 12 4 2 6 12 15 12 6 2 -1 -2 -4 -4 -3 -0 1 -2 -5 -9 -13 -18 -23 -27 -30 -31 -30 -19 -5 3 4 2 2 -1 -5 -10 -13 -15 -12 -4 6 10 6 3 0 -1 0 4 6 6 5 4 2 3 4 4 1 -3 -4 -4 -6 -10 -14 -17 -19 -24 -22 -13 1 16 19 11 1 -9 -18 -25 -20 -12 -6 -4 -10 -14 -14 -10 -5 -4 -7 -8 -5 2 7 7 5 2 -0 -4 -7 -9 -11 -13 -16 -18 -20 -21 -18 -15 -14 -15 -16 -17 -15 -13 -11 -10 -10 -12 -16 -18 -18 -15 -13 -14 -19 -27 -22 -17 -16 -18 -23 -21 -19 -19 -20 -21 -21 -21 -20 -17 -16 -14 -15 -16 -18 -19 -20 -21 -20 -19 -19 -19 -18 -15 -14 -13 -15 -18 -18 -13 -11 -14 -20 -22 -23 -23 -22 -20 -16 -14 -14 -15 -17 -20 -22 -21 -21 -19 -16 -15 -15 -15 -17 -21 -22 -21 -20 -19 -18 -16 -15 -17 -20 -20 -21 -21 -20 -18 -18 -17 -16 -15 -15 -17 -18 -18 -17 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -18 -19 -20 -20 -19 -17 -15 -15 -16 -19 -19 -19 -18 -17 -18 -16 -13 -10 -7 -11 -19 -23 -23 -24 -24 -24 -23 -21 -21 -21 -20 -17 -15 -13 -6 -5 -4 -4 -5 -4 -4 -5 -5 -6 -5 -5 -6 -7 -8 -7 -7 -6 -5 -3 -1 -0 -0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -4 -5 -5 -5 -5 -5 -4 -2 -2 -3 -6 -12 -17 -14 -9 -7 -6 -8 -11 -16 -21 -23 -16 -6 -0 1 0 -0 0 1 2 4 6 8 8 6 2 -1 -2 -2 -2 -5 -9 -10 -9 -6 0 5 9 11 12 9 2 -3 -7 -8 -8 -11 -12 -12 -10 -5 -1 3 7 10 13 16 16 12 5 -1 -4 -4 -5 -6 -5 -1 3 5 2 -3 -6 -7 -6 -3 0 2 0 -4 -8 -8 -6 -5 -5 -6 -2 5 10 10 2 -4 -6 -6 -7 -8 -7 -4 -1 -2 -6 -11 -16 -19 -19 -15 -13 -12 -14 -15 -10 -4 -0 0 -3 -9 -15 -19 -20 -15 -2 9 14 8 2 4 11 19 20 13 7 3 1 -2 -4 -4 -3 0 0 -3 -7 -11 -15 -19 -23 -27 -31 -31 -23 -8 3 6 2 1 -0 -2 -5 -9 -15 -17 -13 -4 5 6 6 4 3 3 7 11 14 14 10 5 3 2 3 3 2 1 -0 -2 -7 -11 -14 -18 -22 -23 -18 -8 6 16 14 6 -5 -16 -24 -22 -15 -7 -4 -8 -13 -16 -15 -10 -4 -5 -9 -11 -8 -1 4 7 7 5 1 -3 -7 -10 -13 -16 -19 -21 -22 -19 -16 -15 -16 -16 -17 -15 -14 -13 -12 -11 -12 -16 -19 -20 -17 -14 -13 -18 -25 -21 -17 -16 -17 -20 -21 -20 -19 -20 -20 -20 -21 -21 -20 -17 -15 -14 -16 -18 -19 -20 -21 -20 -18 -18 -18 -18 -17 -15 -14 -16 -18 -17 -13 -10 -12 -19 -22 -22 -21 -20 -18 -15 -13 -13 -14 -16 -20 -20 -19 -18 -17 -15 -15 -16 -16 -17 -20 -22 -21 -20 -19 -19 -17 -15 -16 -19 -20 -20 -21 -20 -18 -17 -17 -16 -15 -15 -17 -17 -16 -16 -17 -17 -18 -18 -18 -18 -18 -17 -17 -17 -19 -18 -19 -20 -20 -19 -17 -16 -15 -17 -18 -19 -20 -18 -18 -16 -14 -11 -7 -8 -15 -21 -22 -23 -24 -24 -22 -21 -21 -21 -20 -18 -17 -15 -6 -5 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -8 -7 -5 -3 -2 -1 -0 0 0 -0 -1 -2 -3 -3 -3 -3 -4 -4 -5 -5 -4 -4 -4 -4 -3 -3 -3 -5 -10 -16 -16 -13 -10 -9 -9 -8 -9 -13 -16 -16 -9 -3 2 3 2 2 2 1 1 4 6 7 6 5 3 -1 -3 -2 -2 -4 -6 -8 -8 -5 -0 6 12 16 15 7 1 -4 -6 -8 -10 -12 -13 -11 -7 -5 -3 -2 0 5 11 16 18 13 4 -2 -4 -4 -4 -4 -0 4 8 6 2 -2 -4 -6 -5 -2 1 2 -1 -6 -8 -7 -5 -6 -8 -7 -1 7 14 8 1 -4 -5 -5 -7 -8 -5 -1 0 -5 -11 -17 -21 -20 -17 -13 -12 -15 -17 -13 -7 -0 3 -0 -6 -12 -16 -19 -19 -11 1 12 12 4 2 7 17 25 21 14 9 5 3 -1 -3 -4 -2 -0 -2 -5 -9 -14 -17 -21 -26 -30 -31 -26 -13 1 8 4 0 -1 -1 -2 -5 -11 -16 -17 -12 -3 1 3 3 4 4 6 11 18 23 21 15 9 4 2 4 4 4 4 3 -2 -7 -11 -15 -19 -20 -18 -13 -5 7 13 9 -1 -13 -21 -23 -18 -10 -5 -7 -11 -15 -17 -15 -9 -5 -6 -10 -12 -10 -4 3 9 10 6 1 -4 -9 -13 -17 -20 -22 -21 -19 -16 -15 -15 -16 -16 -15 -14 -15 -15 -13 -13 -15 -20 -20 -17 -15 -14 -17 -22 -20 -18 -17 -16 -17 -19 -19 -19 -20 -19 -19 -20 -21 -21 -19 -16 -15 -15 -17 -19 -20 -21 -21 -18 -18 -18 -18 -18 -17 -15 -16 -18 -17 -12 -8 -9 -16 -22 -21 -19 -17 -14 -13 -13 -13 -13 -15 -19 -18 -17 -16 -15 -15 -16 -18 -18 -19 -20 -21 -20 -19 -19 -19 -17 -15 -14 -16 -19 -20 -20 -21 -19 -18 -17 -16 -15 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -18 -18 -18 -17 -18 -19 -18 -19 -20 -21 -20 -18 -16 -14 -16 -18 -20 -21 -19 -18 -17 -15 -11 -8 -7 -11 -18 -22 -23 -24 -24 -23 -22 -21 -21 -21 -20 -18 -16 -6 -5 -6 -6 -6 -5 -4 -4 -5 -7 -9 -8 -8 -6 -5 -4 -3 -3 -3 -3 -2 -0 1 0 -0 -1 -2 -3 -4 -4 -3 -4 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -4 -7 -11 -13 -11 -10 -11 -11 -11 -9 -9 -9 -11 -10 -7 -2 2 4 4 4 3 1 2 3 3 3 5 6 3 0 -1 -1 -1 -2 -4 -7 -7 -4 1 9 18 21 14 7 1 -4 -6 -9 -13 -15 -14 -8 -4 -3 -4 -5 -6 -1 7 16 20 13 5 -1 -3 -2 -2 -0 4 9 11 8 4 -0 -3 -5 -3 -0 2 1 -3 -6 -7 -6 -6 -9 -10 -8 0 11 12 6 -1 -4 -3 -5 -7 -7 -3 -0 -3 -10 -16 -21 -22 -19 -14 -12 -14 -17 -17 -11 -3 4 2 -4 -9 -14 -17 -19 -16 -7 4 11 6 2 3 12 23 26 23 17 13 9 4 -1 -5 -5 -4 -2 -3 -7 -12 -17 -21 -25 -28 -30 -28 -18 -5 7 6 1 -1 -1 -0 -1 -7 -13 -17 -15 -9 -4 -2 -2 -1 -1 -1 2 9 19 24 24 20 14 8 5 4 5 8 9 4 -2 -8 -12 -16 -18 -17 -15 -13 -4 7 10 5 -7 -18 -22 -20 -13 -7 -7 -10 -13 -16 -17 -15 -10 -7 -7 -10 -12 -11 -6 4 11 9 5 -1 -6 -13 -18 -21 -22 -20 -18 -17 -15 -15 -16 -16 -15 -15 -16 -16 -14 -13 -15 -20 -20 -18 -16 -15 -15 -18 -20 -20 -18 -16 -16 -17 -18 -18 -20 -19 -18 -19 -20 -21 -20 -18 -15 -15 -17 -18 -19 -21 -21 -19 -18 -18 -18 -18 -17 -16 -17 -18 -17 -12 -6 -5 -13 -21 -21 -18 -13 -11 -12 -13 -13 -13 -14 -16 -16 -15 -15 -15 -15 -16 -17 -18 -18 -18 -19 -19 -19 -19 -19 -18 -15 -12 -14 -17 -20 -21 -22 -20 -19 -18 -17 -17 -16 -16 -16 -16 -17 -16 -16 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -19 -21 -21 -20 -19 -17 -14 -16 -18 -20 -21 -19 -18 -18 -17 -13 -9 -6 -8 -15 -22 -22 -22 -22 -23 -22 -22 -21 -22 -21 -20 -19 -6 -7 -7 -7 -5 -4 -4 -6 -8 -9 -9 -8 -4 -1 -0 -1 -1 -2 -3 -2 -1 0 0 -1 -1 -1 -2 -4 -6 -6 -5 -4 -4 -4 -4 -3 -1 -1 -1 -1 -2 -3 -3 -4 -6 -6 -5 -5 -7 -10 -14 -16 -14 -10 -7 -8 -9 -7 -3 1 2 4 5 3 2 2 1 1 4 5 5 4 2 -0 -0 0 -1 -3 -6 -6 -4 3 13 22 21 14 6 -0 -3 -7 -12 -17 -17 -11 -5 -2 -2 -4 -7 -10 -7 2 15 19 15 8 1 -0 0 0 2 7 13 13 10 6 1 -3 -4 -2 2 5 1 -3 -6 -7 -7 -8 -11 -12 -9 0 10 10 5 -1 -1 -2 -5 -7 -6 -3 -3 -8 -14 -20 -23 -20 -16 -12 -12 -16 -18 -15 -8 1 2 -1 -7 -12 -16 -18 -18 -14 -5 6 8 5 3 5 16 24 26 24 20 16 10 3 -2 -5 -4 -3 -3 -4 -9 -16 -21 -24 -27 -29 -28 -23 -12 3 6 1 -2 -2 -1 -1 -4 -10 -15 -16 -10 -7 -6 -7 -7 -6 -7 -8 -6 2 12 20 25 25 19 13 8 5 7 10 7 1 -5 -11 -15 -16 -16 -15 -16 -13 -3 6 9 1 -12 -20 -21 -15 -9 -8 -10 -12 -15 -17 -17 -14 -10 -8 -8 -10 -11 -12 -7 4 8 7 2 -4 -12 -18 -20 -21 -20 -18 -17 -16 -15 -15 -16 -16 -16 -17 -16 -15 -14 -16 -18 -20 -19 -17 -13 -12 -15 -20 -22 -20 -17 -16 -16 -16 -17 -18 -19 -18 -18 -20 -21 -20 -19 -17 -16 -17 -18 -19 -20 -21 -20 -19 -19 -18 -18 -17 -16 -17 -18 -18 -12 -5 -3 -9 -19 -20 -17 -13 -10 -11 -12 -13 -14 -13 -14 -15 -15 -15 -15 -15 -15 -16 -16 -16 -16 -17 -19 -19 -19 -19 -18 -16 -12 -11 -15 -19 -21 -23 -22 -20 -18 -18 -17 -17 -17 -16 -17 -16 -16 -16 -17 -18 -18 -19 -19 -19 -18 -18 -18 -18 -19 -21 -20 -20 -20 -18 -15 -15 -17 -19 -21 -20 -19 -18 -18 -15 -11 -7 -6 -12 -21 -21 -20 -21 -23 -24 -23 -22 -22 -22 -21 -20 -6 -7 -7 -5 -5 -5 -7 -10 -11 -9 -6 -2 0 1 1 -1 -1 -2 -2 -1 -0 -0 -1 -2 -3 -3 -4 -6 -7 -8 -7 -6 -5 -5 -5 -5 -3 -2 -2 -3 -5 -6 -6 -5 -5 -4 -2 -1 -2 -7 -12 -16 -15 -13 -9 -8 -8 -7 -5 -4 -3 -1 0 0 1 1 2 3 5 6 6 5 4 2 1 1 0 -0 -2 -3 -4 -3 3 12 18 17 11 4 1 -5 -11 -16 -17 -12 -7 -4 -3 -3 -5 -9 -12 -11 -4 11 19 17 10 4 4 2 1 2 9 16 18 16 9 2 -3 -4 -1 7 8 3 -3 -7 -8 -7 -8 -10 -12 -10 1 9 9 3 -0 -0 -3 -6 -8 -5 -3 -6 -12 -19 -22 -22 -18 -14 -12 -15 -17 -16 -12 -4 1 1 -3 -9 -14 -17 -18 -17 -12 -1 6 6 3 1 5 14 21 25 24 20 14 8 2 -2 -3 -4 -3 -3 -6 -13 -18 -21 -24 -28 -29 -26 -18 -5 2 1 -1 -2 -3 -2 -4 -9 -14 -16 -11 -7 -6 -8 -10 -8 -9 -11 -13 -11 -4 5 14 23 25 22 15 9 8 10 9 3 -3 -9 -13 -15 -14 -14 -16 -17 -12 -2 8 8 -4 -14 -19 -16 -11 -9 -9 -11 -14 -17 -18 -17 -14 -11 -9 -8 -10 -13 -14 -7 2 6 4 -3 -12 -17 -20 -20 -19 -18 -17 -16 -15 -14 -16 -17 -17 -16 -15 -15 -16 -16 -17 -18 -18 -16 -14 -13 -15 -20 -22 -20 -17 -16 -16 -16 -16 -17 -18 -18 -18 -19 -20 -21 -20 -20 -17 -17 -18 -20 -21 -21 -19 -19 -19 -19 -18 -17 -16 -16 -18 -19 -14 -6 -1 -6 -16 -19 -18 -15 -13 -12 -13 -14 -14 -13 -14 -14 -14 -15 -15 -15 -16 -16 -15 -14 -15 -16 -18 -19 -19 -19 -19 -17 -12 -10 -14 -18 -20 -24 -24 -22 -19 -19 -18 -18 -17 -17 -18 -17 -17 -17 -18 -18 -18 -19 -20 -19 -18 -18 -18 -18 -19 -20 -20 -20 -20 -19 -17 -15 -16 -18 -20 -20 -20 -19 -18 -17 -13 -8 -6 -11 -18 -19 -20 -21 -23 -25 -25 -23 -22 -22 -21 -21 -6 -7 -5 -5 -6 -8 -11 -11 -9 -5 -1 2 1 0 -1 -2 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -6 -5 -4 -3 -4 -7 -10 -11 -11 -10 -8 -7 -6 -7 -7 -7 -8 -10 -12 -11 -9 -7 -6 -6 -6 -5 -4 -3 -2 -2 -1 0 3 6 7 8 7 5 2 0 0 0 0 0 -1 -3 -4 -2 3 9 12 12 7 3 -2 -9 -14 -16 -12 -7 -4 -3 -3 -5 -8 -12 -14 -14 -5 8 17 17 12 9 6 3 0 3 13 22 25 21 13 3 -4 -4 4 13 11 5 -3 -8 -7 -6 -6 -9 -13 -8 1 7 6 2 2 1 -2 -6 -6 -4 -5 -9 -17 -22 -23 -21 -16 -12 -13 -15 -16 -15 -10 -3 0 -0 -5 -11 -15 -17 -18 -16 -9 1 6 5 0 -1 4 12 19 23 22 18 13 7 3 0 -2 -3 -2 -3 -8 -13 -19 -23 -27 -27 -25 -19 -10 -3 -1 -2 -3 -4 -3 -5 -9 -14 -17 -13 -7 -5 -7 -9 -8 -8 -9 -12 -13 -13 -10 -3 8 19 22 19 15 11 12 9 3 -3 -7 -10 -11 -12 -14 -16 -17 -16 -11 -0 10 4 -6 -15 -17 -12 -9 -9 -11 -13 -16 -18 -18 -16 -14 -11 -9 -8 -11 -15 -14 -7 0 3 -3 -10 -16 -19 -20 -19 -17 -16 -16 -15 -16 -17 -18 -18 -16 -14 -15 -16 -17 -16 -16 -16 -16 -16 -16 -16 -17 -19 -20 -17 -16 -16 -16 -17 -17 -18 -18 -18 -18 -20 -21 -21 -22 -18 -18 -19 -20 -21 -21 -21 -21 -21 -22 -19 -18 -17 -17 -18 -21 -16 -8 -1 -3 -13 -18 -19 -17 -17 -15 -15 -15 -14 -14 -14 -14 -14 -15 -15 -15 -16 -16 -14 -13 -14 -15 -17 -19 -19 -19 -19 -18 -12 -9 -12 -17 -19 -23 -25 -23 -20 -20 -19 -19 -18 -18 -19 -18 -18 -18 -18 -18 -18 -19 -20 -18 -18 -18 -18 -19 -20 -19 -20 -20 -20 -19 -18 -16 -15 -17 -20 -20 -20 -19 -18 -18 -15 -11 -8 -11 -17 -20 -21 -22 -23 -25 -25 -24 -23 -22 -21 -21 -6 -5 -5 -7 -9 -10 -10 -7 -2 1 2 1 -1 -1 -1 -1 0 -0 -1 -2 -2 -3 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -5 -6 -10 -13 -15 -14 -11 -8 -9 -12 -13 -12 -8 -5 -5 -7 -10 -9 -8 -6 -5 -6 -5 -4 -3 -3 -4 -3 -2 1 4 7 8 8 7 5 2 1 1 0 1 -0 -2 -2 -2 -1 2 5 7 7 4 -0 -5 -11 -14 -12 -7 -4 -2 -3 -6 -9 -11 -14 -16 -14 -6 5 14 15 13 11 7 3 1 7 18 27 30 23 11 -0 -6 -2 10 15 13 5 -3 -5 -4 -3 -6 -10 -11 -6 0 5 5 3 3 2 -1 -5 -4 -4 -6 -13 -20 -23 -22 -19 -14 -13 -13 -14 -15 -13 -8 -4 -1 -2 -8 -13 -16 -18 -18 -13 -6 2 6 4 -0 -1 2 9 17 21 21 18 13 9 5 1 -1 -3 -2 -4 -7 -12 -19 -24 -24 -22 -19 -13 -7 -5 -3 -3 -4 -4 -5 -8 -12 -16 -15 -10 -6 -5 -8 -8 -7 -7 -9 -11 -15 -17 -17 -10 3 11 14 15 15 14 9 3 -2 -5 -7 -8 -10 -12 -14 -16 -16 -14 -9 3 7 1 -8 -15 -11 -9 -9 -10 -12 -15 -17 -18 -16 -14 -13 -10 -8 -9 -14 -16 -14 -8 -2 -2 -9 -15 -19 -20 -19 -17 -16 -16 -15 -17 -18 -18 -18 -16 -13 -13 -15 -17 -17 -15 -15 -16 -18 -17 -16 -17 -18 -19 -18 -17 -16 -16 -17 -17 -17 -18 -19 -18 -19 -20 -21 -23 -19 -18 -19 -21 -21 -21 -23 -25 -25 -25 -20 -19 -18 -18 -19 -22 -18 -10 -2 -2 -9 -15 -18 -19 -20 -16 -14 -14 -14 -15 -14 -14 -14 -14 -15 -15 -17 -17 -14 -13 -13 -14 -16 -18 -18 -19 -20 -19 -12 -8 -9 -16 -19 -22 -25 -25 -22 -21 -20 -19 -18 -18 -19 -19 -19 -18 -19 -18 -18 -19 -19 -18 -18 -18 -19 -20 -20 -19 -20 -20 -19 -19 -19 -17 -15 -15 -19 -20 -20 -20 -20 -19 -16 -12 -9 -11 -16 -19 -21 -22 -22 -24 -25 -25 -25 -23 -22 -21 -5 -5 -8 -10 -10 -9 -6 1 3 2 -1 -2 -1 -0 -0 -1 -0 -1 -2 -2 -3 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -5 -6 -6 -6 -5 -6 -7 -8 -11 -13 -14 -14 -11 -8 -7 -10 -15 -18 -16 -11 -7 -5 -5 -8 -9 -9 -7 -6 -5 -5 -4 -3 -3 -4 -4 -3 -1 2 4 7 8 8 7 5 3 1 0 0 -0 -1 -1 -0 -0 -0 1 3 4 3 0 -3 -7 -11 -10 -8 -4 -1 -1 -6 -9 -11 -13 -15 -16 -13 -8 1 9 12 12 11 8 4 3 9 19 28 27 18 7 -2 -5 4 13 17 14 5 0 -0 -0 -2 -6 -9 -10 -6 -1 4 4 4 4 2 -1 -2 -3 -5 -10 -17 -21 -23 -21 -17 -13 -12 -12 -13 -13 -11 -8 -4 -2 -5 -10 -15 -17 -17 -15 -10 -4 3 9 5 -1 -4 -2 6 16 22 23 20 14 10 6 2 -2 -3 -2 -2 -5 -11 -18 -21 -20 -18 -14 -10 -7 -6 -5 -4 -5 -7 -9 -12 -14 -14 -12 -8 -6 -7 -7 -8 -8 -9 -10 -14 -18 -21 -19 -10 -4 1 4 10 13 10 4 -3 -5 -5 -5 -6 -9 -11 -13 -14 -16 -15 -8 1 3 -2 -10 -10 -9 -9 -11 -12 -14 -16 -17 -15 -14 -13 -11 -9 -8 -12 -16 -18 -15 -8 -4 -8 -13 -19 -20 -18 -17 -16 -16 -16 -17 -18 -19 -19 -17 -14 -13 -15 -18 -18 -16 -16 -17 -19 -19 -18 -18 -20 -20 -20 -18 -17 -16 -17 -17 -17 -17 -19 -18 -18 -19 -20 -23 -20 -18 -19 -21 -22 -21 -23 -26 -26 -24 -21 -19 -19 -20 -21 -22 -19 -13 -4 -1 -5 -11 -16 -21 -21 -16 -12 -12 -14 -15 -15 -14 -14 -14 -15 -17 -18 -17 -15 -14 -13 -14 -16 -17 -18 -19 -20 -19 -13 -8 -8 -14 -19 -21 -24 -26 -25 -22 -21 -20 -18 -17 -18 -19 -20 -19 -19 -18 -19 -19 -19 -18 -18 -18 -19 -20 -20 -19 -19 -20 -19 -20 -20 -19 -16 -15 -18 -19 -20 -21 -21 -19 -17 -14 -11 -11 -14 -16 -18 -18 -18 -21 -23 -24 -25 -24 -23 -22 -5 -8 -11 -11 -9 -4 5 6 2 -1 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -4 -4 -3 -3 -3 -3 -3 -3 -5 -6 -6 -6 -6 -6 -7 -10 -12 -14 -14 -12 -9 -7 -6 -8 -12 -16 -18 -18 -14 -11 -8 -7 -7 -8 -8 -7 -6 -4 -4 -4 -4 -3 -4 -4 -3 -2 -1 1 4 5 7 7 7 5 3 1 0 -0 -0 -0 1 1 0 -0 1 2 1 -1 -3 -5 -6 -8 -8 -5 -1 1 -3 -8 -11 -12 -13 -13 -14 -14 -12 -3 5 9 10 10 8 5 4 8 17 23 21 15 6 -1 0 8 15 18 13 8 5 3 2 -1 -6 -9 -9 -6 -1 2 4 4 3 2 1 -1 -3 -8 -14 -19 -22 -23 -20 -15 -12 -11 -11 -12 -12 -11 -7 -3 -3 -7 -12 -16 -17 -14 -12 -8 -1 9 10 4 -2 -6 -4 7 18 26 27 22 17 13 9 3 -3 -3 -1 0 -4 -12 -16 -18 -17 -15 -11 -9 -8 -6 -5 -6 -9 -11 -13 -13 -12 -11 -9 -7 -6 -7 -8 -10 -12 -13 -14 -17 -20 -20 -15 -12 -11 -10 -4 5 7 3 -3 -5 -4 -2 -3 -7 -9 -11 -12 -15 -16 -14 -8 -3 -2 -5 -5 -7 -9 -11 -12 -13 -14 -15 -13 -12 -12 -12 -10 -9 -11 -15 -18 -17 -14 -8 -8 -11 -17 -19 -18 -17 -16 -15 -16 -16 -17 -18 -19 -18 -16 -14 -15 -18 -19 -18 -18 -18 -20 -20 -19 -19 -20 -21 -22 -21 -19 -18 -17 -17 -17 -17 -19 -19 -19 -19 -20 -23 -21 -19 -18 -20 -21 -21 -22 -24 -25 -23 -23 -22 -21 -21 -22 -23 -21 -15 -6 -1 -2 -6 -13 -20 -20 -16 -12 -10 -12 -14 -15 -15 -14 -14 -16 -18 -19 -18 -15 -14 -13 -14 -16 -17 -19 -20 -20 -19 -15 -10 -7 -11 -18 -20 -23 -26 -26 -24 -22 -20 -18 -16 -16 -18 -19 -20 -19 -18 -19 -19 -19 -19 -19 -19 -18 -19 -20 -20 -19 -20 -19 -20 -21 -20 -18 -16 -17 -18 -19 -20 -22 -21 -18 -15 -12 -12 -13 -15 -16 -15 -16 -19 -22 -23 -25 -25 -25 -24 -9 -12 -12 -8 -1 5 5 1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -2 -3 -3 -4 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -7 -8 -10 -13 -14 -14 -12 -9 -7 -6 -8 -11 -13 -15 -18 -19 -16 -13 -12 -10 -9 -6 -5 -5 -5 -3 -3 -4 -4 -3 -3 -3 -3 -2 -2 -0 1 2 4 6 6 6 5 4 3 2 1 1 1 2 1 0 -0 -0 -1 -3 -4 -3 -4 -6 -8 -6 -2 2 -0 -4 -8 -11 -11 -11 -12 -15 -17 -15 -5 2 7 8 10 8 4 2 5 12 17 18 14 6 1 3 10 17 18 14 11 8 6 3 -1 -5 -8 -9 -6 -2 0 2 2 2 2 2 -0 -4 -10 -16 -20 -22 -21 -17 -13 -11 -10 -10 -11 -11 -10 -6 -4 -6 -10 -15 -17 -15 -12 -9 -5 2 8 7 3 -3 -7 -1 10 23 31 29 25 21 17 12 2 -3 -3 -0 0 -6 -12 -15 -17 -15 -11 -10 -9 -8 -6 -7 -10 -13 -15 -12 -10 -9 -9 -7 -5 -5 -7 -10 -13 -14 -16 -18 -19 -19 -16 -15 -16 -18 -18 -9 -1 1 -3 -5 -3 -2 -3 -6 -8 -10 -11 -13 -16 -16 -15 -12 -8 -4 -3 -5 -7 -10 -11 -13 -14 -14 -13 -12 -12 -12 -11 -10 -11 -14 -17 -18 -16 -12 -10 -10 -14 -18 -17 -16 -16 -16 -16 -16 -16 -16 -18 -18 -17 -15 -14 -17 -19 -20 -20 -20 -19 -20 -19 -19 -20 -22 -23 -23 -22 -21 -19 -18 -17 -17 -18 -19 -20 -20 -21 -23 -22 -20 -19 -19 -20 -20 -22 -24 -24 -24 -26 -26 -24 -23 -24 -24 -22 -16 -8 -3 -1 -3 -10 -17 -19 -17 -14 -11 -12 -14 -15 -15 -15 -15 -17 -19 -19 -18 -16 -14 -13 -14 -15 -17 -19 -20 -20 -20 -16 -12 -8 -10 -16 -21 -24 -26 -27 -25 -23 -21 -19 -16 -15 -17 -18 -20 -19 -19 -18 -19 -19 -19 -19 -19 -18 -19 -20 -20 -19 -19 -18 -19 -20 -20 -19 -17 -17 -17 -19 -20 -23 -22 -21 -18 -14 -12 -14 -16 -17 -15 -16 -18 -20 -22 -25 -26 -26 -25 -12 -12 -8 -0 4 3 0 -1 -1 -0 -0 -2 -2 -2 -1 -1 -1 -2 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -8 -10 -13 -13 -13 -11 -9 -8 -8 -9 -10 -12 -13 -16 -19 -21 -20 -16 -14 -13 -12 -7 -4 -3 -4 -4 -3 -3 -4 -3 -3 -2 -2 -2 -2 -1 -1 -0 0 2 4 5 6 6 5 4 2 1 0 1 2 1 -0 -2 -3 -5 -5 -4 -2 -4 -6 -7 -4 1 2 -1 -4 -7 -9 -10 -10 -13 -18 -21 -14 -5 2 3 5 8 7 4 1 4 10 15 16 12 5 2 5 11 18 18 16 13 11 8 4 1 -4 -8 -9 -7 -4 -1 -1 -1 1 2 3 1 -5 -11 -16 -20 -20 -16 -13 -10 -9 -9 -11 -12 -11 -9 -6 -5 -8 -13 -16 -15 -12 -10 -8 -5 2 7 6 2 -4 -5 -0 10 23 29 31 33 32 27 15 3 -5 -6 -2 -3 -8 -12 -15 -15 -12 -10 -9 -9 -8 -9 -12 -15 -17 -13 -9 -8 -8 -7 -5 -4 -6 -9 -12 -15 -17 -19 -20 -20 -17 -17 -18 -21 -22 -16 -8 -1 -1 -3 -3 -3 -3 -5 -8 -9 -10 -12 -14 -16 -17 -17 -15 -9 -6 -5 -5 -7 -9 -12 -13 -14 -14 -12 -13 -13 -12 -11 -11 -13 -15 -16 -15 -13 -12 -11 -12 -15 -16 -16 -16 -16 -15 -16 -16 -16 -17 -17 -17 -15 -14 -16 -18 -19 -20 -20 -18 -18 -19 -19 -20 -22 -24 -25 -25 -24 -21 -19 -19 -20 -19 -21 -22 -23 -22 -23 -23 -21 -20 -19 -18 -19 -21 -23 -22 -26 -29 -30 -26 -24 -25 -25 -23 -17 -10 -5 -2 -3 -8 -16 -19 -20 -18 -14 -14 -15 -16 -16 -16 -17 -18 -19 -19 -17 -16 -15 -14 -14 -15 -17 -18 -19 -20 -20 -18 -15 -10 -10 -15 -20 -23 -25 -27 -26 -24 -23 -21 -17 -15 -15 -17 -19 -20 -19 -19 -19 -19 -19 -19 -18 -18 -19 -20 -20 -20 -19 -18 -18 -19 -20 -20 -18 -17 -18 -19 -20 -22 -22 -21 -20 -16 -14 -14 -17 -18 -16 -16 -17 -18 -20 -24 -26 -26 -27 -12 -9 -2 2 2 -1 -2 -1 0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -3 -4 -4 -4 -4 -5 -6 -9 -11 -12 -11 -9 -8 -9 -10 -10 -10 -9 -10 -12 -15 -19 -25 -27 -22 -17 -14 -12 -8 -4 -3 -3 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -2 -2 -2 -1 -0 1 3 4 5 7 7 5 2 0 1 2 2 0 -2 -5 -6 -6 -5 -3 -3 -5 -8 -8 -4 0 0 -1 -4 -6 -7 -8 -11 -16 -22 -20 -10 -1 1 -1 1 3 5 5 5 8 11 15 14 9 4 2 6 13 18 19 18 16 12 9 6 2 -3 -8 -10 -8 -5 -3 -4 -4 -2 2 5 3 -3 -10 -16 -18 -14 -10 -7 -6 -8 -10 -12 -12 -12 -8 -5 -6 -9 -14 -15 -13 -10 -8 -8 -2 5 9 8 1 -4 -5 -1 8 18 25 30 34 36 30 20 8 -2 -5 -4 -5 -8 -12 -14 -12 -10 -9 -10 -10 -11 -13 -16 -19 -15 -10 -7 -7 -8 -5 -3 -4 -7 -11 -15 -17 -19 -20 -20 -18 -17 -18 -21 -23 -20 -12 -3 -1 -2 -2 -2 -2 -5 -8 -10 -11 -12 -12 -14 -16 -18 -18 -15 -10 -6 -5 -6 -8 -9 -11 -12 -13 -12 -12 -13 -13 -13 -11 -12 -13 -14 -14 -13 -13 -12 -12 -14 -15 -15 -16 -16 -15 -15 -16 -16 -17 -17 -17 -16 -15 -15 -17 -19 -19 -19 -17 -17 -17 -17 -19 -20 -23 -25 -27 -26 -22 -20 -20 -21 -21 -23 -25 -25 -22 -22 -22 -21 -21 -20 -19 -19 -20 -21 -22 -28 -32 -31 -27 -25 -25 -24 -22 -19 -13 -7 -3 -3 -7 -15 -20 -23 -22 -18 -17 -17 -18 -19 -19 -19 -20 -20 -20 -18 -17 -16 -14 -14 -15 -17 -18 -19 -19 -20 -20 -17 -12 -10 -13 -18 -22 -24 -26 -25 -24 -23 -22 -19 -16 -14 -14 -18 -19 -19 -19 -19 -19 -19 -18 -18 -18 -19 -20 -20 -20 -19 -17 -17 -18 -20 -21 -19 -18 -18 -18 -19 -20 -21 -21 -20 -18 -16 -15 -17 -18 -17 -16 -16 -17 -19 -22 -24 -26 -28 -9 -4 1 1 -1 -2 -1 -0 -0 -1 -2 -2 -2 -3 -3 -2 -2 -2 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -6 -8 -10 -11 -9 -7 -6 -7 -8 -8 -7 -6 -5 -4 -3 -4 -8 -18 -28 -27 -19 -12 -9 -7 -5 -4 -3 -4 -3 -3 -3 -2 -2 -1 -1 -0 -0 -1 -1 -2 -2 -1 -0 1 2 3 6 8 7 5 2 0 1 2 1 -2 -7 -8 -7 -6 -4 -3 -4 -6 -8 -8 -4 -2 -1 -2 -3 -5 -6 -8 -13 -21 -23 -17 -6 2 0 -1 -1 -0 1 3 7 11 14 14 11 7 4 4 8 13 18 21 21 18 14 10 7 3 -3 -8 -10 -9 -6 -7 -9 -9 -4 4 7 3 -5 -13 -16 -13 -7 -2 -1 -6 -9 -11 -12 -13 -11 -7 -5 -6 -11 -14 -13 -10 -7 -7 -5 2 9 12 7 1 -3 -5 -2 5 12 20 29 36 35 29 18 4 -6 -7 -6 -5 -7 -10 -11 -9 -9 -11 -12 -13 -14 -17 -20 -17 -12 -7 -6 -7 -6 -3 -3 -5 -10 -14 -17 -19 -20 -20 -18 -17 -17 -19 -22 -22 -16 -7 -2 -3 -4 -4 -3 -4 -7 -10 -11 -11 -11 -12 -13 -16 -18 -17 -12 -8 -6 -8 -8 -8 -8 -11 -12 -12 -12 -13 -13 -13 -11 -11 -11 -13 -15 -15 -14 -14 -14 -14 -14 -15 -17 -18 -16 -16 -16 -16 -18 -18 -18 -17 -16 -15 -17 -19 -19 -19 -17 -17 -18 -17 -17 -18 -21 -25 -27 -27 -24 -21 -21 -22 -23 -27 -28 -26 -22 -21 -21 -20 -21 -22 -21 -19 -17 -19 -23 -30 -32 -29 -26 -26 -25 -23 -21 -20 -16 -9 -3 -1 -4 -12 -18 -23 -24 -21 -19 -18 -19 -20 -21 -21 -21 -20 -20 -19 -18 -17 -16 -15 -15 -16 -18 -20 -19 -20 -20 -19 -15 -11 -12 -16 -21 -24 -26 -24 -22 -22 -22 -21 -17 -14 -12 -16 -19 -20 -19 -19 -20 -19 -19 -19 -19 -19 -19 -19 -19 -19 -18 -17 -17 -20 -21 -20 -19 -18 -18 -19 -20 -21 -21 -20 -19 -17 -15 -16 -16 -16 -16 -16 -16 -17 -20 -23 -25 -28 -5 -1 -0 -2 -3 -2 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -8 -10 -11 -9 -6 -5 -5 -6 -6 -5 -4 -3 -1 1 4 6 6 -0 -13 -22 -22 -14 -6 -7 -6 -4 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -0 0 -1 -1 -1 -1 -1 -1 -0 1 2 5 7 7 5 2 2 2 2 -1 -7 -9 -9 -7 -5 -3 -2 -4 -7 -9 -8 -5 -3 -1 -1 -4 -5 -7 -10 -16 -22 -21 -13 -2 3 2 0 -2 -2 -1 1 6 11 14 11 8 5 4 6 9 14 19 24 24 19 14 10 7 2 -4 -9 -11 -9 -9 -12 -15 -14 -7 -0 1 -4 -12 -18 -15 -7 1 4 -1 -7 -11 -12 -13 -13 -10 -6 -4 -7 -11 -12 -10 -7 -6 -6 -2 5 12 11 6 -0 -4 -6 -3 0 6 14 24 27 26 20 9 -4 -8 -8 -6 -6 -8 -9 -8 -8 -9 -12 -13 -14 -17 -20 -19 -15 -9 -6 -7 -7 -6 -4 -4 -8 -13 -16 -19 -20 -20 -18 -17 -16 -18 -21 -22 -19 -11 -4 -4 -5 -5 -4 -3 -6 -8 -10 -11 -11 -11 -12 -15 -18 -17 -13 -9 -7 -9 -9 -8 -7 -8 -10 -10 -11 -12 -13 -13 -11 -9 -9 -12 -15 -16 -16 -14 -13 -12 -13 -15 -18 -19 -18 -17 -17 -17 -18 -19 -19 -19 -18 -16 -17 -19 -20 -19 -18 -18 -19 -18 -16 -17 -20 -25 -28 -29 -26 -23 -22 -22 -24 -28 -30 -27 -23 -21 -20 -20 -21 -22 -21 -19 -17 -18 -23 -28 -30 -29 -27 -28 -25 -22 -20 -20 -18 -12 -5 -0 -1 -8 -17 -23 -25 -23 -19 -18 -19 -19 -20 -20 -20 -20 -21 -20 -19 -18 -17 -15 -15 -16 -18 -20 -19 -20 -20 -18 -16 -12 -12 -16 -22 -24 -26 -25 -22 -22 -22 -21 -19 -16 -12 -14 -18 -20 -19 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -18 -18 -17 -16 -18 -20 -20 -20 -18 -18 -19 -20 -21 -21 -19 -18 -17 -15 -15 -15 -15 -16 -16 -16 -17 -18 -21 -25 -26 -3 -1 -2 -3 -3 -2 -2 -3 -3 -3 -2 -2 -1 -2 -2 -3 -2 -1 -1 -1 -1 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -5 -8 -9 -10 -8 -6 -5 -4 -4 -2 -1 -1 -2 -3 -2 -1 2 3 2 -7 -18 -22 -17 -6 -5 -5 -4 -2 -1 -2 -2 -2 -1 -0 -1 -1 -1 -0 0 -0 -0 -1 -1 -1 -2 -2 -1 -1 1 4 5 6 5 3 3 2 -1 -6 -10 -10 -8 -6 -3 -1 -1 -4 -8 -9 -8 -5 -3 -2 -4 -5 -6 -7 -11 -18 -21 -19 -9 1 5 4 1 -1 -2 -3 -0 4 9 9 7 4 2 3 5 9 14 22 26 25 20 14 9 6 1 -6 -11 -12 -11 -13 -15 -16 -14 -9 -5 -6 -11 -18 -18 -12 -2 5 3 -3 -8 -11 -14 -16 -14 -9 -4 -4 -7 -9 -9 -6 -4 -5 -4 0 8 12 9 3 -2 -5 -6 -5 -3 1 7 13 17 17 12 1 -5 -7 -7 -7 -7 -8 -8 -8 -9 -12 -13 -13 -15 -18 -19 -17 -12 -7 -6 -7 -7 -6 -4 -6 -10 -15 -18 -19 -18 -17 -15 -15 -16 -19 -21 -21 -15 -7 -5 -6 -7 -6 -4 -6 -8 -11 -11 -11 -10 -11 -14 -17 -18 -14 -9 -7 -10 -12 -10 -7 -6 -7 -8 -10 -11 -12 -12 -10 -8 -8 -10 -14 -16 -16 -14 -12 -12 -13 -15 -18 -19 -18 -17 -16 -17 -19 -19 -20 -20 -19 -17 -17 -18 -20 -20 -19 -19 -20 -19 -17 -17 -19 -24 -27 -30 -28 -25 -24 -25 -26 -28 -29 -26 -22 -21 -21 -21 -22 -21 -22 -21 -19 -18 -22 -26 -28 -31 -31 -30 -26 -22 -19 -20 -19 -15 -9 -2 -1 -7 -16 -25 -27 -24 -20 -19 -20 -18 -18 -19 -19 -20 -20 -20 -19 -18 -17 -16 -16 -16 -17 -19 -20 -20 -19 -17 -16 -12 -12 -15 -22 -24 -26 -25 -23 -22 -22 -21 -20 -18 -14 -14 -17 -20 -19 -21 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -18 -18 -17 -17 -19 -20 -20 -19 -19 -20 -21 -21 -21 -19 -18 -17 -17 -15 -15 -16 -16 -15 -16 -16 -17 -18 -23 -24 -2 -2 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -2 -2 -3 -3 -2 -2 -1 -1 -0 -1 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -7 -7 -7 -6 -6 -6 -5 -4 -3 -2 -2 -2 -4 -5 -4 -3 -2 -2 -5 -12 -14 -13 -8 -6 -5 -4 -1 -0 -1 -2 -2 -1 0 -0 -1 -1 -1 -1 0 1 1 -0 -1 -2 -2 -2 -2 -2 -0 2 5 6 5 4 3 0 -5 -10 -12 -11 -7 -3 0 1 -1 -5 -8 -9 -8 -6 -4 -4 -5 -6 -7 -9 -13 -18 -21 -17 -6 3 7 6 2 -0 -3 -3 -2 3 5 5 4 1 0 1 3 8 16 25 29 27 21 14 10 4 -2 -9 -13 -12 -12 -13 -14 -14 -12 -9 -7 -9 -15 -18 -15 -8 1 4 0 -5 -9 -13 -17 -17 -14 -9 -4 -4 -6 -6 -4 -2 -3 -4 -3 4 10 11 8 2 -3 -6 -5 -4 -4 -4 1 7 12 12 6 -1 -5 -7 -7 -7 -8 -10 -10 -10 -12 -13 -13 -14 -16 -17 -17 -13 -9 -6 -6 -7 -7 -5 -5 -9 -13 -17 -17 -14 -13 -12 -12 -13 -16 -19 -21 -18 -10 -7 -6 -7 -7 -5 -6 -8 -11 -12 -12 -10 -10 -12 -16 -17 -16 -11 -7 -10 -14 -14 -10 -6 -5 -6 -9 -11 -11 -12 -11 -9 -7 -9 -13 -16 -17 -15 -12 -13 -13 -15 -17 -18 -17 -16 -16 -17 -18 -19 -21 -21 -20 -18 -17 -18 -20 -21 -21 -21 -22 -20 -19 -18 -20 -23 -26 -30 -29 -27 -27 -29 -28 -27 -26 -23 -21 -21 -23 -23 -23 -22 -23 -23 -21 -19 -23 -25 -27 -30 -31 -30 -28 -24 -20 -21 -20 -18 -14 -7 -4 -8 -16 -24 -27 -24 -22 -21 -21 -18 -17 -18 -19 -19 -20 -21 -21 -19 -18 -16 -16 -17 -18 -19 -21 -21 -20 -17 -16 -13 -11 -13 -19 -23 -26 -26 -24 -24 -23 -22 -21 -20 -17 -15 -15 -18 -19 -20 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -19 -18 -17 -18 -19 -20 -20 -19 -20 -20 -21 -21 -21 -21 -20 -19 -19 -16 -16 -16 -16 -15 -16 -16 -16 -16 -20 -22 -1 -3 -3 -4 -4 -5 -6 -6 -5 -4 -3 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -1 -1 -2 -4 -5 -5 -5 -4 -4 -4 -5 -5 -5 -6 -7 -8 -7 -6 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -6 -7 -7 -8 -9 -7 -4 -2 0 -0 -1 -1 -1 0 0 -0 -1 -2 -1 -0 1 1 0 -1 -2 -3 -3 -2 -2 -2 -0 2 4 5 6 5 3 -2 -9 -13 -13 -9 -4 0 2 1 -3 -7 -9 -9 -8 -6 -5 -5 -5 -6 -8 -11 -15 -19 -21 -15 -4 5 9 7 3 0 -2 -3 -2 1 3 3 1 -0 -1 -2 0 7 18 28 32 29 23 16 10 3 -5 -11 -11 -10 -10 -11 -14 -14 -12 -8 -6 -10 -15 -17 -14 -7 2 2 -1 -7 -12 -16 -18 -18 -14 -9 -5 -4 -3 -1 1 -0 -2 -3 0 6 10 10 7 1 -4 -6 -6 -6 -6 -5 -0 5 9 7 2 -2 -5 -6 -6 -8 -10 -12 -12 -13 -13 -13 -13 -14 -15 -15 -13 -10 -7 -5 -5 -6 -7 -8 -9 -12 -15 -17 -13 -9 -7 -8 -11 -14 -17 -20 -19 -13 -9 -7 -7 -7 -6 -6 -8 -10 -12 -12 -10 -10 -11 -15 -17 -16 -13 -9 -10 -13 -15 -13 -8 -5 -5 -8 -10 -11 -13 -13 -11 -8 -8 -13 -16 -17 -16 -14 -13 -13 -14 -16 -18 -18 -16 -15 -16 -17 -20 -22 -23 -20 -18 -18 -18 -20 -21 -22 -23 -23 -21 -20 -19 -20 -23 -26 -29 -30 -29 -29 -31 -29 -27 -25 -24 -23 -22 -24 -26 -24 -22 -23 -23 -23 -21 -23 -24 -25 -28 -30 -29 -28 -25 -21 -22 -22 -20 -17 -12 -10 -11 -15 -22 -25 -25 -24 -22 -21 -18 -17 -17 -19 -19 -22 -23 -23 -22 -20 -18 -17 -17 -18 -21 -23 -23 -21 -18 -16 -13 -12 -12 -17 -22 -25 -25 -25 -25 -23 -22 -22 -21 -19 -16 -15 -16 -19 -19 -19 -20 -20 -20 -20 -20 -20 -21 -21 -20 -19 -18 -18 -18 -19 -20 -20 -20 -20 -20 -21 -22 -22 -22 -21 -20 -21 -18 -17 -17 -16 -16 -16 -16 -15 -14 -18 -20 -2 -4 -5 -5 -6 -7 -7 -6 -4 -3 -2 -2 -3 -4 -4 -4 -3 -3 -3 -3 -2 -1 -0 -1 -3 -5 -7 -7 -6 -5 -4 -3 -3 -4 -5 -6 -7 -7 -6 -5 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -7 -9 -10 -10 -8 -5 -3 -1 0 -0 -1 -1 -1 0 0 -1 -2 -2 -1 -0 1 1 -0 -2 -3 -3 -2 -1 -1 -2 -1 0 2 5 6 6 0 -7 -12 -14 -12 -7 -2 1 2 -0 -4 -7 -9 -9 -7 -6 -5 -5 -6 -8 -10 -13 -17 -19 -19 -13 -3 7 10 6 3 1 -1 -3 -2 0 2 2 1 -1 -3 -5 -3 6 18 29 34 32 24 17 9 1 -7 -8 -8 -8 -9 -12 -15 -14 -9 -4 -5 -11 -16 -17 -13 -3 3 2 -3 -10 -15 -18 -19 -18 -14 -9 -5 -2 1 6 4 -0 -3 -1 3 6 8 7 6 2 -2 -5 -6 -7 -6 -4 -1 3 5 4 1 -2 -4 -4 -6 -9 -12 -13 -14 -14 -13 -12 -13 -14 -14 -13 -11 -8 -5 -4 -5 -8 -11 -12 -12 -14 -16 -14 -9 -5 -4 -7 -12 -16 -19 -20 -15 -10 -7 -7 -8 -7 -6 -7 -8 -10 -11 -10 -9 -11 -14 -17 -17 -14 -10 -10 -13 -15 -15 -12 -7 -6 -7 -10 -12 -14 -14 -12 -9 -8 -11 -15 -17 -16 -15 -14 -14 -14 -16 -18 -18 -17 -15 -15 -17 -20 -24 -25 -22 -19 -19 -20 -19 -20 -22 -22 -22 -22 -20 -19 -19 -21 -25 -29 -30 -29 -30 -31 -30 -27 -24 -25 -24 -22 -23 -25 -24 -23 -23 -24 -25 -22 -22 -22 -23 -27 -29 -30 -29 -26 -22 -23 -22 -21 -19 -16 -13 -12 -14 -18 -23 -25 -25 -23 -20 -19 -18 -18 -19 -20 -22 -23 -24 -23 -23 -20 -18 -17 -19 -22 -24 -24 -22 -19 -16 -13 -12 -12 -16 -21 -24 -24 -23 -24 -23 -23 -23 -22 -20 -18 -16 -16 -19 -19 -19 -19 -20 -20 -20 -20 -21 -21 -21 -20 -18 -18 -18 -17 -18 -19 -19 -20 -20 -20 -21 -21 -22 -22 -22 -21 -22 -21 -19 -17 -17 -16 -16 -15 -14 -13 -16 -19 -4 -5 -6 -7 -7 -7 -6 -5 -3 -3 -2 -2 -3 -3 -3 -3 -3 -2 -3 -3 -3 -2 -1 -2 -3 -6 -9 -10 -9 -7 -5 -4 -3 -4 -5 -6 -6 -4 -3 -2 -2 -4 -6 -8 -8 -7 -6 -5 -4 -5 -5 -6 -7 -9 -10 -11 -9 -7 -5 -3 -1 1 1 -0 -1 -1 -1 -1 -1 -2 -2 -1 -0 0 1 -1 -3 -4 -3 -0 1 0 -1 -2 -2 1 4 7 4 -3 -9 -13 -13 -9 -5 -2 -0 1 -1 -3 -6 -7 -7 -5 -4 -3 -4 -7 -11 -13 -15 -17 -19 -18 -12 -1 10 9 6 3 1 -1 -2 -1 1 3 2 1 -1 -4 -7 -6 2 14 26 33 30 24 16 8 1 -3 -6 -8 -10 -11 -13 -14 -12 -7 -4 -6 -11 -16 -16 -8 -0 3 1 -6 -12 -17 -20 -20 -18 -14 -9 -3 2 8 7 3 -2 -1 2 4 4 5 6 3 -1 -4 -5 -6 -7 -6 -3 0 1 1 -1 -3 -3 -3 -4 -7 -10 -12 -13 -13 -12 -11 -13 -14 -14 -13 -12 -9 -7 -5 -5 -9 -13 -14 -13 -13 -15 -16 -13 -8 -3 -5 -10 -15 -18 -19 -16 -11 -8 -8 -8 -8 -7 -6 -6 -8 -10 -10 -9 -10 -14 -16 -17 -15 -12 -11 -13 -15 -16 -14 -10 -8 -7 -9 -11 -13 -15 -14 -11 -8 -10 -14 -17 -16 -15 -15 -15 -15 -17 -18 -18 -17 -15 -15 -17 -20 -24 -26 -23 -21 -19 -19 -19 -20 -21 -21 -21 -21 -19 -17 -17 -18 -23 -27 -30 -29 -29 -31 -29 -26 -22 -24 -23 -21 -20 -22 -23 -24 -25 -26 -27 -23 -21 -21 -22 -26 -30 -31 -30 -27 -23 -23 -22 -22 -23 -19 -15 -13 -13 -17 -20 -23 -25 -23 -20 -20 -20 -19 -19 -20 -21 -23 -24 -24 -24 -22 -19 -18 -20 -21 -23 -23 -23 -21 -17 -14 -13 -13 -16 -20 -22 -23 -23 -23 -23 -23 -24 -23 -21 -19 -17 -16 -19 -19 -19 -18 -18 -19 -20 -21 -21 -21 -21 -20 -19 -18 -18 -17 -17 -18 -19 -20 -20 -20 -21 -22 -23 -23 -23 -21 -23 -23 -21 -18 -18 -17 -16 -16 -16 -14 -15 -17 -6 -6 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -2 -3 -4 -3 -3 -3 -4 -6 -9 -10 -9 -7 -6 -6 -6 -6 -5 -5 -3 -3 -3 -3 -4 -5 -7 -8 -8 -8 -7 -5 -3 -2 -2 -4 -5 -6 -8 -9 -8 -8 -7 -5 -3 -0 1 1 -1 -2 -2 -1 -1 -2 -2 -2 -2 -1 -0 -0 -2 -4 -4 -2 1 2 1 -1 -3 -2 0 4 5 1 -5 -10 -12 -10 -8 -7 -6 -4 -2 -1 -3 -5 -5 -5 -4 -3 -3 -5 -9 -13 -16 -16 -17 -18 -17 -12 0 8 8 5 3 3 0 -1 -0 2 3 2 1 -0 -4 -8 -9 -5 4 16 24 24 21 16 11 4 -2 -7 -9 -9 -11 -13 -13 -10 -6 -5 -7 -12 -16 -13 -6 1 4 0 -7 -14 -19 -22 -22 -19 -13 -6 1 7 9 5 -0 -2 1 3 3 2 2 2 -0 -2 -3 -3 -6 -7 -6 -2 1 1 0 -2 -3 -2 -3 -6 -9 -10 -11 -12 -12 -12 -13 -14 -15 -15 -13 -11 -8 -6 -6 -9 -14 -16 -14 -12 -14 -16 -16 -13 -7 -6 -9 -13 -16 -18 -16 -13 -9 -8 -9 -9 -7 -6 -6 -8 -11 -11 -10 -11 -14 -16 -17 -16 -13 -13 -14 -15 -16 -15 -12 -10 -8 -8 -9 -12 -15 -16 -13 -10 -11 -13 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -15 -15 -17 -21 -23 -25 -24 -21 -19 -18 -18 -19 -19 -20 -20 -19 -17 -16 -15 -15 -20 -25 -28 -28 -29 -29 -27 -25 -23 -23 -21 -19 -19 -21 -23 -24 -25 -26 -26 -23 -21 -21 -21 -24 -28 -29 -29 -27 -25 -23 -22 -22 -25 -21 -16 -12 -12 -15 -18 -21 -24 -23 -22 -21 -21 -20 -19 -20 -21 -22 -23 -24 -24 -22 -21 -20 -21 -21 -21 -21 -22 -22 -18 -15 -14 -14 -16 -19 -22 -23 -23 -23 -24 -24 -23 -23 -22 -20 -18 -16 -18 -19 -19 -17 -17 -18 -19 -21 -22 -22 -21 -21 -20 -19 -19 -18 -17 -18 -19 -20 -19 -19 -21 -22 -24 -24 -23 -21 -23 -24 -22 -19 -19 -19 -18 -17 -17 -15 -15 -17 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -2 -3 -3 -4 -3 -3 -3 -5 -7 -8 -6 -4 -3 -5 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -3 -2 -2 -2 -3 -4 -6 -6 -7 -8 -7 -5 -4 -2 -0 1 1 -1 -2 -2 -2 -1 -2 -2 -3 -3 -2 -1 -2 -3 -5 -3 0 3 4 2 -2 -3 -3 -0 4 3 -0 -5 -9 -9 -8 -9 -10 -9 -6 -3 -2 -2 -3 -3 -3 -3 -2 -3 -8 -12 -15 -16 -15 -17 -19 -18 -11 2 6 6 4 4 3 1 0 1 3 3 3 3 2 -3 -7 -9 -9 -6 1 9 17 21 18 10 2 -5 -7 -7 -8 -10 -12 -12 -9 -6 -6 -9 -14 -16 -12 -4 5 5 -3 -11 -18 -21 -24 -23 -18 -11 -3 4 8 7 3 -1 0 1 2 1 -1 -1 -1 -2 -2 -2 -4 -6 -7 -6 -1 2 4 3 1 -0 -1 -3 -5 -8 -9 -10 -10 -11 -12 -14 -16 -17 -15 -12 -9 -7 -7 -10 -14 -16 -15 -12 -12 -15 -17 -17 -12 -9 -9 -11 -14 -17 -17 -14 -10 -8 -9 -10 -9 -7 -5 -7 -10 -11 -11 -12 -14 -16 -16 -15 -13 -14 -15 -15 -15 -16 -14 -12 -11 -9 -8 -10 -14 -17 -15 -13 -13 -14 -16 -17 -18 -18 -17 -16 -16 -17 -17 -18 -16 -15 -18 -21 -23 -25 -23 -21 -20 -19 -19 -18 -19 -19 -20 -18 -16 -15 -14 -13 -18 -23 -27 -27 -27 -27 -25 -24 -24 -23 -20 -17 -18 -20 -22 -23 -24 -24 -23 -22 -21 -21 -21 -22 -24 -25 -26 -27 -26 -25 -23 -22 -25 -22 -17 -13 -12 -15 -17 -20 -21 -22 -23 -22 -21 -21 -20 -20 -20 -21 -21 -23 -23 -23 -22 -21 -22 -22 -20 -19 -21 -21 -19 -17 -15 -15 -16 -19 -22 -23 -23 -23 -24 -24 -23 -23 -23 -22 -19 -17 -17 -19 -19 -16 -15 -16 -18 -21 -23 -23 -22 -21 -21 -21 -20 -19 -18 -18 -19 -19 -19 -19 -20 -22 -23 -23 -22 -21 -22 -24 -24 -19 -19 -20 -19 -18 -17 -15 -15 -17 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -3 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -3 -4 -4 -4 -5 -6 -5 -4 -4 -5 -6 -6 -7 -8 -9 -8 -6 -4 -3 -2 -2 -3 -3 -2 -3 -3 -3 -2 -2 -1 -1 -1 -2 -4 -4 -6 -7 -7 -5 -4 -4 -3 -0 1 0 -1 -2 -2 -2 -1 -2 -3 -4 -5 -4 -4 -4 -5 -4 -1 3 6 6 2 -1 -3 -2 0 3 2 -1 -5 -6 -7 -9 -11 -12 -10 -8 -6 -3 -1 -1 -2 -2 -2 -2 -6 -11 -15 -16 -15 -15 -18 -20 -19 -7 2 7 6 4 4 3 2 1 3 3 3 3 4 1 -3 -6 -9 -12 -12 -9 -1 9 15 12 5 -1 -5 -5 -6 -8 -10 -12 -11 -8 -6 -7 -12 -17 -16 -11 -2 4 -1 -7 -13 -18 -24 -25 -22 -16 -8 -0 5 8 7 2 -0 -0 0 0 -2 -3 -3 -3 -3 -3 -3 -4 -6 -7 -4 1 6 10 9 6 4 2 1 -3 -6 -8 -9 -10 -11 -14 -16 -18 -17 -14 -11 -8 -7 -9 -13 -15 -15 -12 -11 -13 -16 -18 -16 -12 -10 -10 -12 -15 -16 -14 -11 -8 -9 -10 -10 -9 -5 -5 -8 -10 -11 -12 -13 -14 -14 -13 -13 -14 -14 -15 -15 -16 -15 -14 -13 -11 -8 -8 -11 -15 -15 -14 -14 -15 -15 -16 -17 -18 -18 -16 -17 -17 -18 -19 -18 -17 -18 -20 -24 -25 -23 -21 -20 -21 -20 -19 -19 -20 -21 -19 -17 -16 -15 -13 -17 -23 -28 -28 -25 -24 -23 -23 -23 -22 -19 -17 -17 -19 -21 -22 -23 -23 -22 -20 -20 -20 -21 -21 -22 -22 -24 -27 -28 -27 -24 -23 -24 -22 -19 -16 -14 -17 -19 -20 -19 -21 -22 -22 -22 -22 -20 -20 -20 -19 -20 -22 -22 -22 -22 -21 -21 -21 -20 -20 -21 -21 -20 -18 -15 -15 -16 -19 -22 -22 -23 -23 -23 -23 -23 -23 -23 -22 -20 -18 -17 -18 -19 -18 -15 -14 -16 -20 -22 -23 -23 -22 -22 -22 -21 -19 -18 -18 -19 -19 -19 -20 -20 -22 -22 -22 -22 -21 -22 -24 -24 -21 -19 -20 -20 -19 -17 -15 -15 -16 -7 -6 -5 -6 -6 -7 -7 -7 -5 -3 -1 -0 -1 -2 -3 -4 -3 -3 -4 -4 -5 -6 -7 -6 -4 -3 -2 -1 -2 -4 -7 -9 -10 -9 -9 -9 -10 -8 -6 -4 -3 -3 -4 -4 -4 -3 -1 -1 -1 -2 -1 -0 -0 -1 -2 -3 -4 -5 -5 -4 -4 -5 -5 -3 0 1 1 -1 -2 -2 -1 -1 -2 -4 -5 -6 -6 -5 -5 -4 -3 1 6 9 7 3 -0 -2 -2 0 2 1 -1 -3 -5 -7 -9 -11 -12 -12 -11 -8 -2 0 -1 -2 -2 -1 -4 -9 -14 -17 -15 -14 -16 -20 -23 -16 -4 5 7 4 4 3 3 2 3 4 4 5 5 4 2 -2 -6 -10 -14 -16 -12 -4 6 9 6 1 -4 -5 -6 -7 -9 -11 -11 -9 -7 -7 -11 -16 -18 -16 -9 -0 1 -3 -9 -16 -22 -24 -24 -21 -13 -4 3 8 10 7 2 0 0 1 -0 -2 -3 -4 -4 -4 -3 -3 -5 -6 -6 -3 3 11 13 10 7 6 5 3 -1 -5 -8 -9 -11 -13 -16 -18 -18 -16 -13 -10 -8 -9 -12 -15 -15 -13 -10 -11 -14 -17 -18 -15 -12 -10 -11 -14 -16 -15 -13 -9 -9 -10 -11 -10 -7 -5 -6 -7 -10 -11 -12 -13 -13 -13 -13 -14 -15 -15 -15 -16 -16 -15 -14 -12 -8 -7 -8 -12 -13 -14 -15 -15 -14 -14 -16 -17 -18 -17 -18 -19 -20 -20 -19 -18 -18 -20 -23 -24 -22 -20 -19 -21 -21 -21 -21 -21 -21 -21 -19 -17 -14 -13 -16 -23 -29 -29 -24 -21 -21 -21 -20 -19 -18 -17 -17 -18 -20 -21 -22 -22 -21 -20 -19 -19 -20 -22 -23 -23 -24 -27 -30 -29 -26 -24 -24 -23 -22 -19 -18 -20 -21 -21 -19 -20 -21 -22 -22 -22 -20 -20 -19 -18 -20 -21 -22 -22 -21 -21 -19 -19 -19 -21 -22 -22 -22 -19 -16 -15 -17 -19 -21 -22 -23 -23 -23 -22 -23 -23 -23 -22 -20 -18 -17 -18 -19 -19 -15 -13 -14 -18 -21 -22 -23 -23 -23 -22 -21 -20 -18 -18 -18 -18 -18 -19 -19 -21 -21 -20 -21 -21 -22 -24 -24 -22 -20 -19 -19 -19 -16 -15 -14 -16 -5 -5 -5 -7 -7 -7 -6 -4 -1 -0 -1 -2 -4 -5 -6 -6 -6 -4 -4 -4 -4 -4 -5 -5 -5 -4 -2 -1 -2 -4 -7 -12 -14 -12 -9 -6 -6 -6 -5 -4 -4 -4 -4 -5 -6 -6 -3 -1 -1 -2 -2 -1 -0 0 -0 -2 -3 -4 -3 -3 -3 -4 -5 -4 -2 1 2 1 -1 -2 -2 -2 -2 -3 -4 -6 -7 -7 -6 -5 -4 -1 3 9 10 7 3 -0 -2 -2 -1 0 -0 -2 -4 -5 -7 -9 -11 -14 -16 -15 -9 -2 -0 -1 -2 -1 -2 -6 -12 -16 -16 -14 -14 -18 -24 -22 -11 1 7 6 4 3 2 2 2 3 5 6 7 7 5 2 -2 -6 -11 -15 -15 -11 -2 4 4 2 -2 -5 -6 -7 -8 -10 -10 -9 -8 -8 -10 -15 -18 -18 -14 -5 -0 -0 -5 -12 -19 -23 -25 -24 -19 -8 -0 6 10 11 7 4 3 3 2 1 -1 -3 -5 -4 -3 -3 -3 -5 -7 -6 -2 6 12 12 9 7 7 8 5 0 -5 -8 -10 -12 -15 -17 -18 -16 -14 -11 -9 -11 -13 -14 -15 -14 -12 -11 -13 -17 -19 -16 -12 -10 -11 -13 -15 -16 -14 -10 -9 -10 -11 -11 -9 -7 -6 -6 -8 -10 -12 -12 -13 -13 -13 -14 -15 -15 -15 -15 -16 -15 -14 -12 -9 -8 -8 -9 -10 -13 -14 -14 -12 -13 -15 -17 -18 -18 -19 -20 -20 -20 -20 -18 -18 -19 -21 -22 -21 -19 -18 -21 -22 -22 -22 -22 -21 -21 -20 -17 -13 -11 -14 -20 -28 -29 -23 -21 -21 -21 -20 -19 -19 -18 -17 -17 -19 -20 -21 -21 -21 -20 -20 -19 -19 -21 -23 -24 -26 -28 -30 -31 -30 -27 -26 -24 -23 -23 -21 -21 -22 -22 -21 -20 -20 -21 -21 -21 -21 -20 -19 -18 -21 -22 -22 -21 -21 -20 -19 -18 -19 -22 -22 -23 -23 -22 -18 -16 -17 -19 -20 -22 -23 -22 -22 -22 -22 -24 -24 -22 -21 -19 -19 -19 -20 -20 -15 -11 -12 -17 -20 -21 -22 -23 -23 -23 -22 -21 -19 -18 -18 -18 -18 -18 -18 -19 -19 -19 -20 -21 -21 -23 -24 -22 -20 -19 -18 -17 -16 -15 -14 -15 -5 -5 -6 -7 -7 -5 -3 -1 -1 -2 -3 -4 -5 -6 -6 -6 -5 -2 -2 -1 -1 -2 -4 -6 -7 -7 -5 -4 -3 -4 -7 -12 -16 -15 -10 -4 -2 -2 -2 -3 -4 -4 -3 -4 -6 -8 -7 -4 -2 -2 -3 -1 0 1 1 -1 -2 -3 -3 -2 -2 -3 -4 -5 -3 -1 1 2 0 -1 -1 -2 -3 -3 -3 -5 -7 -8 -8 -7 -6 -4 -2 3 8 8 6 3 1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -8 -12 -17 -19 -15 -7 -1 -0 -1 -2 -2 -5 -10 -15 -16 -14 -13 -16 -23 -24 -17 -5 5 8 5 2 1 1 0 1 3 5 7 9 8 7 3 -1 -6 -11 -13 -12 -6 -1 1 1 -2 -5 -6 -7 -8 -9 -9 -9 -9 -9 -10 -13 -16 -18 -16 -9 -2 1 -2 -9 -16 -20 -23 -24 -22 -13 -6 -1 4 9 9 8 6 5 3 2 1 -2 -5 -4 -3 -2 -2 -5 -7 -8 -7 -1 7 11 11 9 8 10 9 5 -0 -5 -8 -10 -13 -15 -16 -16 -14 -12 -11 -13 -15 -15 -15 -15 -14 -13 -14 -16 -19 -18 -14 -11 -11 -12 -14 -15 -15 -11 -9 -9 -11 -12 -11 -9 -7 -7 -8 -9 -11 -12 -13 -14 -14 -15 -15 -15 -14 -15 -16 -15 -13 -12 -11 -10 -8 -5 -8 -11 -13 -14 -13 -12 -14 -17 -18 -18 -19 -20 -20 -21 -20 -19 -18 -18 -20 -22 -20 -17 -17 -20 -22 -23 -22 -21 -21 -21 -20 -18 -12 -8 -10 -16 -24 -26 -23 -21 -22 -23 -22 -20 -19 -18 -18 -18 -18 -18 -19 -20 -21 -22 -22 -20 -19 -20 -22 -24 -27 -29 -30 -31 -32 -30 -28 -27 -25 -24 -21 -21 -22 -23 -22 -21 -20 -19 -19 -20 -21 -20 -19 -19 -21 -21 -21 -20 -21 -20 -19 -19 -19 -22 -22 -23 -23 -22 -19 -17 -17 -19 -20 -22 -22 -22 -21 -22 -22 -23 -24 -23 -22 -21 -20 -19 -20 -20 -15 -11 -10 -15 -18 -20 -21 -23 -23 -23 -23 -22 -20 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -20 -21 -21 -23 -22 -21 -20 -18 -17 -16 -15 -14 -15 -6 -6 -6 -6 -4 -2 -1 -1 -2 -4 -4 -4 -4 -4 -5 -4 -4 -2 -0 0 -0 -1 -5 -8 -10 -10 -9 -7 -6 -6 -8 -12 -14 -14 -10 -6 -3 -1 0 -0 -2 -3 -2 -2 -3 -6 -9 -7 -5 -3 -3 -2 0 2 3 1 -1 -2 -3 -3 -3 -3 -3 -3 -4 -3 -0 1 1 -0 -1 -2 -4 -4 -4 -4 -5 -7 -10 -10 -8 -5 -2 1 6 9 9 6 2 0 -0 -0 -2 -4 -4 -4 -4 -4 -5 -9 -14 -19 -20 -13 -5 0 -0 -2 -4 -6 -9 -12 -15 -14 -13 -14 -20 -23 -20 -12 -0 7 7 4 2 -0 -1 -2 -2 0 3 7 9 10 8 5 -0 -5 -9 -11 -8 -4 -1 -1 -2 -4 -6 -7 -7 -8 -9 -10 -10 -9 -9 -11 -14 -17 -17 -12 -5 -0 -0 -6 -12 -17 -20 -22 -22 -16 -10 -6 -3 2 7 10 11 10 7 6 4 3 0 -2 -3 -2 -3 -5 -7 -9 -10 -7 1 8 11 12 11 11 11 9 5 0 -3 -6 -9 -12 -13 -14 -14 -14 -14 -16 -18 -17 -15 -15 -16 -15 -14 -15 -18 -18 -15 -12 -12 -12 -12 -12 -13 -11 -8 -8 -10 -12 -12 -11 -9 -8 -9 -10 -10 -12 -13 -15 -16 -16 -16 -15 -14 -15 -16 -15 -13 -11 -12 -12 -9 -4 -6 -9 -12 -14 -14 -13 -14 -16 -17 -17 -17 -18 -20 -21 -20 -19 -18 -19 -21 -21 -20 -17 -16 -19 -21 -22 -21 -21 -21 -20 -20 -19 -14 -7 -6 -11 -18 -21 -21 -22 -23 -24 -23 -21 -20 -19 -18 -18 -18 -18 -18 -19 -21 -24 -25 -23 -20 -20 -21 -23 -25 -26 -28 -31 -33 -32 -32 -31 -29 -25 -22 -21 -22 -23 -22 -21 -20 -18 -17 -19 -20 -20 -20 -21 -20 -20 -20 -20 -20 -20 -20 -19 -19 -21 -22 -23 -23 -21 -20 -18 -17 -18 -19 -21 -22 -22 -20 -22 -22 -23 -24 -23 -23 -21 -20 -19 -19 -19 -17 -12 -9 -13 -18 -20 -21 -22 -24 -23 -23 -22 -21 -19 -18 -18 -18 -18 -18 -18 -17 -17 -18 -20 -21 -20 -21 -22 -22 -21 -19 -18 -17 -16 -15 -15 -6 -6 -5 -3 -2 -1 -2 -2 -3 -4 -5 -4 -4 -3 -3 -4 -3 -2 -1 -0 -0 -1 -4 -7 -10 -11 -11 -8 -6 -7 -9 -10 -9 -8 -7 -7 -7 -5 -2 -1 -1 -2 -0 0 0 -2 -5 -6 -5 -4 -2 -2 -1 1 3 3 0 -1 -2 -2 -3 -3 -3 -3 -2 -2 -0 0 0 -1 -2 -3 -3 -4 -4 -4 -4 -6 -9 -11 -10 -7 -3 0 3 5 7 6 3 2 2 2 -1 -3 -5 -5 -5 -4 -3 -4 -9 -16 -20 -17 -9 -2 1 -2 -5 -7 -9 -11 -13 -14 -13 -14 -17 -19 -20 -16 -8 1 5 5 4 3 1 -2 -4 -6 -5 -2 3 6 9 8 5 1 -4 -9 -9 -6 -3 -1 -1 -3 -5 -6 -7 -7 -9 -10 -10 -10 -9 -11 -13 -15 -17 -14 -9 -3 -0 -3 -10 -13 -16 -19 -20 -17 -13 -9 -8 -5 0 7 13 15 13 11 9 8 5 1 -1 -3 -3 -5 -7 -9 -11 -11 -5 3 10 15 17 16 15 13 10 6 2 -2 -5 -9 -10 -11 -13 -14 -17 -19 -21 -19 -16 -15 -17 -17 -15 -13 -16 -17 -16 -13 -11 -12 -10 -9 -10 -12 -10 -9 -10 -12 -13 -13 -11 -10 -11 -11 -11 -12 -15 -17 -17 -17 -16 -15 -14 -15 -15 -15 -13 -10 -12 -13 -11 -6 -5 -7 -11 -14 -15 -14 -14 -14 -15 -16 -17 -18 -19 -21 -20 -19 -19 -19 -21 -21 -20 -17 -16 -18 -19 -20 -20 -21 -21 -21 -20 -19 -15 -8 -5 -8 -13 -16 -19 -22 -24 -25 -24 -22 -22 -21 -19 -18 -18 -18 -18 -19 -21 -24 -25 -25 -23 -22 -22 -24 -23 -24 -27 -31 -32 -32 -32 -32 -30 -27 -25 -23 -23 -23 -23 -22 -20 -18 -16 -18 -20 -20 -20 -21 -20 -20 -21 -20 -20 -21 -21 -20 -20 -20 -22 -23 -23 -20 -20 -18 -18 -19 -18 -20 -21 -21 -20 -21 -22 -23 -23 -22 -22 -21 -20 -19 -19 -19 -18 -15 -10 -13 -17 -19 -20 -23 -23 -23 -22 -22 -21 -20 -19 -19 -18 -18 -18 -18 -17 -17 -18 -19 -19 -20 -21 -22 -23 -22 -20 -19 -18 -17 -16 -15 -5 -4 -3 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -5 -5 -4 -3 -2 -1 -0 -0 -0 -2 -4 -6 -8 -8 -7 -5 -5 -6 -6 -3 -2 -4 -6 -7 -6 -5 -3 -2 -3 -2 -1 -1 -1 -0 -0 -1 -1 -1 -2 -2 -1 1 2 0 -1 -2 -2 -3 -3 -3 -3 -2 -1 -0 0 0 -1 -3 -4 -4 -5 -5 -5 -5 -5 -6 -9 -11 -9 -5 0 2 2 3 3 1 1 3 4 2 0 -2 -4 -5 -5 -2 -2 -5 -11 -19 -19 -12 -5 0 -1 -5 -8 -11 -11 -12 -13 -14 -14 -15 -17 -18 -17 -12 -5 -0 2 3 4 3 1 -2 -5 -7 -7 -5 -2 0 2 3 3 1 -3 -7 -7 -4 -1 0 -1 -3 -5 -6 -7 -8 -9 -10 -10 -10 -10 -12 -13 -15 -14 -12 -8 -3 -3 -8 -11 -13 -15 -17 -16 -14 -11 -10 -9 -7 -1 7 14 16 15 14 14 11 7 3 0 -2 -5 -6 -8 -9 -11 -9 -4 4 13 21 22 20 16 11 8 6 4 0 -3 -7 -9 -11 -14 -18 -21 -23 -23 -19 -16 -17 -17 -15 -11 -12 -14 -15 -13 -12 -14 -13 -11 -9 -11 -11 -10 -9 -10 -13 -13 -13 -12 -13 -13 -13 -14 -16 -19 -19 -18 -16 -15 -14 -15 -16 -16 -13 -11 -12 -14 -13 -9 -6 -6 -8 -12 -13 -13 -13 -14 -15 -18 -18 -19 -19 -22 -21 -20 -19 -19 -20 -21 -20 -17 -16 -17 -19 -20 -20 -21 -21 -21 -20 -19 -16 -11 -7 -4 -7 -12 -17 -21 -25 -26 -25 -24 -23 -23 -20 -19 -19 -19 -19 -19 -20 -22 -23 -26 -25 -24 -25 -27 -25 -25 -28 -31 -31 -31 -31 -31 -28 -27 -26 -25 -23 -23 -22 -21 -21 -19 -17 -17 -19 -21 -21 -20 -20 -21 -21 -21 -20 -21 -21 -21 -21 -21 -22 -23 -22 -20 -19 -19 -19 -19 -17 -18 -19 -20 -20 -20 -21 -22 -23 -22 -21 -21 -20 -19 -18 -18 -18 -17 -12 -13 -16 -19 -21 -22 -22 -21 -21 -21 -21 -21 -20 -19 -19 -19 -18 -18 -17 -17 -18 -19 -19 -20 -21 -22 -23 -22 -20 -19 -19 -18 -17 -16 -2 -2 -2 -3 -3 -3 -3 -3 -2 -3 -3 -4 -6 -8 -7 -4 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -5 -5 -5 -5 -5 -4 -2 -1 -2 -4 -4 -4 -5 -5 -4 -3 -3 -3 -2 -2 0 1 2 2 1 -0 -1 -2 -0 1 -0 -2 -2 -2 -2 -3 -3 -3 -3 -2 -1 -0 -0 -1 -2 -3 -4 -5 -6 -7 -6 -4 -2 -4 -6 -7 -5 -1 3 2 1 -1 -2 -1 1 4 5 4 1 -2 -5 -6 -3 -1 -2 -7 -15 -18 -14 -8 -3 -1 -3 -8 -13 -14 -12 -13 -14 -15 -14 -15 -16 -16 -13 -8 -4 -2 -0 1 2 2 1 -1 -4 -5 -6 -6 -5 -4 -3 -2 -1 -1 -4 -6 -5 -2 0 0 -1 -2 -4 -7 -8 -9 -10 -10 -10 -11 -12 -12 -13 -13 -13 -12 -9 -5 -6 -8 -10 -12 -14 -14 -13 -11 -10 -11 -11 -9 -4 4 10 14 15 16 15 13 9 6 2 -2 -5 -7 -8 -10 -11 -9 -5 3 14 21 23 21 16 11 10 9 6 2 -2 -5 -7 -11 -16 -21 -25 -27 -24 -18 -15 -15 -14 -11 -9 -11 -13 -14 -14 -15 -15 -12 -9 -9 -9 -9 -9 -9 -12 -14 -14 -14 -14 -14 -14 -15 -18 -21 -21 -19 -16 -14 -14 -15 -16 -16 -14 -12 -13 -14 -15 -12 -8 -5 -5 -9 -12 -13 -14 -14 -15 -17 -18 -19 -20 -22 -22 -21 -19 -18 -19 -21 -20 -18 -16 -17 -19 -21 -21 -21 -21 -21 -21 -20 -18 -15 -9 -2 -1 -7 -14 -21 -25 -26 -26 -26 -25 -23 -21 -20 -20 -20 -19 -18 -19 -20 -21 -24 -25 -25 -26 -28 -26 -26 -29 -31 -30 -30 -30 -30 -28 -26 -25 -23 -21 -21 -22 -22 -21 -20 -18 -17 -18 -21 -22 -21 -20 -20 -20 -20 -20 -20 -21 -21 -21 -21 -22 -22 -22 -20 -20 -20 -20 -18 -17 -17 -18 -19 -19 -20 -21 -22 -23 -22 -21 -21 -21 -19 -17 -17 -17 -18 -15 -14 -16 -19 -22 -22 -21 -21 -20 -19 -21 -22 -21 -20 -20 -19 -18 -18 -17 -18 -19 -19 -19 -19 -21 -23 -24 -23 -20 -19 -19 -18 -18 -16 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -3 -5 -7 -8 -6 -4 -3 -2 -3 -4 -4 -5 -5 -5 -5 -6 -6 -6 -4 -3 -3 -4 -4 -4 -3 -3 -4 -4 -4 -5 -4 -3 -3 -3 -4 -4 -1 1 3 3 3 1 0 -1 -1 -0 -1 -2 -3 -3 -3 -2 -2 -2 -3 -3 -2 -1 -1 -0 -2 -3 -4 -5 -7 -8 -7 -5 -1 1 1 -1 -3 -1 2 3 1 -1 -3 -3 -1 2 5 6 4 1 -3 -5 -4 -2 -1 -3 -10 -14 -14 -11 -6 -2 -3 -7 -13 -16 -13 -13 -14 -14 -13 -13 -14 -15 -13 -8 -5 -3 -3 -2 -1 1 1 0 -1 -3 -5 -5 -5 -5 -6 -6 -4 -2 -3 -4 -5 -4 -2 -0 1 -0 -2 -5 -7 -9 -10 -9 -9 -11 -12 -13 -11 -11 -12 -13 -13 -9 -5 -5 -7 -10 -12 -12 -12 -11 -9 -10 -11 -12 -13 -9 -1 6 10 13 15 16 15 12 9 4 -0 -4 -7 -9 -11 -11 -10 -7 1 11 19 23 19 14 12 12 11 8 4 0 -3 -6 -10 -16 -24 -29 -30 -21 -14 -11 -10 -9 -7 -8 -11 -14 -15 -15 -14 -13 -12 -10 -9 -9 -9 -9 -11 -13 -15 -16 -16 -15 -15 -16 -19 -22 -23 -21 -16 -12 -13 -14 -15 -16 -15 -13 -13 -14 -15 -14 -11 -7 -5 -6 -10 -13 -14 -13 -14 -15 -17 -18 -20 -22 -23 -22 -20 -18 -19 -21 -21 -19 -17 -17 -19 -21 -22 -21 -21 -21 -21 -22 -20 -18 -13 -5 0 -5 -12 -19 -24 -26 -27 -27 -26 -23 -22 -21 -21 -20 -19 -18 -18 -19 -20 -23 -23 -24 -25 -27 -27 -28 -30 -31 -30 -29 -29 -29 -28 -26 -24 -21 -19 -20 -22 -23 -24 -22 -19 -17 -17 -20 -22 -21 -21 -20 -19 -19 -20 -20 -20 -20 -20 -21 -22 -22 -22 -21 -20 -20 -20 -18 -17 -17 -18 -18 -18 -20 -22 -22 -22 -21 -21 -21 -21 -18 -17 -16 -16 -18 -17 -15 -16 -19 -22 -22 -21 -20 -19 -19 -21 -23 -23 -21 -20 -19 -18 -18 -17 -18 -19 -20 -19 -19 -21 -23 -24 -24 -21 -20 -19 -19 -17 -16 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -4 -5 -6 -5 -4 -3 -4 -5 -7 -8 -9 -9 -8 -8 -7 -5 -3 -1 -1 -3 -5 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -5 -3 -0 2 4 5 4 1 -0 -1 -1 -2 -3 -4 -3 -3 -2 -2 -2 -3 -3 -3 -2 -1 0 -1 -3 -5 -7 -7 -8 -9 -7 -3 2 4 4 2 -1 0 1 2 1 -1 -2 -2 1 5 7 6 3 -0 -4 -5 -3 -1 -0 -4 -10 -12 -12 -9 -5 -4 -7 -12 -16 -15 -14 -14 -14 -12 -12 -13 -14 -13 -9 -5 -3 -3 -3 -3 -3 -2 -1 -1 -2 -4 -5 -5 -4 -5 -6 -6 -5 -5 -5 -5 -5 -4 -2 -1 -0 -1 -3 -6 -8 -9 -9 -9 -10 -12 -13 -12 -10 -10 -12 -14 -13 -8 -5 -4 -7 -10 -12 -12 -11 -9 -9 -9 -12 -14 -15 -11 -5 0 4 9 13 14 15 14 12 7 1 -3 -6 -8 -9 -10 -11 -9 -3 6 14 17 15 13 13 13 12 9 5 1 -2 -5 -9 -16 -24 -31 -26 -17 -9 -5 -5 -5 -7 -9 -13 -15 -15 -14 -13 -14 -13 -12 -10 -10 -9 -10 -12 -15 -17 -17 -15 -15 -16 -19 -22 -24 -23 -18 -10 -11 -13 -15 -15 -15 -13 -13 -13 -14 -15 -14 -11 -7 -5 -8 -12 -14 -13 -13 -15 -16 -18 -19 -21 -23 -22 -21 -19 -20 -21 -21 -19 -17 -17 -19 -22 -22 -21 -20 -20 -21 -22 -21 -19 -15 -11 -3 -3 -8 -16 -23 -27 -29 -28 -27 -24 -22 -21 -21 -20 -19 -18 -18 -19 -20 -23 -24 -23 -23 -25 -27 -29 -31 -30 -29 -28 -28 -28 -27 -26 -24 -21 -20 -20 -22 -25 -26 -24 -20 -17 -17 -19 -21 -21 -21 -20 -18 -19 -20 -20 -20 -21 -20 -20 -21 -22 -22 -22 -21 -20 -20 -19 -18 -18 -18 -18 -18 -20 -21 -21 -20 -20 -20 -20 -21 -18 -16 -16 -15 -17 -17 -17 -17 -19 -22 -22 -22 -21 -19 -18 -19 -22 -24 -22 -20 -19 -18 -19 -18 -18 -18 -19 -19 -18 -20 -22 -24 -23 -21 -19 -19 -19 -17 -16 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -3 -2 -3 -7 -11 -14 -14 -11 -8 -7 -5 -3 -1 -1 -2 -4 -6 -7 -6 -5 -4 -4 -3 -3 -3 -3 -2 -3 -4 -6 -6 -4 -2 1 5 8 6 2 -1 -2 -2 -3 -3 -4 -4 -3 -3 -2 -2 -3 -4 -4 -3 -2 -0 -1 -3 -5 -7 -6 -7 -8 -9 -9 -4 1 4 4 1 -2 -1 1 3 3 1 0 1 4 7 8 6 2 -2 -4 -4 -2 -0 -1 -6 -9 -11 -11 -9 -6 -6 -10 -16 -17 -15 -14 -13 -12 -11 -12 -13 -14 -11 -7 -4 -2 -2 -4 -5 -5 -4 -3 -3 -4 -5 -6 -5 -4 -4 -5 -6 -7 -7 -6 -5 -4 -3 -3 -2 -0 -1 -3 -6 -8 -9 -8 -9 -11 -13 -14 -10 -8 -9 -12 -15 -12 -7 -2 -2 -6 -10 -12 -12 -11 -9 -8 -9 -12 -15 -16 -13 -9 -5 -2 1 5 9 14 16 13 9 3 -0 -3 -4 -6 -8 -12 -11 -7 1 7 9 9 10 11 13 12 9 5 2 -0 -3 -7 -14 -21 -25 -21 -13 -4 -3 -6 -8 -10 -12 -14 -15 -14 -13 -13 -14 -14 -13 -11 -9 -9 -11 -14 -16 -16 -14 -13 -15 -18 -20 -21 -23 -23 -13 -11 -12 -14 -15 -14 -13 -12 -12 -13 -14 -15 -15 -11 -6 -7 -10 -13 -13 -14 -15 -17 -18 -19 -21 -22 -22 -21 -19 -19 -20 -20 -19 -17 -17 -19 -22 -23 -22 -20 -19 -20 -21 -20 -19 -17 -15 -7 -4 -5 -13 -21 -26 -28 -27 -27 -25 -23 -22 -21 -19 -19 -18 -18 -19 -20 -23 -24 -24 -23 -26 -28 -29 -29 -28 -28 -28 -27 -26 -24 -26 -25 -23 -23 -21 -22 -25 -27 -24 -21 -19 -18 -17 -19 -20 -21 -20 -20 -20 -21 -21 -20 -21 -21 -21 -21 -23 -22 -22 -21 -20 -20 -20 -19 -19 -19 -19 -18 -19 -20 -20 -19 -19 -19 -19 -20 -18 -17 -16 -15 -16 -17 -18 -18 -19 -21 -23 -22 -21 -19 -18 -18 -20 -23 -22 -20 -19 -19 -19 -18 -17 -17 -18 -18 -18 -19 -21 -22 -21 -19 -18 -18 -19 -18 -17 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -3 -7 -13 -17 -17 -12 -6 -4 -3 -3 -2 -3 -4 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -2 -1 -2 -4 -6 -6 -6 -4 -1 3 7 6 2 -0 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -3 -4 -4 -5 -5 -3 -2 -2 -3 -4 -4 -4 -5 -8 -10 -9 -4 0 3 2 -1 -3 -2 1 4 4 3 3 4 8 9 7 4 1 -1 -2 -2 -2 -1 -3 -5 -8 -9 -10 -8 -8 -9 -14 -16 -15 -13 -13 -13 -11 -10 -11 -13 -13 -10 -7 -3 -1 -2 -4 -6 -6 -5 -4 -4 -5 -7 -7 -5 -3 -2 -5 -8 -8 -7 -6 -4 -4 -4 -4 -2 -0 -1 -3 -6 -8 -7 -8 -10 -14 -15 -12 -8 -7 -9 -13 -14 -11 -5 1 -1 -5 -9 -12 -12 -10 -9 -8 -9 -12 -16 -17 -15 -11 -10 -11 -10 -6 1 8 12 12 9 5 2 1 0 -2 -7 -10 -11 -8 -3 1 3 4 5 8 10 10 8 4 1 -1 -3 -6 -10 -17 -21 -18 -9 -4 -5 -6 -8 -9 -11 -13 -13 -13 -12 -12 -13 -13 -12 -10 -10 -11 -13 -16 -15 -12 -11 -13 -18 -19 -19 -21 -25 -15 -11 -11 -14 -15 -15 -14 -13 -13 -13 -14 -16 -18 -16 -11 -8 -8 -10 -12 -14 -16 -17 -18 -19 -20 -21 -22 -20 -19 -19 -20 -20 -19 -17 -18 -20 -22 -23 -22 -20 -19 -19 -18 -19 -19 -19 -18 -11 -5 -4 -10 -18 -24 -26 -26 -25 -23 -22 -21 -21 -19 -18 -18 -18 -18 -19 -21 -24 -25 -24 -26 -27 -27 -26 -27 -27 -27 -27 -26 -23 -25 -26 -26 -26 -23 -23 -25 -25 -23 -22 -21 -20 -17 -18 -20 -22 -22 -22 -22 -22 -21 -20 -20 -21 -21 -22 -23 -23 -22 -20 -19 -19 -19 -19 -19 -19 -20 -19 -19 -19 -18 -18 -18 -18 -19 -18 -17 -17 -16 -15 -16 -18 -18 -18 -19 -22 -23 -23 -21 -19 -18 -18 -19 -22 -21 -21 -20 -19 -18 -18 -17 -16 -17 -17 -17 -18 -19 -20 -20 -18 -17 -17 -18 -17 -17 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -3 -2 -2 -2 -3 -7 -13 -15 -15 -10 -5 -3 -3 -5 -5 -4 -4 -4 -3 -3 -4 -5 -5 -5 -4 -4 -3 -1 1 -0 -2 -4 -5 -6 -6 -3 1 4 3 1 -0 -1 -2 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -5 -7 -8 -6 -3 -1 -0 -1 -2 -3 -5 -7 -9 -8 -5 -2 -0 -1 -2 -2 -1 2 3 3 4 5 8 10 9 6 3 2 0 -1 -1 -2 -3 -4 -5 -6 -7 -9 -9 -9 -11 -14 -14 -13 -13 -14 -12 -10 -9 -11 -13 -13 -11 -8 -3 -0 -1 -3 -6 -7 -6 -5 -5 -6 -8 -7 -4 -1 -2 -6 -8 -9 -8 -6 -4 -5 -5 -5 -2 -0 -1 -3 -6 -6 -7 -10 -13 -16 -15 -10 -6 -6 -11 -14 -15 -11 -2 1 -0 -5 -9 -11 -11 -10 -9 -9 -10 -15 -18 -19 -16 -11 -9 -10 -11 -10 -7 -2 3 6 5 4 4 3 3 -1 -4 -6 -8 -8 -5 -3 -1 -1 -0 3 5 7 5 1 -2 -5 -6 -6 -10 -14 -16 -11 -7 -5 -5 -6 -7 -9 -11 -12 -12 -11 -11 -11 -12 -12 -11 -11 -11 -13 -15 -15 -12 -11 -11 -16 -19 -20 -21 -24 -16 -12 -12 -13 -14 -15 -14 -14 -14 -14 -14 -16 -18 -16 -14 -12 -10 -9 -10 -13 -15 -18 -18 -18 -19 -20 -20 -20 -20 -20 -20 -20 -18 -18 -19 -20 -22 -22 -21 -20 -18 -17 -16 -18 -20 -21 -20 -15 -9 -5 -7 -14 -21 -25 -24 -23 -21 -21 -21 -21 -19 -18 -18 -18 -18 -18 -19 -22 -26 -24 -25 -24 -23 -23 -25 -26 -26 -26 -26 -23 -23 -24 -26 -26 -25 -25 -25 -24 -23 -24 -24 -23 -19 -19 -21 -22 -23 -23 -22 -22 -21 -20 -20 -21 -22 -22 -22 -23 -22 -20 -18 -18 -18 -18 -19 -20 -20 -19 -18 -18 -18 -17 -18 -18 -18 -17 -17 -16 -16 -16 -16 -17 -18 -19 -19 -22 -23 -23 -21 -20 -19 -18 -18 -21 -21 -21 -20 -19 -18 -18 -18 -17 -16 -16 -17 -17 -17 -18 -18 -17 -16 -16 -17 -17 -17 -4 -4 -5 -6 -6 -4 -3 -2 -1 -2 -4 -5 -4 -2 -1 -1 -2 -4 -7 -9 -10 -9 -6 -4 -4 -5 -7 -8 -6 -3 -2 -2 -1 -3 -5 -6 -6 -5 -4 -2 0 2 1 -0 -2 -2 -4 -5 -3 -0 2 1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -8 -10 -9 -6 -3 -0 -1 -2 -3 -3 -4 -6 -7 -7 -6 -3 -2 -2 -2 -1 0 2 3 3 4 6 9 10 9 6 5 4 3 1 -2 -4 -6 -6 -4 -4 -7 -9 -10 -9 -10 -12 -13 -13 -14 -13 -11 -9 -9 -11 -12 -12 -11 -9 -3 -0 -0 -3 -6 -8 -7 -6 -5 -7 -9 -8 -4 -2 -4 -6 -8 -9 -7 -5 -5 -6 -7 -5 -2 -0 -1 -3 -5 -6 -8 -12 -16 -17 -13 -7 -3 -7 -12 -16 -16 -9 -1 2 -0 -5 -9 -10 -11 -11 -10 -10 -13 -18 -21 -20 -14 -9 -6 -8 -12 -13 -12 -8 -4 -3 -2 0 4 7 6 3 -1 -4 -6 -6 -4 -2 -2 -4 -5 -3 0 2 -1 -5 -8 -9 -9 -9 -10 -11 -11 -8 -6 -4 -4 -5 -6 -9 -11 -12 -11 -11 -11 -12 -13 -12 -11 -11 -12 -14 -15 -13 -11 -10 -14 -18 -21 -22 -22 -17 -14 -13 -12 -13 -14 -14 -15 -14 -15 -15 -16 -17 -17 -16 -14 -11 -8 -8 -10 -14 -17 -18 -18 -18 -19 -19 -20 -20 -20 -21 -20 -19 -19 -19 -20 -22 -22 -20 -18 -16 -14 -14 -16 -19 -22 -21 -18 -13 -7 -5 -11 -18 -23 -23 -22 -21 -22 -22 -21 -20 -19 -18 -18 -18 -18 -19 -21 -25 -22 -22 -21 -21 -21 -23 -23 -23 -25 -26 -23 -22 -22 -22 -22 -25 -27 -25 -23 -25 -26 -25 -24 -21 -21 -21 -22 -23 -23 -23 -22 -21 -19 -19 -20 -21 -22 -22 -22 -22 -21 -19 -18 -17 -17 -17 -19 -19 -18 -18 -18 -18 -17 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -18 -19 -19 -20 -22 -23 -22 -20 -19 -18 -18 -21 -22 -21 -20 -19 -18 -18 -18 -18 -16 -16 -17 -18 -16 -17 -18 -17 -15 -15 -16 -17 -17 -4 -5 -6 -7 -6 -4 -1 -0 -0 -1 -3 -4 -4 -2 -0 -1 -2 -4 -6 -7 -7 -5 -4 -4 -6 -7 -7 -7 -5 -2 0 0 -1 -3 -4 -5 -5 -3 -1 0 2 3 2 1 -0 -1 -2 -3 -3 -1 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -3 -3 -4 -6 -7 -8 -8 -7 -5 -3 -2 -3 -3 -3 -3 -3 -5 -6 -6 -6 -5 -4 -2 -1 0 1 3 4 3 4 6 8 9 8 7 7 6 5 1 -3 -7 -8 -7 -3 -4 -6 -9 -8 -8 -9 -11 -13 -14 -14 -13 -11 -9 -9 -10 -11 -11 -11 -8 -4 -2 -2 -5 -7 -8 -7 -6 -6 -8 -8 -7 -4 -3 -4 -7 -8 -8 -6 -5 -5 -6 -6 -5 -3 -1 -1 -3 -5 -7 -10 -15 -18 -16 -11 -4 -4 -9 -14 -17 -16 -8 -1 2 -0 -4 -8 -10 -11 -11 -10 -12 -16 -20 -23 -20 -14 -7 -3 -8 -13 -16 -15 -11 -9 -8 -7 -4 1 5 5 4 1 -2 -4 -3 -1 2 -2 -6 -8 -7 -4 -3 -5 -8 -10 -12 -13 -12 -11 -10 -8 -6 -5 -4 -5 -6 -8 -9 -11 -11 -10 -10 -11 -12 -11 -11 -10 -11 -12 -14 -14 -13 -10 -11 -16 -20 -22 -21 -19 -17 -15 -12 -12 -13 -13 -14 -14 -14 -14 -15 -17 -18 -17 -15 -12 -9 -8 -10 -13 -16 -18 -19 -19 -19 -19 -20 -21 -21 -21 -20 -20 -19 -19 -20 -22 -22 -19 -16 -14 -13 -13 -15 -18 -21 -22 -20 -16 -11 -5 -9 -15 -20 -23 -23 -23 -23 -23 -23 -22 -21 -20 -20 -21 -21 -20 -19 -22 -21 -21 -21 -20 -20 -21 -20 -20 -22 -25 -24 -23 -21 -21 -21 -24 -26 -25 -24 -25 -25 -24 -23 -22 -21 -21 -21 -22 -23 -23 -22 -20 -19 -18 -19 -19 -20 -21 -22 -22 -22 -21 -20 -18 -17 -16 -17 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -17 -16 -16 -16 -16 -17 -18 -18 -18 -19 -21 -22 -22 -21 -19 -19 -19 -21 -22 -21 -20 -19 -18 -18 -18 -17 -16 -17 -17 -18 -16 -17 -17 -16 -14 -14 -16 -18 -18 -5 -6 -6 -6 -5 -3 -0 1 0 -1 -2 -3 -3 -3 -1 -1 -2 -3 -4 -5 -5 -4 -4 -4 -4 -4 -4 -4 -2 1 2 0 -2 -4 -5 -5 -4 -1 1 2 2 3 3 2 -0 -1 -2 -2 -2 -2 -1 -0 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -3 -2 -2 -4 -5 -6 -6 -5 -4 -3 -1 1 3 4 5 4 3 4 6 8 8 9 10 9 4 -1 -5 -9 -10 -6 -3 -3 -6 -8 -7 -7 -9 -11 -13 -14 -14 -12 -10 -9 -9 -9 -8 -9 -8 -7 -5 -4 -5 -6 -8 -8 -7 -7 -7 -7 -7 -6 -5 -4 -6 -7 -8 -7 -6 -5 -4 -5 -6 -6 -3 -1 -2 -3 -5 -8 -14 -18 -18 -15 -7 -3 -5 -10 -16 -18 -15 -8 -2 2 -0 -4 -7 -9 -10 -10 -12 -14 -17 -22 -24 -21 -13 -4 -4 -9 -15 -16 -14 -10 -9 -9 -9 -6 -2 0 2 2 -0 -3 -3 -1 3 3 -1 -6 -9 -8 -3 0 0 -6 -13 -16 -17 -15 -12 -10 -8 -7 -6 -6 -6 -7 -7 -8 -10 -9 -8 -9 -11 -12 -11 -10 -9 -11 -14 -16 -15 -13 -14 -16 -19 -21 -21 -20 -19 -17 -13 -12 -12 -12 -13 -13 -14 -14 -15 -17 -17 -16 -15 -14 -12 -10 -10 -11 -15 -17 -19 -19 -20 -20 -19 -20 -21 -21 -20 -20 -20 -20 -20 -21 -21 -19 -16 -14 -14 -13 -14 -16 -20 -21 -20 -18 -14 -6 -8 -12 -17 -21 -22 -22 -22 -22 -24 -24 -24 -24 -24 -26 -27 -25 -22 -23 -22 -21 -20 -20 -19 -20 -19 -19 -19 -23 -24 -23 -21 -22 -23 -24 -25 -25 -25 -24 -24 -22 -23 -22 -21 -20 -20 -21 -22 -22 -21 -20 -20 -19 -18 -18 -19 -20 -21 -23 -23 -22 -21 -20 -19 -17 -16 -17 -17 -18 -19 -18 -18 -19 -18 -17 -17 -17 -17 -17 -17 -17 -17 -18 -19 -18 -18 -20 -21 -22 -21 -20 -19 -19 -21 -23 -23 -21 -20 -18 -17 -17 -16 -16 -17 -18 -17 -16 -16 -17 -16 -14 -14 -15 -17 -18 -7 -7 -7 -6 -5 -2 1 1 1 0 -1 -2 -3 -3 -2 -1 -1 -1 -2 -4 -4 -5 -4 -4 -3 -4 -3 -1 1 1 0 -2 -4 -6 -6 -4 -2 -1 1 2 2 2 3 2 -0 -2 -3 -2 -1 -1 -1 -0 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -3 -4 -4 -5 -5 -4 -4 -5 -5 -6 -4 -3 -3 -3 -3 -2 -2 -3 -4 -5 -6 -6 -5 -4 -3 -1 2 4 6 6 3 2 2 4 6 9 12 13 7 2 -3 -8 -12 -9 -3 -1 -2 -7 -7 -7 -8 -10 -12 -13 -14 -13 -11 -9 -8 -7 -6 -6 -6 -7 -7 -6 -5 -6 -7 -8 -8 -9 -7 -6 -5 -6 -6 -6 -6 -7 -8 -7 -6 -4 -3 -4 -6 -7 -6 -3 -2 -1 -2 -6 -12 -17 -18 -17 -12 -7 -5 -8 -13 -16 -16 -14 -9 -2 1 -0 -2 -5 -7 -9 -11 -13 -15 -20 -25 -26 -22 -12 -5 -6 -11 -15 -15 -10 -7 -7 -9 -9 -8 -6 -4 -2 -2 -2 -3 -2 1 4 3 -1 -8 -12 -9 -4 -0 -3 -10 -15 -18 -18 -17 -15 -12 -9 -7 -7 -7 -6 -6 -6 -8 -8 -7 -7 -11 -12 -12 -10 -9 -11 -15 -17 -17 -14 -13 -14 -16 -19 -20 -20 -19 -18 -15 -13 -12 -12 -13 -14 -14 -14 -15 -15 -15 -15 -14 -14 -14 -13 -11 -10 -11 -14 -17 -19 -20 -20 -19 -20 -21 -21 -20 -20 -20 -20 -21 -20 -20 -18 -16 -15 -15 -14 -15 -16 -19 -20 -20 -18 -17 -10 -7 -9 -14 -18 -19 -19 -20 -22 -24 -26 -27 -28 -27 -29 -30 -28 -26 -25 -24 -22 -19 -18 -17 -18 -18 -18 -18 -20 -21 -22 -22 -24 -25 -25 -25 -25 -26 -25 -23 -22 -23 -21 -20 -19 -19 -20 -21 -22 -21 -22 -22 -21 -20 -19 -19 -19 -20 -22 -23 -23 -22 -21 -20 -19 -17 -16 -17 -18 -19 -19 -19 -19 -18 -17 -17 -17 -18 -19 -19 -18 -18 -19 -19 -18 -17 -19 -20 -21 -21 -20 -18 -19 -21 -23 -23 -22 -20 -19 -18 -17 -15 -16 -17 -18 -17 -16 -16 -17 -17 -15 -14 -15 -16 -17 -8 -9 -8 -7 -4 -2 0 1 1 0 -1 -3 -4 -4 -3 -1 -0 -1 -2 -4 -5 -6 -5 -5 -4 -2 0 1 0 -1 -3 -4 -5 -5 -4 -2 -1 -0 0 1 2 1 1 1 -1 -2 -3 -2 -1 -0 0 -0 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -4 -4 -4 -4 -3 -3 -4 -4 -4 -3 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -1 2 6 8 6 2 -1 -2 1 6 12 15 11 4 -1 -6 -11 -10 -5 -1 -0 -4 -7 -8 -8 -9 -10 -11 -12 -12 -11 -9 -8 -7 -6 -4 -3 -4 -6 -7 -7 -7 -7 -7 -8 -10 -9 -7 -4 -4 -5 -6 -6 -7 -8 -8 -7 -5 -2 -2 -4 -6 -7 -6 -3 -1 -0 -3 -10 -15 -18 -18 -15 -10 -8 -8 -10 -13 -15 -15 -13 -9 -3 0 2 1 -1 -6 -9 -11 -13 -17 -23 -28 -28 -23 -13 -8 -8 -13 -16 -12 -7 -4 -4 -7 -8 -9 -9 -7 -5 -4 -4 -4 -3 0 2 0 -5 -10 -12 -10 -7 -3 -4 -9 -15 -19 -21 -19 -15 -11 -7 -7 -8 -7 -5 -5 -6 -6 -6 -7 -10 -11 -11 -10 -10 -11 -15 -18 -19 -15 -12 -12 -14 -18 -20 -19 -18 -18 -18 -15 -13 -12 -13 -14 -15 -15 -14 -13 -14 -14 -14 -14 -15 -16 -13 -10 -8 -10 -14 -19 -21 -21 -21 -21 -21 -21 -20 -20 -20 -20 -21 -21 -20 -19 -17 -16 -16 -15 -15 -16 -19 -20 -19 -19 -19 -15 -10 -8 -12 -18 -17 -17 -19 -23 -26 -28 -29 -30 -29 -31 -31 -30 -27 -25 -24 -21 -18 -16 -16 -16 -17 -18 -18 -18 -19 -21 -22 -25 -26 -27 -26 -26 -27 -26 -24 -22 -23 -21 -20 -19 -19 -21 -22 -22 -23 -23 -24 -24 -22 -21 -20 -20 -20 -20 -23 -23 -23 -22 -21 -19 -18 -17 -18 -19 -20 -20 -19 -19 -17 -16 -16 -17 -18 -19 -19 -18 -17 -19 -19 -18 -17 -18 -19 -19 -20 -20 -18 -19 -21 -22 -22 -21 -20 -19 -18 -17 -16 -16 -17 -18 -17 -16 -17 -18 -19 -17 -15 -15 -15 -16 -9 -10 -9 -7 -5 -2 0 1 -1 -3 -4 -5 -5 -5 -3 -1 -0 -1 -3 -4 -5 -6 -6 -5 -1 1 2 1 -2 -4 -5 -5 -5 -3 -2 0 1 1 1 1 1 1 -1 -1 -2 -3 -3 -3 -2 -1 -0 -0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -4 -5 -5 -5 -5 -6 -5 -4 -3 -2 -2 -3 -2 2 7 8 5 -1 -7 -6 -0 9 15 15 8 1 -4 -8 -9 -6 -3 -0 -2 -5 -8 -9 -10 -10 -10 -10 -11 -11 -10 -8 -7 -6 -5 -2 -1 -3 -6 -8 -8 -8 -7 -8 -10 -11 -8 -5 -3 -3 -4 -6 -8 -9 -10 -9 -6 -3 -1 -2 -4 -7 -7 -5 -2 -0 -2 -7 -13 -17 -18 -16 -13 -10 -8 -8 -11 -13 -14 -14 -14 -11 -6 -1 3 5 2 -2 -7 -11 -16 -22 -27 -30 -29 -21 -12 -7 -9 -15 -15 -10 -4 -0 -2 -4 -7 -9 -9 -7 -6 -5 -5 -6 -5 -3 -1 -1 -5 -10 -13 -13 -9 -5 -5 -9 -16 -19 -19 -16 -12 -8 -8 -9 -9 -7 -4 -3 -4 -4 -5 -6 -8 -9 -10 -11 -12 -15 -18 -20 -16 -10 -9 -13 -20 -21 -19 -17 -18 -18 -16 -13 -11 -12 -13 -14 -13 -12 -12 -14 -16 -16 -16 -17 -18 -17 -13 -7 -7 -12 -17 -21 -22 -22 -21 -20 -21 -21 -21 -21 -21 -22 -22 -21 -19 -17 -16 -17 -16 -16 -16 -18 -19 -20 -19 -20 -18 -13 -10 -11 -18 -18 -18 -21 -27 -28 -29 -29 -30 -30 -30 -29 -27 -24 -22 -21 -19 -17 -16 -15 -16 -16 -17 -18 -18 -19 -21 -22 -26 -27 -27 -27 -26 -28 -27 -25 -24 -24 -22 -21 -20 -20 -22 -23 -23 -24 -24 -25 -25 -24 -22 -22 -22 -21 -20 -22 -23 -22 -22 -22 -21 -19 -19 -20 -20 -21 -20 -19 -18 -18 -16 -16 -16 -18 -19 -19 -18 -16 -18 -18 -18 -18 -18 -18 -19 -19 -19 -18 -19 -20 -21 -22 -21 -20 -19 -18 -16 -16 -16 -17 -17 -17 -17 -17 -18 -20 -18 -17 -15 -15 -16 -10 -9 -8 -5 -2 0 0 -2 -4 -6 -7 -7 -6 -4 -2 -1 -1 -2 -4 -5 -6 -6 -5 -2 2 2 1 -1 -4 -5 -6 -5 -3 -1 -0 1 1 2 2 2 1 -0 -2 -3 -4 -3 -3 -3 -3 -3 -2 -1 -1 -0 -0 -0 -1 -2 -3 -4 -4 -5 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 0 1 0 -0 -0 -0 -1 -3 -4 -5 -5 -5 -6 -6 -5 -3 -1 -0 -1 -2 -1 3 7 6 0 -9 -13 -7 2 12 14 10 4 -1 -5 -7 -6 -4 -2 -1 -3 -6 -9 -11 -11 -10 -10 -9 -10 -9 -7 -6 -6 -6 -3 -1 -1 -3 -7 -9 -9 -8 -8 -10 -11 -10 -7 -4 -2 -3 -4 -8 -10 -11 -11 -9 -4 -0 1 -1 -5 -7 -6 -4 -2 -1 -5 -10 -15 -18 -17 -15 -12 -10 -8 -9 -9 -10 -12 -15 -15 -13 -8 -2 5 8 5 0 -6 -12 -19 -24 -28 -30 -26 -18 -9 -5 -10 -14 -14 -10 -3 1 -0 -3 -7 -9 -8 -7 -6 -6 -7 -8 -7 -4 -1 -3 -7 -12 -16 -15 -10 -6 -6 -10 -15 -16 -15 -13 -10 -9 -10 -12 -11 -6 -2 0 0 0 -1 -5 -8 -11 -13 -13 -15 -18 -21 -18 -11 -9 -13 -21 -22 -20 -17 -17 -18 -17 -14 -12 -11 -12 -12 -13 -13 -14 -17 -18 -19 -18 -19 -20 -20 -18 -12 -8 -10 -14 -19 -21 -22 -21 -21 -20 -21 -22 -22 -23 -23 -22 -20 -18 -16 -17 -17 -17 -17 -17 -18 -19 -20 -20 -22 -21 -17 -13 -11 -17 -19 -20 -23 -27 -28 -28 -29 -30 -30 -27 -25 -22 -20 -19 -19 -18 -17 -15 -15 -15 -15 -17 -18 -18 -19 -21 -22 -24 -26 -27 -27 -27 -28 -28 -26 -25 -25 -23 -21 -21 -22 -23 -23 -24 -24 -25 -26 -26 -25 -23 -23 -22 -22 -21 -21 -22 -21 -21 -22 -22 -21 -20 -19 -20 -21 -20 -19 -18 -18 -17 -16 -16 -18 -18 -19 -19 -17 -17 -18 -18 -18 -18 -19 -19 -19 -18 -18 -18 -19 -21 -22 -21 -20 -19 -17 -15 -15 -16 -16 -17 -17 -18 -18 -19 -20 -19 -18 -17 -16 -16 -10 -8 -5 -1 1 -0 -2 -5 -7 -9 -9 -8 -6 -4 -2 -1 -2 -4 -5 -6 -6 -5 -2 1 1 0 -1 -2 -4 -5 -5 -3 -1 -0 -1 -1 1 3 3 2 1 -1 -2 -4 -4 -4 -3 -3 -4 -4 -3 -2 -2 -2 -1 -0 -1 -2 -4 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -1 1 2 2 1 0 -0 -1 -3 -4 -4 -5 -5 -5 -5 -4 -4 -2 -0 1 0 -1 2 5 5 1 -8 -15 -13 -4 8 14 11 6 1 -4 -5 -4 -3 -2 -2 -3 -5 -7 -11 -13 -12 -10 -9 -9 -8 -6 -4 -4 -5 -4 -2 -1 -1 -4 -7 -8 -9 -8 -8 -9 -10 -10 -8 -5 -3 -3 -6 -10 -12 -13 -11 -7 -1 3 3 -1 -5 -6 -6 -4 -2 -3 -7 -12 -16 -17 -16 -15 -12 -8 -7 -6 -8 -10 -12 -15 -15 -14 -10 -3 4 7 5 0 -7 -14 -21 -25 -28 -28 -24 -16 -7 -5 -10 -15 -15 -11 -2 2 1 -3 -7 -7 -8 -8 -8 -7 -9 -10 -9 -6 -4 -5 -9 -15 -18 -16 -12 -8 -8 -11 -12 -13 -13 -11 -9 -10 -12 -15 -12 -5 1 4 3 1 -3 -7 -12 -14 -14 -15 -18 -22 -19 -14 -12 -14 -21 -22 -20 -18 -17 -17 -16 -16 -14 -14 -13 -13 -12 -11 -13 -16 -19 -19 -19 -20 -22 -23 -22 -18 -13 -10 -11 -16 -19 -21 -21 -21 -20 -20 -21 -23 -24 -24 -22 -19 -17 -16 -19 -20 -20 -18 -18 -19 -19 -19 -21 -24 -24 -21 -17 -13 -17 -20 -22 -22 -23 -26 -27 -28 -29 -29 -24 -20 -18 -18 -18 -18 -18 -18 -15 -15 -15 -15 -16 -18 -19 -20 -21 -22 -23 -24 -25 -26 -26 -28 -29 -27 -25 -24 -23 -22 -22 -23 -24 -24 -24 -25 -25 -26 -26 -25 -24 -23 -23 -22 -22 -21 -21 -21 -20 -22 -22 -21 -20 -19 -20 -20 -20 -20 -19 -19 -18 -17 -17 -18 -19 -19 -19 -18 -17 -17 -18 -18 -18 -19 -19 -18 -18 -18 -17 -18 -21 -23 -21 -20 -18 -17 -15 -14 -14 -15 -17 -18 -18 -19 -19 -20 -20 -20 -19 -17 -17 -8 -4 -1 1 -0 -4 -5 -7 -8 -10 -10 -8 -5 -4 -3 -3 -4 -5 -6 -7 -5 -3 -1 -2 -3 -3 -3 -3 -4 -4 -2 0 1 -2 -3 -3 -1 2 2 2 0 -1 -3 -4 -4 -3 -1 -2 -3 -4 -4 -3 -3 -3 -2 -2 -2 -4 -6 -7 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -2 -1 -0 1 3 2 0 -1 -2 -2 -3 -4 -4 -5 -4 -3 -3 -3 -4 -2 -0 1 1 2 4 4 1 -6 -14 -15 -9 2 10 10 8 3 -3 -5 -3 -1 -1 -1 -2 -4 -6 -8 -12 -13 -12 -11 -9 -7 -4 -2 -1 -3 -4 -4 -3 -2 -3 -4 -6 -6 -6 -6 -7 -8 -9 -9 -8 -6 -5 -6 -8 -10 -12 -13 -11 -4 2 5 4 -1 -5 -6 -5 -3 -1 -4 -9 -15 -16 -16 -16 -15 -12 -8 -6 -6 -8 -9 -12 -14 -16 -16 -12 -5 1 5 4 -2 -9 -16 -21 -25 -27 -26 -23 -16 -8 -7 -10 -14 -15 -10 -4 0 -1 -5 -7 -9 -9 -9 -8 -8 -10 -10 -9 -7 -6 -7 -11 -17 -19 -18 -14 -9 -8 -9 -11 -12 -10 -8 -8 -11 -16 -17 -11 -2 6 7 4 1 -4 -12 -16 -16 -16 -18 -21 -21 -18 -14 -13 -19 -21 -20 -19 -18 -17 -17 -17 -16 -16 -15 -13 -12 -11 -12 -15 -18 -20 -20 -21 -22 -24 -25 -23 -18 -13 -11 -12 -16 -18 -19 -20 -19 -19 -21 -22 -24 -23 -21 -19 -17 -17 -20 -22 -22 -20 -19 -20 -20 -20 -21 -24 -25 -23 -21 -17 -17 -20 -22 -21 -18 -21 -25 -28 -29 -28 -24 -19 -17 -17 -17 -18 -19 -19 -16 -15 -15 -16 -17 -17 -18 -20 -21 -22 -22 -22 -23 -25 -25 -28 -30 -28 -24 -23 -23 -22 -23 -24 -24 -24 -25 -25 -26 -26 -26 -25 -24 -23 -23 -22 -21 -22 -22 -21 -20 -21 -21 -21 -21 -20 -20 -20 -20 -20 -21 -19 -18 -18 -18 -18 -19 -19 -19 -17 -17 -17 -17 -18 -18 -18 -18 -18 -17 -16 -15 -16 -20 -22 -21 -19 -18 -18 -16 -15 -14 -14 -17 -19 -19 -19 -20 -21 -22 -22 -22 -19 -18 -4 0 1 -1 -4 -6 -7 -8 -9 -9 -8 -7 -5 -4 -5 -5 -5 -4 -4 -3 -3 -5 -7 -7 -6 -5 -5 -5 -4 -1 0 0 -1 -3 -4 -3 -1 1 2 1 -1 -3 -4 -4 -4 -2 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -4 -6 -8 -8 -7 -6 -6 -5 -5 -5 -4 -3 -3 -3 -3 -2 -1 -0 1 2 0 -1 -3 -2 -2 -3 -3 -3 -3 -2 -2 -2 -3 -3 -2 0 2 4 4 3 1 -4 -11 -14 -12 -4 4 7 7 4 -1 -3 -2 -1 0 -0 -2 -3 -5 -7 -10 -11 -12 -12 -11 -8 -4 -0 2 1 -1 -3 -4 -4 -4 -5 -5 -4 -3 -3 -4 -5 -7 -9 -10 -10 -10 -10 -9 -8 -9 -10 -12 -10 -4 3 6 3 -1 -4 -5 -4 -1 -2 -6 -11 -14 -15 -16 -17 -16 -12 -8 -6 -6 -7 -9 -12 -15 -17 -17 -13 -7 -1 2 0 -4 -10 -16 -21 -24 -26 -25 -22 -15 -8 -7 -10 -14 -13 -10 -5 -2 -4 -6 -6 -7 -8 -8 -9 -9 -8 -8 -10 -9 -8 -8 -14 -18 -19 -17 -13 -9 -8 -9 -10 -9 -7 -7 -9 -14 -17 -14 -7 3 8 7 3 -3 -10 -15 -16 -17 -17 -19 -21 -19 -15 -11 -17 -19 -19 -19 -19 -19 -19 -19 -18 -17 -17 -15 -13 -11 -12 -14 -17 -19 -20 -21 -23 -25 -26 -26 -23 -18 -14 -11 -13 -14 -16 -17 -17 -18 -19 -21 -22 -23 -21 -19 -18 -18 -21 -22 -22 -21 -20 -20 -21 -22 -22 -24 -25 -24 -23 -21 -18 -19 -21 -20 -17 -17 -20 -25 -27 -27 -23 -19 -18 -17 -18 -20 -21 -20 -17 -16 -16 -17 -17 -17 -18 -19 -22 -23 -22 -22 -22 -23 -24 -26 -27 -26 -25 -23 -23 -22 -23 -24 -24 -24 -25 -26 -26 -27 -26 -25 -24 -23 -22 -22 -21 -22 -23 -23 -22 -21 -21 -20 -21 -20 -20 -20 -20 -20 -20 -19 -18 -18 -18 -18 -19 -19 -18 -17 -16 -16 -17 -19 -20 -19 -18 -18 -17 -16 -15 -15 -18 -20 -20 -19 -19 -19 -18 -17 -15 -15 -18 -19 -20 -19 -20 -21 -22 -23 -24 -21 -20 -1 -1 -2 -4 -5 -5 -7 -8 -9 -9 -7 -6 -6 -7 -8 -6 -2 -0 -1 -4 -7 -9 -10 -8 -7 -6 -5 -4 -3 -2 -1 -2 -3 -4 -3 -2 -1 1 1 -0 -1 -3 -5 -5 -4 -2 -1 -0 -1 -2 -2 -2 -2 -2 -3 -4 -6 -7 -8 -7 -6 -6 -6 -6 -6 -6 -4 -3 -3 -3 -2 -2 -2 -1 -1 -0 -1 -2 -3 -3 -3 -3 -2 -1 -2 -2 -2 -2 -2 -2 -2 -1 2 4 5 4 1 -2 -8 -13 -13 -8 -1 3 4 2 -1 -3 -2 -1 0 -0 -2 -3 -5 -6 -8 -9 -11 -12 -13 -10 -5 -0 4 5 3 -0 -3 -4 -5 -6 -6 -4 -2 -1 -1 -2 -4 -7 -10 -12 -13 -14 -12 -8 -6 -7 -11 -12 -9 -3 4 5 3 -1 -3 -4 -3 -2 -3 -8 -12 -14 -15 -16 -17 -15 -12 -8 -6 -6 -8 -9 -12 -14 -15 -15 -14 -10 -4 -1 -2 -5 -11 -16 -21 -24 -25 -24 -21 -14 -8 -7 -11 -13 -13 -9 -5 -3 -3 -4 -4 -5 -7 -9 -9 -8 -8 -10 -11 -11 -9 -12 -14 -16 -17 -15 -11 -8 -7 -7 -7 -7 -6 -6 -10 -14 -15 -12 -5 4 6 4 -0 -7 -13 -16 -17 -17 -19 -20 -19 -16 -12 -14 -17 -18 -18 -18 -19 -20 -20 -20 -20 -19 -18 -16 -13 -12 -13 -15 -18 -19 -21 -23 -26 -27 -26 -25 -22 -17 -11 -8 -8 -10 -13 -15 -15 -16 -18 -20 -21 -21 -19 -18 -19 -21 -22 -22 -21 -20 -20 -21 -21 -22 -24 -25 -25 -25 -25 -21 -19 -20 -21 -19 -16 -15 -19 -24 -24 -22 -19 -18 -18 -19 -21 -22 -21 -18 -17 -16 -16 -17 -18 -18 -19 -22 -23 -23 -22 -21 -20 -22 -23 -24 -24 -24 -24 -24 -23 -23 -24 -24 -24 -25 -26 -26 -26 -26 -26 -24 -23 -22 -22 -21 -22 -23 -23 -23 -23 -21 -20 -21 -21 -21 -20 -19 -19 -19 -19 -19 -18 -18 -19 -19 -19 -19 -18 -17 -16 -17 -20 -21 -20 -19 -18 -17 -16 -15 -15 -17 -18 -19 -19 -19 -20 -19 -18 -15 -15 -19 -20 -20 -20 -20 -20 -21 -23 -24 -22 -21 -2 -4 -4 -4 -4 -5 -7 -8 -8 -7 -6 -7 -8 -9 -8 -3 1 1 -2 -5 -8 -10 -10 -8 -6 -5 -5 -4 -4 -4 -4 -4 -5 -4 -3 -2 -1 -0 -1 -2 -2 -3 -5 -5 -4 -3 -2 -1 -0 -0 -1 -1 -1 -2 -4 -5 -7 -7 -6 -5 -4 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -3 -2 -0 -1 -2 -3 -3 -1 -1 -1 -1 0 3 5 5 3 0 -5 -10 -12 -9 -4 -2 -1 -1 -4 -3 -2 -1 -1 -1 -2 -3 -5 -6 -7 -7 -9 -11 -13 -12 -8 -3 2 6 6 4 -0 -4 -5 -7 -7 -6 -4 -1 -0 -0 -2 -5 -8 -11 -14 -16 -14 -10 -6 -4 -7 -10 -11 -9 -2 4 5 4 1 -2 -3 -2 -2 -5 -10 -13 -14 -15 -16 -17 -15 -11 -7 -6 -7 -9 -10 -12 -13 -14 -14 -14 -10 -6 -4 -4 -7 -12 -17 -21 -22 -23 -23 -19 -14 -9 -10 -11 -11 -10 -8 -5 -3 -1 -1 -3 -5 -7 -8 -8 -8 -9 -10 -11 -10 -11 -12 -13 -15 -17 -15 -11 -8 -6 -7 -7 -6 -5 -7 -10 -14 -15 -14 -5 3 5 3 -3 -10 -15 -17 -17 -18 -19 -19 -17 -14 -13 -15 -17 -19 -19 -19 -19 -20 -20 -21 -20 -19 -17 -15 -13 -13 -13 -16 -18 -20 -23 -27 -28 -27 -25 -22 -17 -11 -7 -6 -8 -12 -14 -14 -14 -15 -18 -20 -21 -21 -20 -20 -21 -22 -22 -21 -21 -20 -20 -20 -21 -23 -24 -25 -26 -26 -23 -21 -20 -21 -21 -18 -14 -14 -19 -22 -21 -18 -18 -19 -20 -21 -21 -21 -20 -19 -19 -18 -18 -19 -20 -21 -23 -23 -23 -23 -22 -20 -22 -23 -23 -23 -22 -23 -23 -24 -22 -23 -23 -23 -25 -26 -26 -26 -26 -26 -25 -23 -23 -22 -21 -22 -23 -23 -23 -23 -22 -21 -23 -22 -22 -21 -19 -18 -19 -20 -19 -18 -18 -18 -19 -19 -19 -19 -18 -17 -17 -20 -21 -21 -20 -19 -17 -16 -16 -15 -17 -18 -19 -18 -18 -19 -19 -17 -15 -16 -18 -20 -21 -21 -21 -20 -21 -22 -23 -22 -20 -4 -5 -4 -4 -4 -6 -7 -7 -7 -6 -6 -8 -9 -8 -5 -1 -0 -1 -4 -6 -8 -9 -10 -9 -7 -6 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -2 -3 -4 -4 -5 -5 -4 -3 -2 -1 0 1 0 -0 -1 -2 -4 -6 -6 -6 -4 -3 -2 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -3 -3 -4 -4 -5 -5 -4 -3 -1 -0 -1 -2 -3 -3 -1 -0 1 1 3 5 5 4 2 -2 -8 -10 -9 -4 -3 -3 -5 -7 -6 -4 -2 -2 -3 -4 -5 -5 -6 -7 -7 -7 -9 -11 -12 -10 -6 -1 4 7 7 4 -1 -4 -6 -8 -8 -6 -4 -2 -1 -1 -3 -5 -8 -11 -14 -15 -14 -10 -5 -3 -6 -10 -11 -8 -1 4 6 5 1 -1 -1 -1 -3 -8 -12 -13 -13 -14 -17 -17 -14 -9 -7 -7 -9 -11 -12 -12 -11 -11 -12 -13 -12 -9 -6 -4 -8 -13 -17 -20 -21 -23 -22 -20 -16 -12 -10 -9 -9 -10 -7 -4 -2 -0 -1 -2 -5 -7 -8 -9 -9 -9 -10 -11 -11 -12 -13 -14 -16 -17 -15 -11 -7 -6 -6 -6 -6 -6 -8 -12 -15 -17 -12 -3 4 6 -1 -8 -13 -15 -16 -16 -17 -18 -18 -16 -13 -14 -16 -19 -19 -18 -17 -16 -18 -20 -20 -19 -17 -17 -16 -14 -13 -13 -16 -19 -23 -27 -29 -28 -25 -21 -16 -12 -9 -8 -8 -11 -14 -14 -14 -15 -18 -22 -23 -22 -21 -20 -21 -21 -21 -21 -21 -20 -20 -20 -21 -23 -24 -24 -25 -25 -23 -22 -20 -20 -19 -19 -18 -14 -18 -21 -21 -18 -18 -19 -20 -21 -21 -21 -20 -20 -21 -21 -20 -20 -20 -23 -24 -24 -24 -24 -24 -23 -23 -24 -24 -24 -23 -22 -22 -22 -22 -22 -23 -24 -24 -25 -25 -26 -26 -26 -24 -23 -23 -22 -21 -21 -22 -22 -23 -23 -22 -22 -23 -23 -22 -21 -20 -19 -20 -20 -19 -18 -18 -18 -19 -19 -19 -19 -19 -18 -18 -20 -21 -21 -21 -20 -18 -16 -16 -16 -17 -18 -18 -18 -18 -18 -17 -16 -14 -15 -17 -19 -21 -22 -22 -21 -21 -21 -21 -20 -19 -5 -5 -4 -4 -5 -7 -7 -7 -6 -5 -6 -7 -6 -5 -2 -1 -3 -4 -5 -5 -6 -7 -8 -10 -10 -8 -7 -7 -6 -5 -5 -5 -5 -4 -2 -2 -1 -2 -4 -5 -6 -6 -6 -5 -4 -3 -1 -0 1 1 0 -0 -2 -3 -5 -6 -6 -4 -3 -1 -2 -3 -3 -3 -3 -2 -2 -2 -3 -4 -5 -5 -5 -4 -3 -2 -2 -3 -4 -4 -4 -4 -4 -3 -1 -1 -2 -3 -4 -4 -2 0 3 4 6 7 6 5 0 -6 -9 -7 -3 -2 -3 -6 -10 -9 -6 -3 -2 -3 -5 -6 -6 -7 -7 -7 -8 -9 -10 -11 -10 -8 -5 -0 4 7 7 3 -1 -4 -6 -7 -8 -7 -6 -4 -4 -2 -2 -3 -5 -10 -14 -16 -14 -8 -3 -3 -6 -9 -10 -6 -1 4 6 4 1 -0 -1 -2 -5 -9 -11 -11 -12 -16 -18 -17 -13 -9 -8 -10 -12 -14 -12 -10 -8 -8 -11 -14 -13 -10 -6 -6 -9 -13 -16 -18 -21 -22 -22 -21 -17 -11 -9 -9 -9 -8 -6 -4 -2 -1 -1 -3 -5 -8 -9 -9 -9 -9 -11 -12 -13 -13 -13 -16 -17 -17 -15 -11 -7 -6 -7 -7 -7 -8 -10 -13 -18 -16 -8 1 7 1 -5 -9 -12 -13 -13 -14 -16 -18 -17 -14 -14 -15 -18 -20 -18 -16 -15 -17 -20 -21 -20 -19 -18 -19 -17 -15 -12 -14 -18 -22 -25 -28 -27 -25 -21 -15 -13 -11 -9 -8 -11 -14 -15 -15 -16 -19 -23 -24 -23 -22 -21 -20 -21 -21 -20 -21 -21 -20 -20 -21 -23 -24 -24 -24 -23 -23 -22 -20 -18 -16 -17 -18 -19 -20 -22 -21 -19 -18 -19 -19 -20 -20 -20 -20 -20 -20 -20 -21 -21 -20 -22 -23 -24 -24 -24 -24 -25 -25 -26 -25 -25 -24 -22 -22 -22 -22 -23 -24 -24 -23 -24 -25 -25 -26 -25 -24 -23 -23 -22 -21 -21 -22 -22 -23 -23 -23 -23 -22 -23 -23 -22 -20 -21 -21 -20 -18 -17 -17 -18 -19 -19 -19 -19 -19 -19 -19 -20 -20 -20 -21 -21 -18 -17 -17 -17 -17 -18 -18 -19 -19 -18 -17 -16 -15 -16 -17 -19 -21 -23 -22 -21 -21 -20 -20 -19 -19 -6 -5 -4 -5 -6 -7 -7 -6 -6 -6 -6 -5 -4 -2 -2 -3 -5 -6 -5 -4 -4 -4 -6 -9 -11 -12 -11 -8 -6 -5 -5 -5 -4 -3 -1 -1 -1 -3 -5 -6 -7 -7 -7 -6 -4 -2 -0 1 1 1 -0 -1 -2 -3 -5 -6 -5 -3 -2 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -3 -4 -6 -6 -4 -2 -2 -3 -4 -5 -5 -4 -4 -4 -3 -2 -1 -3 -4 -5 -4 -2 1 5 7 8 8 6 2 -2 -5 -5 -3 -2 -2 -5 -8 -9 -9 -6 -4 -3 -4 -6 -7 -8 -8 -7 -8 -9 -11 -11 -10 -7 -4 -2 2 7 10 9 4 -0 -3 -5 -7 -8 -9 -9 -8 -5 -1 1 0 -4 -10 -15 -16 -13 -7 -3 -3 -5 -9 -9 -5 -1 3 4 2 1 0 -1 -3 -6 -8 -10 -11 -14 -17 -18 -16 -11 -9 -10 -13 -16 -15 -12 -7 -4 -7 -11 -13 -12 -9 -7 -8 -10 -13 -15 -18 -20 -21 -21 -18 -13 -11 -10 -11 -9 -8 -6 -5 -5 -3 -3 -3 -6 -7 -7 -8 -9 -11 -14 -14 -13 -13 -14 -15 -16 -16 -14 -9 -6 -6 -7 -7 -7 -8 -10 -15 -17 -14 -6 2 3 -1 -6 -9 -10 -10 -11 -14 -17 -18 -15 -14 -14 -17 -19 -19 -17 -15 -16 -19 -20 -20 -20 -19 -20 -20 -18 -13 -13 -15 -19 -23 -26 -25 -23 -20 -16 -13 -11 -10 -10 -12 -15 -17 -17 -17 -20 -23 -24 -23 -22 -21 -21 -21 -20 -20 -21 -20 -20 -20 -21 -23 -24 -23 -22 -22 -22 -21 -19 -17 -16 -16 -19 -21 -21 -21 -19 -19 -19 -19 -19 -20 -20 -20 -20 -20 -18 -18 -21 -22 -20 -20 -21 -22 -22 -22 -23 -24 -26 -27 -27 -26 -25 -23 -22 -22 -23 -23 -24 -24 -23 -23 -24 -25 -25 -25 -24 -23 -23 -22 -21 -21 -22 -22 -22 -23 -23 -23 -22 -23 -23 -22 -21 -21 -20 -19 -17 -16 -17 -18 -19 -20 -20 -20 -21 -21 -20 -18 -19 -21 -21 -20 -19 -18 -18 -18 -17 -17 -18 -20 -20 -20 -18 -17 -16 -16 -18 -21 -22 -23 -22 -20 -20 -19 -19 -19 -19 -5 -4 -4 -5 -6 -6 -6 -6 -6 -6 -5 -4 -2 -2 -3 -4 -5 -5 -5 -4 -3 -2 -3 -5 -9 -13 -14 -12 -7 -5 -6 -5 -3 -1 -0 -0 -2 -5 -8 -8 -8 -7 -6 -5 -3 -1 1 1 1 0 -0 -1 -2 -4 -5 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 -0 -2 -4 -6 -5 -3 -2 -2 -3 -4 -5 -4 -4 -3 -3 -2 -2 -2 -4 -5 -6 -4 -2 2 6 9 11 9 5 1 -3 -5 -4 -3 -3 -4 -5 -7 -8 -8 -7 -5 -5 -5 -7 -8 -8 -8 -8 -9 -11 -13 -12 -10 -6 -3 1 6 11 13 9 4 -0 -3 -5 -7 -9 -10 -10 -8 -5 -1 2 0 -5 -11 -16 -16 -12 -6 -3 -3 -5 -7 -7 -5 -2 -0 1 2 2 1 -1 -3 -6 -8 -9 -12 -15 -18 -18 -14 -11 -11 -13 -18 -19 -15 -8 -2 -2 -6 -10 -14 -14 -10 -9 -9 -11 -12 -14 -16 -18 -19 -18 -16 -13 -12 -12 -8 -6 -6 -7 -8 -7 -6 -3 -3 -4 -5 -6 -8 -11 -14 -15 -14 -13 -12 -13 -14 -15 -16 -13 -9 -6 -5 -6 -6 -6 -9 -13 -16 -16 -12 -6 -0 -0 -3 -7 -9 -8 -8 -10 -14 -17 -16 -14 -13 -15 -18 -19 -17 -15 -17 -19 -20 -20 -21 -20 -20 -20 -19 -16 -14 -15 -18 -21 -23 -22 -21 -20 -17 -14 -12 -11 -12 -15 -17 -18 -19 -19 -21 -23 -24 -24 -24 -23 -22 -21 -20 -20 -21 -21 -20 -21 -22 -23 -23 -23 -21 -21 -21 -20 -18 -17 -17 -18 -20 -23 -24 -22 -21 -20 -19 -19 -19 -19 -20 -21 -21 -20 -18 -17 -19 -21 -20 -19 -18 -19 -20 -20 -21 -23 -24 -25 -26 -26 -26 -25 -23 -23 -24 -24 -24 -23 -23 -23 -24 -25 -26 -26 -24 -23 -23 -22 -21 -21 -21 -21 -22 -22 -23 -23 -22 -22 -23 -22 -21 -20 -19 -18 -17 -16 -17 -18 -19 -20 -20 -21 -22 -22 -20 -19 -18 -20 -21 -20 -20 -20 -20 -19 -16 -16 -19 -21 -22 -21 -19 -18 -17 -17 -18 -21 -24 -24 -22 -20 -19 -19 -19 -19 -19 -4 -4 -4 -5 -6 -5 -6 -6 -7 -6 -4 -3 -2 -2 -3 -4 -4 -4 -4 -4 -2 -0 -0 -2 -5 -9 -11 -11 -7 -6 -5 -4 -2 0 0 -1 -3 -6 -9 -10 -9 -8 -6 -3 -0 1 2 1 1 0 0 -0 -2 -3 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -0 1 1 0 -2 -4 -5 -4 -3 -2 -2 -4 -4 -4 -3 -3 -3 -3 -2 -2 -3 -5 -6 -6 -4 -1 4 8 11 11 9 5 0 -4 -4 -5 -6 -6 -4 -4 -5 -7 -8 -8 -6 -6 -6 -8 -9 -9 -8 -9 -11 -13 -14 -13 -11 -7 -3 1 7 12 12 8 2 -2 -3 -4 -5 -6 -7 -8 -8 -6 -2 2 -0 -5 -11 -15 -13 -10 -7 -5 -5 -5 -5 -5 -4 -4 -2 -0 2 3 1 -1 -3 -5 -8 -10 -13 -17 -19 -17 -13 -11 -13 -17 -20 -19 -13 -4 0 -2 -7 -13 -16 -14 -11 -10 -9 -10 -11 -13 -15 -17 -17 -16 -14 -12 -12 -10 -8 -7 -7 -9 -10 -9 -6 -3 -1 -2 -4 -7 -10 -13 -16 -16 -15 -13 -12 -12 -13 -16 -15 -12 -8 -6 -5 -4 -4 -7 -11 -15 -16 -15 -13 -7 -2 -2 -4 -8 -7 -7 -8 -12 -16 -17 -15 -13 -13 -17 -18 -18 -16 -17 -19 -20 -20 -20 -20 -20 -21 -21 -19 -17 -16 -17 -18 -19 -20 -20 -20 -17 -14 -13 -13 -15 -17 -18 -18 -18 -19 -21 -22 -23 -24 -25 -24 -22 -20 -19 -20 -21 -21 -21 -22 -22 -22 -22 -22 -21 -20 -20 -21 -19 -18 -17 -18 -19 -23 -25 -25 -24 -21 -19 -19 -19 -18 -19 -21 -23 -23 -20 -17 -18 -19 -18 -18 -17 -17 -18 -18 -19 -20 -21 -21 -22 -23 -24 -25 -24 -25 -26 -26 -24 -23 -23 -24 -24 -24 -26 -25 -24 -23 -24 -23 -22 -21 -21 -20 -21 -21 -21 -22 -21 -22 -22 -22 -20 -20 -19 -17 -17 -17 -17 -18 -19 -20 -21 -21 -22 -21 -20 -19 -19 -19 -20 -20 -21 -21 -22 -20 -18 -17 -19 -22 -23 -22 -20 -19 -18 -18 -19 -21 -23 -23 -22 -20 -19 -19 -19 -19 -19 -3 -4 -5 -5 -5 -5 -6 -7 -7 -6 -4 -3 -3 -3 -3 -3 -4 -5 -5 -5 -2 -0 -0 -1 -3 -5 -6 -7 -6 -6 -5 -2 0 1 -0 -2 -3 -6 -9 -10 -10 -8 -5 -1 1 2 2 2 2 2 1 0 -1 -2 -3 -2 -2 -2 -3 -2 -2 -1 -0 -0 0 -0 -1 -1 -1 -0 1 1 -0 -2 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -4 -5 -6 -5 -2 2 6 9 10 10 7 3 -1 -2 -5 -8 -10 -8 -3 -3 -4 -7 -8 -8 -7 -6 -7 -8 -9 -8 -8 -9 -11 -12 -13 -13 -11 -9 -6 -1 5 9 8 5 -0 -2 -2 -1 -1 -3 -6 -9 -10 -7 -2 -0 -2 -7 -12 -13 -12 -10 -8 -7 -6 -5 -4 -3 -3 -4 -3 -1 2 3 2 0 -2 -5 -9 -12 -16 -20 -19 -16 -14 -13 -16 -19 -20 -18 -10 -2 0 -3 -9 -14 -15 -14 -13 -11 -9 -9 -10 -12 -15 -16 -15 -14 -12 -12 -11 -10 -9 -8 -8 -8 -8 -7 -6 -4 -4 -5 -6 -8 -12 -16 -18 -18 -15 -12 -9 -9 -13 -15 -14 -10 -7 -6 -4 -3 -4 -9 -13 -15 -16 -16 -12 -7 -3 -3 -8 -8 -7 -7 -9 -14 -18 -18 -15 -13 -16 -18 -18 -17 -17 -18 -19 -20 -20 -20 -21 -22 -22 -20 -19 -17 -16 -15 -16 -18 -19 -19 -17 -15 -14 -14 -15 -17 -17 -17 -17 -18 -20 -22 -23 -24 -24 -23 -21 -19 -19 -20 -21 -21 -22 -22 -21 -22 -22 -22 -20 -20 -21 -21 -21 -19 -17 -16 -17 -21 -24 -26 -26 -23 -20 -19 -19 -19 -20 -22 -24 -25 -22 -19 -17 -17 -17 -18 -17 -17 -17 -17 -18 -18 -18 -19 -20 -20 -21 -23 -24 -26 -27 -27 -26 -24 -25 -25 -24 -24 -24 -23 -23 -24 -24 -23 -22 -20 -21 -20 -20 -20 -19 -20 -20 -21 -22 -22 -20 -20 -19 -18 -17 -17 -18 -18 -19 -20 -20 -21 -21 -20 -20 -20 -20 -20 -20 -20 -20 -20 -21 -21 -19 -18 -20 -22 -23 -22 -21 -20 -19 -19 -19 -21 -21 -22 -22 -21 -19 -19 -19 -20 -19 -3 -5 -5 -5 -4 -5 -6 -6 -6 -5 -4 -4 -4 -3 -2 -2 -5 -6 -6 -4 -2 -1 -1 -2 -3 -2 -2 -3 -4 -4 -3 -1 1 1 -1 -3 -4 -6 -8 -8 -8 -7 -4 -0 1 2 2 2 3 3 2 1 -0 -1 -2 -2 -2 -2 -3 -2 -2 -1 -1 -0 -0 0 -0 -1 -2 -1 -1 0 0 0 -1 -3 -4 -5 -5 -3 -3 -2 -2 -2 -2 -2 -3 -4 -3 -3 -4 -5 -5 -2 2 5 7 8 9 8 5 1 1 -2 -7 -12 -12 -7 -3 -2 -5 -7 -8 -7 -6 -6 -7 -8 -7 -7 -7 -8 -9 -11 -13 -13 -12 -11 -9 -5 0 3 3 1 -2 -2 -1 -1 -1 -3 -6 -9 -10 -7 -3 -3 -5 -9 -11 -11 -10 -9 -9 -9 -8 -6 -3 -1 -1 -2 -2 -1 1 2 3 1 -1 -6 -10 -15 -20 -21 -19 -16 -14 -14 -15 -17 -18 -15 -7 -1 0 -3 -10 -14 -16 -16 -14 -12 -10 -9 -10 -12 -14 -14 -13 -12 -11 -11 -10 -10 -9 -7 -6 -5 -6 -7 -7 -7 -6 -5 -6 -10 -14 -17 -18 -17 -13 -9 -7 -10 -13 -13 -11 -8 -7 -5 -3 -2 -7 -11 -14 -16 -17 -15 -12 -8 -4 -6 -7 -7 -7 -8 -12 -16 -18 -17 -15 -16 -17 -17 -17 -17 -16 -16 -18 -20 -21 -22 -22 -22 -21 -19 -18 -15 -13 -12 -14 -17 -19 -17 -16 -15 -16 -16 -17 -17 -16 -16 -17 -20 -21 -22 -23 -23 -22 -20 -18 -18 -19 -20 -21 -22 -22 -21 -22 -22 -21 -20 -20 -21 -21 -21 -20 -18 -17 -17 -20 -23 -25 -26 -24 -22 -21 -21 -21 -21 -22 -23 -24 -22 -20 -18 -17 -16 -18 -18 -18 -16 -17 -17 -18 -18 -18 -18 -18 -19 -20 -22 -24 -26 -28 -27 -25 -26 -26 -25 -25 -23 -22 -23 -25 -24 -23 -22 -21 -21 -21 -21 -20 -19 -20 -19 -20 -22 -22 -21 -21 -20 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -20 -21 -22 -21 -21 -19 -19 -19 -19 -20 -21 -20 -18 -19 -21 -22 -22 -21 -20 -20 -20 -20 -20 -21 -22 -21 -20 -19 -19 -20 -20 -19 -4 -5 -5 -4 -4 -5 -6 -6 -5 -4 -4 -4 -4 -2 -1 -2 -4 -6 -5 -4 -3 -3 -3 -3 -3 -2 -1 -1 -2 -2 -1 -0 0 1 -1 -3 -5 -6 -7 -7 -6 -4 -2 -1 -0 -0 1 3 4 4 3 2 1 0 -1 -1 -1 -2 -2 -2 -1 -1 -0 -0 -0 0 0 -1 -2 -3 -2 -1 -0 0 -0 -1 -2 -3 -4 -3 -2 -1 -1 -2 -1 -2 -2 -4 -3 -3 -3 -4 -5 -3 1 6 9 9 8 6 4 2 3 1 -3 -10 -14 -12 -8 -4 -4 -6 -7 -7 -5 -4 -5 -5 -6 -5 -5 -6 -7 -8 -10 -12 -12 -12 -12 -12 -9 -6 -2 -0 -1 -2 -3 -3 -2 -2 -3 -5 -8 -9 -7 -6 -6 -8 -9 -10 -9 -9 -9 -10 -10 -10 -7 -2 0 1 -0 -2 -2 -0 1 3 2 -1 -6 -12 -20 -23 -21 -18 -14 -13 -13 -15 -16 -17 -14 -7 -1 1 -5 -11 -15 -17 -18 -17 -14 -10 -7 -8 -11 -13 -13 -12 -11 -11 -10 -10 -9 -7 -5 -4 -5 -8 -9 -8 -7 -6 -7 -9 -13 -15 -16 -17 -16 -13 -9 -10 -11 -12 -10 -8 -7 -6 -4 -2 -5 -9 -13 -15 -16 -16 -15 -13 -10 -8 -7 -7 -7 -8 -10 -14 -18 -18 -17 -16 -15 -13 -14 -15 -14 -13 -15 -19 -21 -22 -21 -20 -20 -19 -17 -14 -11 -10 -11 -14 -17 -17 -17 -17 -18 -18 -17 -16 -16 -17 -19 -20 -21 -22 -22 -22 -21 -20 -18 -18 -19 -20 -21 -22 -22 -22 -22 -22 -21 -21 -21 -21 -20 -20 -21 -21 -21 -20 -21 -23 -25 -25 -25 -24 -23 -24 -24 -23 -22 -21 -22 -21 -20 -19 -18 -17 -18 -19 -20 -17 -18 -18 -19 -19 -18 -17 -18 -18 -18 -18 -21 -24 -28 -26 -25 -25 -25 -25 -25 -23 -22 -22 -25 -25 -24 -23 -23 -22 -22 -21 -20 -20 -20 -20 -21 -22 -22 -22 -21 -21 -19 -20 -19 -19 -18 -18 -18 -19 -20 -21 -21 -22 -23 -22 -21 -19 -18 -18 -18 -19 -20 -21 -18 -19 -21 -22 -22 -22 -21 -20 -20 -20 -20 -21 -21 -21 -21 -18 -19 -20 -20 -19 -5 -6 -5 -4 -4 -5 -5 -5 -5 -5 -5 -4 -3 -1 -1 -2 -4 -5 -4 -3 -3 -3 -4 -4 -4 -2 -1 -0 -0 1 1 0 0 0 -1 -3 -5 -7 -7 -6 -4 -3 -2 -4 -4 -2 1 3 4 4 3 3 3 2 1 0 -1 -1 -1 -1 -0 0 0 0 0 1 1 -0 -1 -2 -2 -1 -1 -2 -2 -2 -1 -1 -1 -2 -2 -1 -1 -2 -2 -2 -2 -2 -3 -3 -2 -3 -4 -4 -1 4 10 12 9 5 3 2 3 4 1 -4 -10 -14 -13 -10 -6 -8 -8 -7 -4 -2 -2 -2 -3 -3 -4 -5 -6 -6 -7 -9 -10 -11 -11 -12 -13 -11 -8 -4 -2 -2 -4 -6 -6 -4 -2 -2 -4 -8 -9 -8 -8 -8 -8 -8 -7 -7 -7 -9 -11 -12 -12 -8 -3 1 2 1 -1 -2 -2 1 2 2 -2 -9 -16 -21 -21 -19 -15 -14 -14 -14 -14 -15 -14 -10 -5 -0 -2 -8 -13 -18 -20 -19 -17 -12 -6 -5 -8 -12 -13 -12 -11 -10 -10 -10 -9 -7 -6 -5 -6 -7 -8 -8 -8 -7 -7 -9 -11 -13 -13 -15 -16 -15 -14 -14 -12 -10 -8 -6 -7 -8 -8 -5 -4 -6 -10 -14 -15 -16 -17 -18 -16 -13 -10 -8 -7 -7 -9 -13 -16 -18 -18 -16 -14 -12 -13 -14 -13 -11 -13 -18 -21 -22 -20 -20 -20 -19 -16 -14 -12 -9 -9 -11 -16 -18 -18 -18 -19 -19 -18 -17 -16 -18 -20 -21 -21 -21 -21 -20 -20 -19 -18 -18 -19 -20 -21 -22 -22 -21 -21 -22 -21 -21 -21 -21 -20 -20 -20 -21 -22 -21 -21 -23 -24 -25 -25 -25 -25 -25 -25 -24 -22 -21 -22 -21 -21 -20 -18 -18 -18 -19 -20 -18 -19 -20 -20 -21 -18 -17 -17 -18 -19 -18 -20 -23 -28 -26 -24 -23 -24 -24 -24 -23 -22 -22 -25 -26 -25 -23 -23 -22 -22 -21 -20 -20 -20 -21 -22 -22 -22 -22 -22 -21 -20 -20 -20 -19 -18 -18 -18 -20 -21 -21 -22 -21 -20 -20 -21 -19 -17 -17 -18 -19 -20 -21 -18 -18 -21 -23 -23 -24 -23 -21 -21 -20 -19 -20 -21 -21 -21 -19 -18 -19 -20 -20 -6 -6 -5 -5 -5 -5 -4 -4 -5 -5 -5 -4 -2 -1 -1 -2 -4 -4 -4 -2 -2 -3 -4 -5 -5 -3 -1 0 2 2 1 0 0 1 -1 -4 -6 -8 -7 -5 -3 -3 -5 -7 -6 -3 1 4 4 3 3 3 3 4 4 3 2 2 1 1 2 1 1 1 1 2 2 1 0 -0 -0 0 0 -1 -2 -3 -2 -1 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -2 -1 -2 -2 1 6 10 10 7 3 0 2 3 3 1 -3 -8 -11 -12 -10 -11 -12 -10 -7 -1 1 1 -0 -0 -1 -2 -4 -5 -5 -5 -7 -8 -9 -10 -12 -13 -14 -11 -7 -4 -4 -5 -6 -5 -4 -2 -3 -6 -9 -10 -9 -9 -9 -8 -6 -4 -5 -7 -10 -13 -14 -13 -10 -5 1 3 1 -2 -3 -2 0 1 -1 -5 -12 -18 -20 -19 -16 -15 -14 -13 -13 -14 -13 -11 -9 -5 -4 -5 -9 -14 -17 -18 -17 -15 -9 -5 -6 -9 -12 -12 -11 -10 -10 -10 -9 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -9 -11 -13 -12 -13 -14 -15 -16 -17 -16 -12 -6 -3 -4 -7 -9 -7 -4 -4 -7 -12 -15 -17 -19 -20 -19 -15 -12 -10 -8 -6 -8 -10 -13 -17 -18 -16 -13 -12 -14 -14 -13 -12 -12 -18 -22 -22 -19 -19 -19 -17 -15 -13 -13 -11 -9 -9 -14 -17 -19 -20 -20 -19 -19 -18 -18 -19 -20 -20 -21 -20 -20 -19 -19 -19 -19 -19 -20 -20 -21 -21 -21 -21 -21 -22 -21 -21 -21 -20 -20 -20 -20 -20 -22 -22 -22 -23 -24 -25 -25 -25 -25 -25 -25 -24 -23 -23 -22 -23 -22 -21 -19 -19 -18 -19 -20 -18 -18 -19 -21 -22 -19 -17 -17 -18 -20 -19 -21 -24 -29 -27 -25 -24 -24 -24 -22 -22 -21 -21 -26 -26 -25 -23 -23 -22 -22 -21 -20 -20 -20 -21 -21 -22 -22 -22 -22 -21 -21 -20 -19 -19 -18 -18 -19 -20 -21 -22 -22 -20 -19 -21 -21 -20 -18 -17 -17 -19 -20 -21 -18 -18 -20 -23 -23 -25 -25 -23 -22 -21 -20 -20 -20 -21 -21 -19 -18 -18 -20 -21 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -3 -2 -1 -2 -3 -4 -4 -4 -3 -2 -3 -5 -6 -5 -4 -2 1 2 1 -0 -0 0 1 -2 -5 -7 -8 -6 -4 -3 -4 -7 -7 -4 -1 2 3 3 4 4 4 4 5 5 5 5 5 4 4 3 3 2 1 1 1 2 2 2 1 1 2 2 2 1 -0 -1 -0 2 3 2 2 1 0 -1 -2 -2 -1 -1 -2 -3 -2 -1 1 0 -0 1 5 7 7 4 1 1 1 0 0 2 0 -4 -7 -9 -11 -14 -15 -13 -7 -2 1 1 2 2 2 0 -2 -2 -3 -4 -6 -7 -8 -9 -12 -15 -16 -13 -8 -5 -3 -4 -5 -6 -6 -5 -5 -8 -9 -10 -10 -11 -10 -7 -3 -2 -4 -7 -11 -13 -15 -14 -12 -6 -1 1 -1 -2 -2 -2 -1 -1 -4 -9 -15 -18 -18 -17 -15 -14 -13 -13 -14 -13 -12 -11 -10 -8 -6 -7 -10 -14 -16 -18 -17 -14 -7 -4 -5 -8 -11 -10 -10 -9 -9 -9 -7 -7 -6 -7 -7 -7 -7 -8 -8 -8 -10 -12 -14 -12 -12 -12 -13 -16 -18 -19 -16 -9 -2 -1 -4 -8 -9 -6 -3 -4 -8 -13 -18 -21 -23 -20 -15 -14 -13 -10 -7 -7 -8 -11 -15 -18 -16 -13 -12 -14 -14 -14 -13 -13 -17 -21 -21 -18 -16 -15 -14 -13 -14 -15 -13 -10 -8 -12 -17 -20 -21 -20 -19 -19 -19 -20 -20 -20 -20 -20 -20 -20 -19 -20 -20 -21 -20 -20 -20 -20 -20 -20 -21 -21 -22 -21 -21 -20 -20 -19 -19 -20 -20 -21 -22 -22 -23 -24 -25 -24 -24 -25 -25 -25 -25 -25 -24 -24 -26 -26 -23 -20 -19 -18 -18 -19 -18 -17 -17 -19 -20 -18 -17 -17 -18 -21 -20 -21 -25 -29 -28 -26 -25 -25 -24 -23 -22 -21 -22 -25 -25 -24 -22 -23 -22 -22 -21 -20 -19 -19 -20 -21 -22 -22 -22 -22 -22 -21 -20 -19 -18 -18 -18 -18 -19 -20 -22 -21 -20 -19 -21 -22 -20 -18 -17 -17 -18 -19 -21 -18 -18 -20 -22 -23 -25 -25 -23 -22 -22 -21 -20 -19 -20 -20 -19 -18 -19 -20 -21 -6 -6 -5 -4 -4 -3 -4 -4 -4 -4 -4 -2 -2 -2 -2 -3 -4 -5 -4 -3 -3 -4 -6 -7 -6 -3 -1 1 1 -0 -1 -0 1 1 -1 -4 -6 -6 -4 -3 -3 -4 -5 -3 -1 1 2 1 2 3 4 4 4 4 4 4 4 5 5 4 4 4 3 1 0 -0 0 1 1 2 1 1 1 2 3 2 1 0 2 3 4 4 3 3 2 0 -0 0 1 0 -2 -2 -1 2 3 2 0 0 2 3 3 3 2 -1 -3 -5 -2 3 4 2 -2 -5 -10 -14 -16 -14 -9 -4 -1 0 2 3 3 2 0 -0 -2 -3 -5 -4 -6 -9 -12 -15 -15 -13 -10 -7 -5 -5 -6 -7 -8 -7 -8 -9 -9 -10 -11 -11 -9 -6 -2 -2 -4 -7 -10 -11 -13 -14 -12 -9 -5 -2 -1 -0 -2 -2 -2 -3 -8 -13 -16 -17 -16 -14 -14 -13 -13 -13 -13 -13 -13 -13 -10 -7 -6 -6 -10 -13 -16 -18 -17 -12 -5 -2 -4 -7 -8 -9 -9 -9 -8 -7 -6 -6 -7 -7 -7 -7 -6 -7 -7 -9 -12 -16 -14 -11 -10 -12 -14 -17 -19 -18 -13 -6 -2 -2 -6 -9 -7 -4 -1 -3 -10 -17 -21 -22 -18 -14 -13 -15 -15 -11 -9 -8 -10 -14 -17 -16 -14 -12 -14 -15 -15 -14 -13 -16 -18 -18 -15 -14 -13 -12 -12 -14 -16 -14 -11 -8 -11 -17 -20 -21 -21 -19 -18 -20 -21 -21 -20 -20 -20 -20 -20 -20 -20 -21 -21 -20 -19 -19 -19 -19 -20 -21 -22 -22 -21 -21 -21 -20 -20 -20 -20 -21 -21 -21 -22 -23 -24 -25 -25 -24 -24 -24 -24 -24 -24 -23 -26 -29 -29 -25 -21 -19 -18 -18 -19 -18 -17 -17 -18 -19 -17 -17 -17 -19 -21 -21 -22 -24 -28 -28 -27 -26 -26 -25 -24 -23 -22 -21 -24 -24 -23 -24 -24 -24 -22 -20 -19 -19 -19 -20 -21 -22 -22 -22 -22 -22 -22 -21 -19 -18 -19 -18 -18 -19 -19 -21 -21 -20 -20 -21 -22 -22 -20 -19 -19 -18 -19 -21 -20 -20 -21 -22 -23 -24 -24 -24 -23 -23 -23 -21 -19 -20 -20 -19 -18 -19 -20 -21 -6 -6 -5 -4 -3 -3 -3 -4 -4 -4 -3 -2 -2 -2 -3 -4 -5 -5 -5 -3 -4 -6 -8 -8 -6 -3 -1 0 -0 -1 -1 -0 1 1 -1 -3 -4 -3 -2 -2 -3 -4 -3 0 2 1 -1 -2 -1 1 3 4 4 3 1 0 -0 1 2 3 3 4 3 2 1 -0 -1 -1 -1 0 0 -0 -1 -0 1 1 0 -1 -0 1 3 3 3 3 4 3 2 2 3 3 1 -1 -2 1 5 6 3 -1 -2 -3 -2 1 3 0 -4 -9 -10 -4 2 7 7 3 -3 -9 -15 -18 -15 -11 -6 -2 -0 2 3 4 3 2 1 -0 -2 -1 -0 -3 -7 -12 -15 -15 -14 -12 -9 -7 -6 -7 -8 -9 -9 -9 -9 -9 -10 -11 -11 -9 -5 -3 -3 -5 -8 -8 -9 -10 -12 -13 -11 -7 -3 1 -1 -2 -2 -3 -6 -11 -15 -16 -15 -13 -13 -13 -12 -11 -12 -13 -14 -13 -11 -8 -6 -5 -7 -10 -13 -16 -19 -16 -10 -4 -2 -4 -6 -8 -9 -10 -9 -8 -6 -6 -6 -7 -7 -6 -6 -6 -7 -9 -12 -16 -16 -13 -10 -9 -11 -14 -17 -18 -17 -12 -6 -3 -3 -8 -9 -7 -3 -1 -6 -12 -17 -20 -17 -14 -14 -16 -18 -16 -13 -10 -9 -11 -15 -16 -16 -13 -14 -15 -15 -14 -14 -14 -14 -13 -13 -14 -13 -12 -11 -13 -14 -13 -11 -9 -11 -16 -20 -23 -22 -19 -19 -20 -22 -21 -21 -20 -20 -21 -21 -20 -20 -20 -20 -20 -19 -19 -19 -20 -21 -22 -23 -23 -22 -21 -22 -22 -22 -22 -22 -22 -21 -21 -21 -22 -24 -25 -24 -24 -24 -24 -23 -23 -23 -23 -27 -30 -30 -26 -22 -20 -19 -18 -19 -18 -18 -18 -19 -19 -18 -17 -17 -18 -20 -23 -25 -24 -25 -26 -27 -27 -27 -26 -25 -24 -23 -21 -22 -23 -22 -24 -24 -24 -22 -19 -19 -19 -19 -20 -22 -22 -21 -21 -22 -21 -22 -21 -19 -18 -18 -17 -17 -18 -18 -19 -20 -20 -21 -22 -23 -23 -22 -21 -20 -19 -19 -21 -21 -22 -22 -23 -22 -23 -24 -24 -24 -23 -22 -20 -19 -20 -20 -19 -19 -19 -20 -21 -6 -6 -5 -3 -2 -2 -4 -5 -4 -3 -2 -1 -2 -3 -3 -3 -5 -4 -4 -3 -6 -8 -9 -7 -4 -2 -1 -1 -2 -2 -1 0 1 0 -2 -2 -2 -2 -1 -3 -4 -3 -1 2 3 1 -2 -4 -2 0 3 4 3 2 -0 -2 -4 -4 -2 1 2 3 3 3 2 1 0 -1 -2 -3 -2 -2 -2 -2 -2 -1 -2 -3 -3 -2 -0 0 1 1 2 3 4 4 5 6 5 2 -1 -1 3 7 7 3 -2 -6 -8 -5 1 2 -2 -8 -15 -15 -7 3 11 11 5 -2 -9 -15 -17 -15 -10 -6 -4 -3 -1 2 3 3 2 1 0 2 5 5 1 -6 -12 -15 -16 -15 -13 -11 -9 -8 -8 -9 -9 -9 -10 -9 -9 -10 -11 -11 -8 -6 -4 -5 -7 -8 -8 -8 -10 -12 -12 -11 -7 -3 -1 -1 -1 -3 -5 -9 -12 -14 -13 -12 -13 -12 -11 -10 -11 -13 -14 -14 -12 -11 -9 -7 -7 -8 -10 -13 -17 -19 -15 -9 -3 -1 -3 -6 -8 -10 -10 -9 -8 -7 -6 -7 -7 -6 -6 -6 -7 -9 -12 -17 -18 -16 -10 -6 -7 -11 -14 -17 -18 -16 -11 -5 -2 -6 -10 -10 -7 -2 -4 -9 -15 -18 -17 -15 -14 -15 -17 -18 -17 -13 -8 -6 -10 -14 -15 -14 -13 -13 -14 -13 -13 -12 -10 -10 -12 -13 -13 -12 -11 -12 -14 -13 -12 -12 -13 -15 -19 -25 -25 -22 -21 -21 -21 -22 -21 -21 -20 -20 -21 -20 -20 -19 -20 -20 -20 -20 -20 -21 -22 -23 -23 -23 -22 -22 -22 -23 -24 -23 -23 -22 -22 -22 -22 -22 -23 -24 -24 -23 -24 -24 -23 -23 -23 -23 -25 -27 -27 -25 -22 -21 -19 -17 -18 -18 -19 -20 -21 -19 -18 -17 -18 -18 -19 -21 -23 -23 -23 -24 -26 -28 -27 -27 -26 -25 -24 -22 -22 -21 -21 -22 -24 -24 -22 -18 -19 -19 -21 -22 -23 -22 -22 -21 -21 -21 -21 -20 -18 -18 -18 -17 -17 -17 -16 -18 -19 -21 -22 -23 -24 -24 -22 -23 -22 -20 -19 -19 -21 -22 -24 -24 -21 -21 -22 -24 -23 -22 -21 -19 -19 -19 -20 -19 -19 -20 -21 -22 -6 -6 -5 -3 -2 -3 -4 -5 -4 -2 -2 -3 -4 -4 -3 -3 -3 -3 -3 -3 -7 -10 -9 -7 -3 -1 -1 -2 -2 -2 -1 -0 0 -1 -2 -1 -1 -1 -2 -4 -4 -3 0 2 1 -0 -2 -1 1 2 3 3 3 2 0 -2 -4 -5 -4 -2 0 3 3 3 3 4 3 1 -1 -4 -4 -3 -2 -3 -3 -3 -4 -4 -5 -4 -3 -2 -2 -2 -1 1 3 4 6 8 7 6 2 -1 2 6 9 8 3 -4 -11 -13 -6 0 1 -3 -11 -18 -17 -9 5 13 12 6 -1 -8 -14 -15 -12 -8 -7 -8 -7 -4 -0 2 2 1 -0 2 8 10 8 1 -7 -13 -15 -15 -15 -14 -13 -11 -10 -9 -9 -10 -11 -11 -10 -9 -9 -10 -9 -8 -6 -5 -6 -8 -8 -8 -9 -10 -11 -12 -11 -7 -4 -2 -1 -2 -4 -7 -10 -13 -13 -12 -11 -11 -11 -10 -10 -11 -13 -15 -14 -13 -12 -11 -9 -8 -8 -9 -13 -18 -18 -13 -6 -1 -1 -3 -6 -9 -9 -9 -9 -8 -7 -7 -7 -6 -6 -7 -7 -8 -11 -16 -21 -19 -12 -3 -2 -6 -11 -16 -19 -19 -15 -9 -3 -5 -9 -11 -10 -5 -4 -8 -13 -17 -17 -15 -14 -13 -16 -18 -19 -17 -12 -7 -8 -11 -14 -14 -13 -13 -13 -13 -11 -10 -8 -9 -11 -13 -14 -13 -12 -13 -14 -14 -14 -15 -16 -17 -20 -25 -25 -24 -22 -21 -22 -22 -22 -21 -20 -20 -20 -20 -19 -19 -19 -20 -20 -21 -21 -22 -23 -23 -23 -23 -23 -23 -23 -23 -24 -24 -24 -24 -23 -22 -22 -22 -23 -24 -24 -23 -24 -24 -23 -22 -22 -22 -22 -22 -23 -23 -22 -21 -20 -18 -17 -18 -20 -22 -22 -18 -17 -18 -19 -19 -18 -18 -19 -20 -20 -22 -26 -29 -28 -27 -26 -26 -24 -23 -22 -21 -21 -21 -22 -22 -21 -17 -17 -18 -20 -22 -23 -23 -22 -22 -20 -21 -20 -19 -18 -19 -19 -18 -18 -17 -17 -17 -19 -20 -22 -23 -24 -25 -24 -24 -23 -21 -20 -20 -20 -22 -24 -24 -20 -19 -20 -23 -21 -21 -20 -19 -19 -19 -19 -19 -20 -21 -22 -22 -6 -5 -4 -2 -2 -3 -4 -4 -3 -2 -2 -4 -5 -5 -4 -2 -2 -2 -2 -3 -7 -9 -9 -6 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 0 -1 -3 -4 -3 -1 1 1 0 0 1 3 5 4 3 2 3 3 3 2 0 -2 -3 -3 -1 2 3 3 3 4 5 4 2 -1 -4 -4 -3 -2 -2 -3 -4 -5 -5 -4 -3 -2 -2 -3 -4 -3 -2 0 5 8 9 8 6 3 2 5 9 11 8 -0 -10 -20 -17 -7 1 3 -2 -10 -17 -16 -7 7 13 13 8 -0 -8 -12 -11 -8 -7 -10 -12 -12 -7 -1 1 0 -2 -1 5 10 12 8 -0 -8 -13 -15 -14 -15 -15 -15 -13 -10 -9 -9 -11 -12 -11 -10 -8 -8 -8 -8 -7 -6 -5 -7 -8 -9 -9 -10 -11 -12 -12 -10 -7 -4 -2 -2 -4 -6 -8 -10 -12 -11 -11 -10 -11 -10 -9 -10 -13 -15 -15 -15 -14 -14 -12 -9 -6 -6 -9 -14 -17 -17 -12 -6 -2 -2 -3 -7 -9 -10 -10 -10 -8 -8 -7 -6 -6 -7 -8 -8 -10 -15 -20 -21 -17 -6 1 -1 -7 -14 -18 -19 -18 -14 -8 -5 -6 -8 -10 -8 -5 -6 -10 -15 -15 -15 -14 -13 -15 -17 -19 -19 -17 -11 -9 -9 -11 -12 -12 -11 -11 -11 -10 -9 -8 -9 -11 -14 -15 -15 -14 -16 -16 -16 -16 -17 -18 -19 -21 -24 -25 -24 -23 -22 -22 -23 -22 -22 -20 -20 -19 -18 -17 -18 -19 -20 -21 -22 -23 -23 -23 -23 -23 -23 -23 -23 -23 -24 -24 -24 -26 -26 -25 -23 -22 -22 -23 -23 -23 -24 -24 -24 -23 -22 -22 -22 -21 -21 -21 -22 -22 -22 -21 -18 -17 -18 -19 -20 -18 -17 -17 -19 -19 -19 -17 -16 -16 -17 -17 -19 -24 -28 -28 -28 -27 -26 -25 -24 -22 -21 -21 -22 -22 -22 -21 -18 -17 -18 -20 -22 -22 -22 -22 -21 -19 -20 -20 -19 -19 -21 -20 -20 -20 -18 -18 -18 -19 -19 -21 -22 -24 -26 -25 -25 -25 -24 -22 -22 -22 -22 -23 -23 -20 -18 -19 -21 -20 -20 -21 -20 -19 -19 -19 -20 -21 -22 -23 -23 -6 -5 -3 -2 -3 -4 -4 -3 -2 -2 -3 -5 -5 -5 -4 -2 -1 -2 -2 -4 -7 -8 -7 -5 -3 -3 -3 -3 -2 -1 -2 -2 -2 -1 1 1 0 -2 -3 -3 -1 1 1 0 -0 1 4 6 6 5 3 3 4 5 6 6 5 2 -0 -1 0 3 4 4 3 3 4 5 4 2 -1 -4 -4 -4 -3 -3 -4 -4 -4 -4 -3 -2 -1 -1 -1 -2 -3 -3 -1 3 6 7 5 4 4 6 8 11 10 4 -7 -20 -24 -17 -7 1 3 -2 -9 -14 -14 -4 5 11 11 6 -1 -6 -7 -7 -6 -9 -13 -17 -15 -7 -1 1 -1 -4 -2 2 6 9 6 -1 -8 -13 -13 -13 -15 -16 -16 -13 -10 -8 -9 -12 -13 -12 -9 -6 -7 -8 -9 -7 -5 -6 -7 -8 -8 -9 -10 -11 -12 -11 -9 -6 -4 -4 -5 -6 -7 -8 -10 -10 -10 -10 -10 -9 -9 -10 -12 -15 -15 -15 -15 -16 -15 -12 -8 -5 -6 -10 -14 -17 -17 -11 -6 -3 -2 -4 -7 -9 -11 -11 -10 -8 -7 -6 -6 -7 -8 -9 -10 -14 -18 -21 -21 -12 -1 3 -1 -10 -16 -18 -18 -16 -11 -4 -2 -4 -8 -8 -6 -6 -9 -13 -14 -14 -14 -14 -15 -16 -18 -20 -20 -16 -11 -9 -9 -10 -9 -8 -7 -8 -8 -9 -10 -11 -13 -16 -18 -18 -17 -18 -18 -18 -18 -19 -19 -20 -21 -22 -24 -24 -24 -23 -23 -23 -23 -23 -21 -20 -19 -18 -17 -18 -19 -21 -23 -24 -23 -23 -23 -23 -23 -23 -23 -23 -23 -24 -25 -25 -26 -26 -25 -23 -23 -23 -23 -23 -24 -24 -24 -23 -23 -23 -22 -22 -22 -21 -20 -22 -23 -23 -22 -19 -18 -17 -17 -15 -14 -16 -18 -20 -20 -19 -17 -15 -15 -14 -15 -18 -23 -28 -28 -28 -27 -26 -25 -24 -23 -21 -21 -22 -22 -22 -21 -19 -18 -19 -21 -23 -23 -22 -20 -19 -18 -18 -19 -19 -20 -21 -21 -21 -21 -19 -18 -18 -18 -19 -20 -22 -24 -26 -25 -25 -25 -25 -23 -23 -23 -23 -23 -22 -20 -18 -18 -20 -20 -21 -22 -20 -19 -18 -19 -20 -22 -22 -22 -23 -5 -4 -3 -3 -4 -4 -3 -2 -1 -2 -3 -5 -6 -5 -4 -3 -1 -2 -4 -6 -8 -7 -6 -4 -4 -4 -3 -2 -2 -2 -2 -3 -1 1 2 -0 -2 -2 -1 0 1 1 1 -0 1 3 5 5 4 3 2 1 2 4 5 6 5 4 2 1 2 5 6 6 5 4 4 4 4 4 2 -1 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -3 -0 1 1 1 -0 -1 -0 2 4 5 5 5 6 8 10 9 6 -2 -13 -23 -22 -15 -7 -1 1 -2 -8 -12 -9 -3 4 8 6 2 -1 -4 -4 -5 -6 -9 -12 -14 -10 -4 0 2 -1 -3 -4 -3 -1 2 1 -3 -9 -10 -11 -13 -16 -16 -14 -11 -9 -8 -11 -13 -13 -11 -7 -6 -7 -8 -8 -6 -5 -5 -6 -7 -9 -9 -10 -10 -11 -11 -9 -7 -5 -5 -7 -7 -7 -8 -9 -10 -10 -10 -10 -10 -11 -12 -15 -15 -15 -15 -16 -17 -16 -12 -7 -4 -6 -10 -14 -16 -14 -9 -5 -2 -2 -5 -8 -10 -11 -10 -9 -7 -6 -6 -6 -7 -9 -11 -13 -17 -21 -23 -19 -7 1 2 -5 -13 -17 -18 -17 -14 -7 -2 -1 -5 -7 -6 -6 -8 -10 -12 -13 -13 -15 -14 -14 -16 -18 -20 -17 -13 -9 -7 -8 -7 -6 -5 -7 -8 -10 -12 -14 -15 -16 -17 -18 -18 -19 -20 -20 -20 -20 -20 -20 -20 -22 -23 -24 -24 -24 -23 -23 -23 -23 -22 -21 -20 -19 -19 -19 -20 -21 -23 -24 -23 -23 -23 -24 -24 -24 -24 -23 -23 -24 -25 -26 -26 -26 -25 -25 -24 -24 -24 -24 -24 -25 -24 -24 -25 -24 -23 -22 -21 -21 -20 -21 -23 -24 -24 -21 -19 -18 -16 -14 -14 -16 -19 -20 -20 -19 -17 -16 -16 -15 -15 -17 -23 -27 -27 -27 -27 -26 -25 -23 -22 -20 -21 -22 -23 -22 -21 -19 -19 -20 -22 -24 -23 -21 -18 -17 -17 -17 -18 -19 -20 -22 -22 -21 -22 -20 -18 -17 -18 -18 -20 -22 -24 -26 -24 -24 -24 -24 -22 -21 -22 -23 -22 -20 -19 -18 -17 -18 -20 -21 -21 -20 -18 -18 -19 -21 -22 -22 -21 -22 -5 -4 -3 -4 -4 -4 -2 -1 -1 -2 -4 -5 -6 -5 -4 -2 -1 -3 -6 -9 -10 -7 -5 -4 -4 -5 -3 -2 -2 -2 -3 -1 2 3 -1 -3 -3 -2 0 1 1 1 -0 -0 1 3 4 3 1 -0 -1 -1 0 2 4 4 4 3 2 1 2 4 6 7 8 7 5 4 3 3 3 1 -2 -4 -5 -5 -4 -2 -1 -2 -4 -5 -5 -3 1 3 5 4 2 -0 -1 -0 2 4 5 7 8 8 7 5 1 -7 -17 -19 -17 -13 -8 -3 -2 -4 -8 -9 -6 -1 3 4 1 -1 -3 -3 -3 -3 -4 -6 -9 -10 -8 -3 0 0 -1 -2 -4 -6 -6 -7 -8 -10 -10 -10 -11 -13 -15 -14 -12 -10 -7 -8 -10 -11 -12 -9 -7 -6 -7 -9 -8 -7 -5 -4 -5 -6 -7 -8 -9 -10 -11 -11 -10 -7 -6 -7 -8 -7 -6 -8 -9 -10 -11 -10 -10 -11 -13 -15 -15 -15 -14 -15 -18 -18 -16 -10 -6 -5 -7 -10 -13 -13 -11 -8 -4 -1 -2 -4 -8 -10 -10 -10 -8 -5 -4 -5 -6 -8 -11 -13 -17 -21 -25 -24 -16 -5 2 0 -9 -15 -18 -18 -18 -12 -5 0 -1 -5 -7 -7 -7 -8 -10 -11 -12 -14 -13 -12 -13 -15 -17 -16 -14 -10 -7 -7 -5 -4 -4 -6 -8 -10 -13 -16 -15 -14 -15 -17 -19 -21 -21 -21 -21 -22 -21 -21 -21 -22 -22 -23 -24 -24 -24 -23 -24 -24 -23 -23 -22 -21 -21 -20 -21 -22 -23 -23 -23 -23 -23 -24 -24 -24 -24 -24 -23 -24 -24 -25 -26 -26 -26 -26 -25 -24 -24 -25 -25 -24 -24 -25 -26 -25 -23 -21 -20 -20 -19 -20 -22 -24 -25 -23 -20 -18 -16 -15 -15 -17 -20 -21 -21 -20 -19 -18 -19 -17 -16 -18 -22 -26 -26 -26 -26 -26 -24 -23 -21 -19 -19 -20 -21 -21 -19 -18 -18 -19 -20 -22 -21 -18 -17 -17 -18 -18 -19 -19 -20 -21 -21 -21 -22 -20 -18 -18 -17 -18 -19 -20 -23 -25 -24 -24 -24 -23 -21 -20 -20 -22 -21 -19 -19 -19 -17 -18 -20 -21 -21 -20 -19 -19 -20 -21 -22 -21 -20 -21 -5 -4 -4 -4 -4 -3 -2 -1 -2 -2 -3 -4 -5 -5 -4 -2 -0 -4 -7 -10 -10 -8 -5 -4 -4 -5 -4 -3 -3 -4 -1 2 3 -0 -3 -4 -2 -0 2 1 0 -1 -2 -1 1 2 2 1 -0 -0 0 0 0 2 3 4 3 2 1 1 2 4 5 7 8 8 8 6 4 2 2 1 -1 -3 -5 -5 -4 -1 0 0 -2 -4 -6 -6 -2 2 6 8 7 3 -0 -2 0 3 5 6 8 7 5 3 -0 -5 -11 -14 -14 -13 -11 -8 -5 -5 -6 -8 -7 -3 1 2 -0 -3 -4 -4 -3 -2 -1 -1 -3 -7 -7 -5 -3 -1 -1 -1 -1 -3 -7 -10 -12 -15 -16 -15 -13 -10 -8 -8 -9 -9 -8 -6 -7 -9 -11 -11 -8 -7 -6 -8 -9 -9 -7 -5 -2 -3 -4 -5 -7 -8 -11 -12 -12 -10 -8 -8 -8 -7 -6 -7 -8 -9 -10 -10 -10 -12 -13 -15 -15 -14 -13 -15 -18 -19 -18 -13 -7 -4 -4 -6 -10 -13 -12 -10 -7 -4 -2 -2 -4 -8 -10 -9 -7 -5 -3 -4 -5 -7 -10 -12 -16 -20 -25 -27 -23 -13 -2 2 -7 -14 -18 -18 -19 -16 -9 -1 1 -3 -6 -8 -8 -10 -10 -9 -9 -10 -10 -10 -11 -11 -13 -14 -14 -13 -11 -8 -4 -2 -3 -6 -8 -10 -13 -16 -15 -14 -15 -17 -21 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -22 -23 -24 -24 -24 -24 -24 -24 -24 -23 -23 -23 -22 -22 -22 -22 -22 -22 -22 -23 -23 -24 -25 -25 -24 -24 -23 -23 -24 -25 -27 -27 -27 -25 -24 -24 -24 -24 -23 -24 -25 -25 -22 -22 -21 -20 -18 -17 -19 -21 -23 -25 -24 -21 -19 -16 -15 -15 -17 -20 -23 -24 -23 -21 -20 -21 -19 -18 -18 -20 -23 -25 -26 -26 -25 -23 -23 -23 -21 -20 -20 -20 -21 -19 -18 -18 -18 -18 -19 -18 -16 -15 -18 -19 -20 -20 -20 -20 -19 -19 -20 -21 -20 -19 -18 -17 -17 -17 -19 -23 -24 -24 -24 -23 -23 -21 -20 -19 -19 -19 -19 -21 -21 -18 -19 -20 -21 -23 -21 -21 -21 -21 -21 -22 -22 -20 -21 -4 -5 -5 -5 -4 -2 -1 -1 -2 -2 -3 -4 -5 -5 -3 -1 -0 -4 -7 -9 -8 -7 -6 -5 -5 -6 -5 -4 -4 -3 2 2 -0 -3 -4 -2 0 2 3 1 -1 -2 -2 -2 -2 -1 -1 -1 0 2 3 3 2 3 4 4 4 3 2 2 3 5 5 5 6 7 8 8 6 4 2 0 -2 -3 -5 -5 -3 -1 1 1 1 -1 -4 -6 -5 -2 3 8 9 6 2 -0 0 2 4 6 8 8 4 1 -3 -7 -10 -10 -8 -8 -9 -8 -7 -6 -7 -8 -7 -5 -2 1 -0 -3 -5 -6 -5 -3 -1 1 1 -2 -4 -5 -4 -2 -2 -2 -1 -1 -4 -8 -12 -17 -22 -23 -19 -12 -6 -6 -7 -8 -8 -6 -6 -6 -8 -10 -9 -8 -7 -7 -9 -10 -10 -9 -5 -1 -1 -3 -5 -7 -9 -11 -13 -12 -10 -9 -9 -9 -7 -7 -8 -9 -9 -9 -10 -12 -13 -15 -14 -13 -13 -15 -18 -19 -18 -15 -10 -6 -3 -3 -6 -10 -12 -11 -9 -7 -4 -2 -1 -4 -7 -9 -9 -7 -4 -3 -3 -4 -7 -10 -14 -18 -23 -28 -27 -21 -10 -2 -6 -12 -15 -16 -18 -17 -12 -5 -0 -2 -5 -7 -9 -10 -9 -8 -6 -7 -9 -9 -10 -10 -12 -14 -16 -16 -15 -11 -5 -2 -1 -5 -8 -11 -14 -17 -16 -15 -15 -17 -20 -22 -22 -21 -21 -21 -21 -22 -23 -23 -21 -21 -21 -22 -23 -23 -24 -24 -24 -24 -24 -24 -25 -24 -23 -23 -22 -21 -21 -21 -22 -22 -23 -24 -25 -25 -24 -23 -23 -24 -26 -27 -27 -27 -25 -24 -23 -23 -23 -23 -24 -24 -23 -21 -22 -22 -21 -19 -18 -18 -20 -22 -24 -25 -23 -20 -17 -16 -15 -16 -19 -24 -26 -25 -23 -21 -20 -19 -18 -18 -19 -21 -24 -26 -27 -23 -23 -25 -25 -23 -21 -21 -22 -23 -22 -21 -20 -19 -18 -18 -17 -16 -15 -17 -18 -19 -20 -19 -19 -18 -18 -19 -20 -19 -19 -18 -17 -17 -17 -19 -22 -23 -23 -23 -23 -22 -21 -19 -19 -19 -19 -21 -23 -24 -20 -19 -20 -21 -24 -23 -22 -22 -23 -23 -23 -22 -21 -22 -5 -5 -6 -5 -3 -2 -1 -0 -1 -2 -4 -4 -5 -5 -3 -2 -2 -4 -6 -8 -7 -6 -6 -6 -6 -7 -6 -5 -3 1 3 -1 -5 -6 -3 -0 2 3 2 0 -1 -2 -2 -3 -4 -5 -4 -2 0 3 4 5 4 5 5 5 4 4 3 4 5 7 7 6 5 5 6 7 7 6 4 1 -2 -4 -5 -5 -3 -2 -1 1 2 2 1 -2 -5 -5 -2 3 7 6 5 3 2 3 4 5 7 8 5 1 -4 -9 -12 -9 -5 -3 -5 -6 -5 -4 -5 -6 -6 -6 -5 -2 -1 -1 -4 -6 -7 -6 -4 -1 2 1 -1 -3 -3 -3 -3 -4 -4 -4 -4 -6 -10 -15 -22 -25 -22 -15 -8 -5 -5 -5 -6 -7 -6 -5 -6 -8 -9 -9 -8 -7 -8 -10 -11 -12 -9 -3 0 1 -2 -5 -7 -10 -13 -14 -13 -11 -10 -10 -9 -8 -8 -9 -8 -8 -10 -11 -13 -14 -14 -13 -13 -14 -17 -18 -18 -17 -14 -10 -6 -3 -3 -7 -10 -11 -10 -9 -7 -4 -1 -2 -5 -8 -10 -10 -7 -4 -2 -1 -3 -7 -11 -16 -21 -27 -29 -26 -18 -9 -7 -8 -10 -12 -15 -16 -15 -11 -4 -3 -4 -6 -8 -8 -7 -6 -5 -7 -9 -10 -10 -10 -12 -14 -15 -16 -15 -12 -7 -2 -0 -3 -7 -11 -15 -18 -18 -16 -15 -16 -19 -22 -22 -22 -21 -20 -21 -22 -24 -24 -22 -21 -20 -21 -22 -23 -24 -24 -24 -24 -24 -25 -25 -24 -24 -23 -22 -21 -20 -20 -21 -21 -22 -23 -24 -24 -24 -24 -24 -25 -26 -27 -27 -27 -26 -24 -23 -22 -22 -23 -24 -24 -23 -21 -22 -23 -22 -20 -19 -18 -19 -21 -24 -25 -24 -22 -18 -16 -15 -15 -18 -23 -27 -26 -23 -22 -20 -19 -19 -19 -19 -21 -24 -26 -27 -22 -24 -26 -26 -25 -23 -22 -23 -25 -25 -24 -23 -22 -21 -20 -19 -18 -16 -16 -17 -18 -18 -18 -19 -19 -19 -19 -20 -20 -19 -18 -17 -17 -18 -20 -22 -22 -22 -22 -22 -21 -20 -19 -19 -20 -21 -23 -25 -24 -21 -19 -19 -21 -23 -23 -22 -23 -24 -25 -25 -24 -23 -24 -5 -6 -6 -5 -3 -1 0 0 -1 -3 -4 -4 -5 -5 -4 -3 -3 -5 -6 -7 -6 -6 -6 -6 -7 -8 -7 -5 -1 4 0 -5 -7 -5 -1 1 2 1 1 1 1 -0 -2 -4 -6 -6 -5 -3 1 2 3 3 4 4 5 6 5 5 5 6 8 9 9 8 7 5 4 5 5 6 5 3 -0 -3 -5 -4 -4 -3 -3 -2 -1 2 3 3 -1 -3 -3 1 5 6 7 6 4 4 5 5 6 7 5 2 -3 -8 -12 -10 -6 -4 -5 -4 -3 -1 -1 -3 -5 -6 -7 -6 -3 -1 -2 -4 -6 -8 -7 -4 -0 1 0 -1 -2 -2 -3 -5 -7 -8 -8 -8 -8 -10 -15 -18 -18 -17 -13 -8 -4 -3 -4 -6 -6 -6 -5 -6 -8 -9 -8 -7 -7 -8 -11 -13 -13 -8 -1 3 2 -1 -4 -8 -12 -14 -13 -12 -10 -10 -11 -10 -10 -9 -8 -7 -7 -9 -11 -13 -13 -13 -12 -13 -15 -17 -18 -18 -16 -14 -10 -6 -4 -6 -8 -10 -9 -9 -8 -6 -3 -2 -4 -6 -9 -11 -10 -7 -4 -2 -1 -4 -8 -13 -18 -24 -27 -27 -22 -14 -9 -7 -6 -8 -12 -15 -17 -15 -9 -5 -4 -5 -7 -7 -6 -4 -4 -6 -8 -10 -10 -11 -12 -13 -15 -16 -14 -12 -9 -5 -1 -2 -6 -11 -14 -17 -17 -16 -14 -14 -18 -21 -22 -22 -21 -20 -20 -22 -25 -24 -23 -21 -20 -20 -21 -23 -24 -24 -24 -24 -24 -25 -26 -25 -24 -23 -22 -20 -19 -19 -20 -21 -21 -22 -23 -24 -24 -25 -25 -25 -26 -26 -26 -26 -24 -23 -22 -21 -22 -24 -25 -25 -24 -22 -23 -23 -23 -22 -19 -18 -19 -21 -23 -25 -25 -23 -19 -17 -16 -16 -19 -22 -26 -26 -23 -22 -21 -20 -20 -21 -20 -22 -24 -26 -27 -23 -24 -27 -27 -26 -24 -23 -23 -24 -25 -25 -24 -23 -22 -21 -20 -19 -18 -16 -15 -16 -17 -18 -19 -21 -20 -19 -20 -20 -19 -18 -17 -17 -19 -21 -21 -20 -20 -20 -21 -21 -20 -19 -20 -21 -21 -23 -24 -22 -21 -20 -19 -20 -21 -22 -22 -22 -23 -25 -26 -26 -24 -25 -6 -6 -6 -5 -3 -1 0 0 -1 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -6 -7 -8 -7 -2 3 4 -2 -6 -5 -2 0 0 -0 -0 1 1 1 1 -1 -4 -6 -6 -4 -1 1 1 1 1 1 0 2 3 5 5 4 5 6 7 8 8 8 7 6 4 3 3 2 2 2 1 -1 -2 -3 -3 -3 -3 -3 -2 -0 1 2 1 0 1 3 4 6 6 6 6 6 6 6 6 4 2 -2 -7 -10 -9 -7 -5 -6 -6 -5 -2 2 0 -2 -4 -4 -5 -4 -2 -1 -1 -3 -5 -6 -6 -4 -2 -1 -2 -3 -2 -2 -3 -7 -10 -12 -12 -10 -7 -5 -7 -11 -17 -18 -13 -7 -3 -2 -4 -6 -7 -6 -5 -6 -8 -8 -8 -7 -7 -9 -12 -15 -13 -6 1 5 2 -2 -6 -10 -14 -15 -13 -10 -10 -11 -11 -10 -10 -8 -7 -6 -7 -9 -11 -13 -13 -12 -12 -14 -16 -18 -19 -18 -16 -13 -10 -7 -7 -8 -9 -8 -8 -8 -7 -5 -3 -4 -5 -8 -10 -11 -10 -7 -5 -2 -3 -5 -10 -15 -21 -25 -26 -22 -15 -10 -8 -7 -7 -9 -12 -15 -16 -12 -7 -4 -4 -7 -7 -6 -4 -3 -5 -7 -9 -10 -10 -11 -12 -13 -13 -12 -11 -10 -8 -4 -3 -6 -10 -14 -17 -17 -16 -13 -13 -17 -20 -21 -22 -21 -20 -21 -22 -24 -24 -24 -22 -20 -19 -20 -22 -23 -24 -24 -24 -24 -25 -27 -27 -25 -24 -22 -21 -19 -19 -20 -20 -20 -21 -22 -23 -24 -25 -25 -26 -26 -26 -26 -25 -23 -21 -20 -21 -23 -25 -27 -27 -26 -24 -23 -23 -24 -23 -20 -19 -19 -20 -23 -25 -25 -23 -20 -19 -19 -19 -20 -23 -25 -24 -22 -22 -21 -21 -21 -21 -21 -23 -25 -26 -25 -25 -25 -27 -28 -27 -25 -22 -21 -23 -24 -24 -24 -23 -22 -21 -20 -19 -18 -16 -15 -16 -16 -18 -20 -21 -21 -20 -20 -20 -18 -17 -17 -18 -19 -22 -21 -19 -19 -20 -22 -21 -20 -19 -20 -21 -21 -22 -23 -21 -20 -20 -20 -21 -20 -21 -22 -22 -23 -26 -27 -27 -25 -25 -7 -7 -6 -4 -2 -1 -0 -1 -2 -2 -2 -3 -4 -6 -6 -6 -6 -7 -7 -6 -6 -5 -5 -5 -7 -9 -5 2 5 2 -2 -2 -1 -1 -3 -2 -1 -0 1 2 2 0 -1 -3 -5 -4 -1 2 2 1 -0 -2 -3 -4 -2 1 4 4 3 2 1 2 4 5 6 7 7 4 2 -0 -1 -1 1 2 2 2 0 -0 -1 -1 -2 -3 -4 -3 -0 2 3 3 3 4 4 5 7 7 8 8 7 6 4 0 -3 -7 -9 -7 -6 -5 -7 -7 -7 -5 -1 0 -1 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -5 -5 -4 -2 -1 -3 -8 -12 -14 -13 -10 -6 -5 -7 -12 -17 -16 -12 -6 -1 -3 -5 -8 -8 -6 -5 -6 -8 -8 -7 -6 -7 -9 -14 -16 -12 -5 2 3 0 -3 -8 -13 -16 -14 -10 -8 -10 -11 -11 -10 -9 -8 -6 -6 -7 -10 -11 -12 -11 -12 -13 -15 -17 -19 -19 -17 -15 -12 -10 -10 -10 -10 -8 -7 -6 -6 -5 -5 -4 -5 -6 -8 -10 -10 -10 -9 -6 -5 -5 -7 -12 -17 -22 -25 -22 -15 -11 -8 -8 -8 -8 -9 -12 -16 -15 -11 -7 -5 -7 -8 -7 -5 -2 -3 -5 -8 -9 -9 -10 -11 -11 -9 -8 -9 -10 -10 -7 -6 -7 -9 -12 -15 -16 -16 -15 -16 -17 -19 -20 -22 -22 -22 -21 -22 -24 -24 -24 -23 -21 -19 -20 -21 -23 -23 -23 -23 -23 -25 -27 -27 -26 -24 -23 -21 -20 -20 -20 -20 -20 -20 -20 -22 -23 -25 -26 -27 -27 -26 -25 -24 -22 -20 -19 -21 -25 -28 -29 -29 -28 -25 -24 -23 -24 -24 -22 -20 -19 -20 -22 -24 -25 -23 -21 -23 -24 -23 -23 -24 -24 -23 -21 -21 -21 -22 -22 -21 -21 -23 -26 -27 -25 -25 -26 -27 -27 -27 -25 -22 -19 -21 -23 -23 -23 -23 -22 -21 -20 -19 -17 -15 -15 -15 -15 -17 -19 -21 -21 -20 -20 -19 -18 -17 -17 -18 -19 -22 -21 -20 -20 -21 -22 -21 -20 -19 -20 -21 -21 -21 -22 -21 -20 -20 -20 -21 -22 -22 -22 -23 -25 -26 -27 -27 -25 -25 -7 -7 -6 -4 -2 -1 -1 -2 -2 -2 -2 -3 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -9 -1 3 3 0 0 1 -0 -3 -5 -4 -3 -1 -1 1 1 -0 -2 -3 -2 0 3 3 2 1 -0 -2 -4 -3 -1 2 3 3 3 1 0 1 2 4 5 5 5 3 0 -2 -3 -3 -1 0 2 1 1 1 2 3 2 -0 -3 -4 -2 0 3 4 4 4 4 5 6 8 10 10 10 9 5 -1 -6 -10 -9 -6 -4 -4 -6 -8 -8 -7 -5 -3 -3 -2 -0 3 2 -0 -2 -3 -3 -3 -1 1 1 -2 -5 -7 -8 -7 -5 -3 -2 -4 -6 -10 -13 -14 -10 -6 -4 -6 -12 -16 -16 -11 -4 -2 -3 -7 -9 -7 -5 -5 -7 -8 -8 -6 -5 -6 -10 -15 -16 -13 -5 1 2 -1 -6 -12 -16 -14 -9 -5 -8 -10 -10 -10 -10 -9 -8 -6 -6 -8 -10 -11 -12 -12 -12 -13 -15 -18 -19 -19 -17 -13 -11 -10 -11 -11 -10 -7 -4 -4 -4 -5 -5 -5 -5 -7 -9 -10 -11 -12 -11 -9 -7 -7 -9 -14 -19 -23 -22 -16 -12 -9 -8 -8 -7 -8 -10 -14 -15 -14 -11 -8 -7 -9 -9 -6 -1 -1 -4 -6 -7 -7 -9 -9 -9 -6 -5 -7 -9 -10 -10 -8 -7 -6 -8 -12 -15 -17 -18 -18 -18 -18 -19 -22 -23 -23 -22 -21 -23 -24 -24 -23 -21 -20 -19 -20 -22 -23 -23 -22 -22 -24 -26 -27 -27 -26 -24 -22 -21 -20 -21 -21 -20 -20 -20 -21 -23 -24 -26 -27 -27 -26 -25 -23 -21 -20 -20 -21 -23 -25 -27 -28 -28 -25 -23 -23 -24 -24 -22 -21 -19 -20 -21 -23 -24 -24 -23 -24 -25 -25 -26 -27 -26 -23 -21 -20 -21 -21 -22 -22 -23 -25 -28 -28 -27 -27 -28 -27 -25 -26 -26 -22 -19 -20 -21 -22 -22 -23 -22 -22 -21 -19 -17 -15 -15 -15 -15 -16 -17 -18 -19 -19 -19 -19 -18 -17 -17 -17 -18 -20 -20 -20 -21 -21 -22 -22 -21 -20 -20 -21 -21 -21 -21 -21 -21 -20 -21 -21 -23 -24 -24 -24 -26 -28 -28 -27 -26 -25 -8 -7 -5 -3 -1 -1 -2 -2 -1 -1 -2 -3 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -7 -7 -7 -5 1 2 1 1 3 1 -2 -5 -6 -5 -4 -4 -4 -3 -2 -2 -3 -2 1 3 3 2 1 0 -1 -2 -1 1 3 3 3 3 3 3 2 1 2 3 3 3 1 -0 -1 -2 -3 -2 -1 -1 -1 -1 -0 1 2 4 4 3 -0 -2 -2 -1 1 2 3 3 4 4 5 8 11 12 13 12 7 0 -7 -13 -11 -6 -2 -0 -3 -7 -9 -10 -8 -6 -5 -4 -2 3 4 3 0 -2 -3 -4 -3 -1 1 -0 -3 -7 -8 -9 -8 -7 -5 -3 -3 -5 -10 -14 -13 -9 -6 -4 -8 -14 -18 -17 -10 -4 -2 -5 -9 -9 -7 -6 -6 -8 -9 -8 -6 -4 -6 -11 -15 -16 -12 -4 -0 0 -3 -11 -15 -13 -7 -3 -6 -7 -8 -9 -10 -11 -10 -8 -7 -7 -8 -10 -11 -12 -12 -12 -14 -16 -19 -20 -19 -16 -11 -10 -11 -12 -11 -9 -6 -4 -4 -5 -5 -5 -5 -6 -7 -9 -10 -12 -13 -13 -11 -9 -9 -11 -15 -19 -21 -17 -13 -10 -9 -8 -7 -7 -8 -10 -13 -14 -13 -10 -8 -8 -9 -8 -4 -3 -4 -6 -7 -8 -9 -9 -7 -4 -3 -4 -7 -10 -11 -11 -8 -4 -5 -9 -13 -16 -18 -19 -19 -18 -18 -21 -23 -22 -20 -19 -21 -22 -23 -23 -22 -20 -19 -20 -21 -22 -23 -22 -22 -23 -24 -26 -27 -27 -26 -24 -22 -21 -21 -21 -21 -20 -19 -20 -22 -24 -26 -27 -27 -26 -25 -23 -21 -20 -20 -20 -20 -21 -23 -26 -26 -24 -23 -23 -24 -23 -23 -21 -20 -19 -20 -22 -24 -25 -24 -24 -24 -25 -26 -27 -27 -25 -23 -21 -21 -21 -22 -25 -27 -28 -30 -30 -29 -29 -28 -27 -24 -24 -25 -23 -21 -21 -20 -20 -20 -22 -23 -23 -22 -20 -17 -16 -17 -16 -16 -16 -15 -16 -17 -18 -19 -19 -18 -18 -17 -17 -17 -19 -19 -20 -21 -22 -23 -23 -21 -21 -20 -21 -22 -22 -20 -21 -22 -22 -22 -21 -22 -24 -25 -24 -26 -28 -29 -28 -27 -25 -8 -6 -4 -2 -1 -2 -2 -1 -0 -1 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -9 -8 -7 -5 0 2 1 1 2 2 -1 -4 -5 -5 -5 -5 -6 -7 -7 -6 -4 -2 1 3 3 2 1 -0 -1 -2 -2 1 4 5 5 4 4 4 4 3 2 2 3 2 1 -1 -3 -3 -3 -2 -0 0 0 -1 -2 -2 -1 1 3 4 3 2 0 -1 -1 -0 1 1 2 3 4 5 7 10 13 15 15 10 3 -5 -13 -12 -6 0 4 2 -3 -7 -10 -10 -8 -7 -6 -4 -1 2 4 3 1 -1 -3 -4 -4 -2 -2 -3 -6 -9 -9 -9 -8 -6 -4 -2 -2 -5 -11 -14 -12 -9 -5 -6 -11 -17 -20 -16 -8 -4 -3 -6 -8 -8 -6 -5 -6 -8 -9 -8 -5 -4 -6 -10 -14 -14 -9 -4 0 -1 -7 -12 -12 -6 -1 -3 -5 -6 -8 -10 -12 -12 -11 -9 -7 -7 -8 -10 -11 -11 -12 -12 -15 -18 -20 -21 -19 -14 -10 -9 -10 -11 -10 -7 -5 -4 -5 -5 -5 -5 -6 -7 -8 -9 -11 -13 -14 -14 -13 -11 -11 -11 -14 -17 -17 -15 -12 -10 -8 -8 -8 -8 -9 -11 -13 -14 -13 -9 -8 -9 -9 -7 -5 -3 -4 -6 -7 -8 -8 -7 -5 -2 -2 -4 -8 -12 -13 -10 -5 -4 -7 -10 -14 -17 -20 -20 -18 -18 -21 -22 -21 -20 -19 -20 -22 -23 -23 -22 -21 -20 -19 -20 -22 -22 -22 -22 -22 -24 -25 -27 -28 -27 -26 -24 -22 -21 -21 -21 -21 -20 -21 -22 -24 -26 -26 -27 -26 -25 -22 -21 -20 -20 -18 -17 -18 -20 -23 -23 -23 -23 -23 -24 -23 -22 -21 -19 -19 -20 -21 -22 -24 -24 -24 -23 -24 -27 -28 -29 -28 -27 -25 -23 -21 -21 -27 -30 -31 -30 -30 -29 -29 -28 -26 -24 -23 -23 -24 -22 -21 -20 -19 -19 -21 -24 -24 -23 -20 -18 -18 -19 -17 -16 -15 -15 -16 -17 -19 -20 -19 -19 -18 -18 -17 -17 -18 -19 -20 -21 -22 -24 -24 -23 -22 -21 -21 -22 -22 -21 -22 -23 -24 -24 -21 -21 -23 -26 -24 -26 -28 -29 -28 -27 -25 -8 -5 -3 -2 -2 -2 -2 -0 0 -1 -3 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -8 -5 -1 2 1 0 1 2 1 -2 -4 -4 -4 -4 -5 -7 -9 -8 -7 -4 -1 2 2 1 -0 -1 -2 -3 -3 -2 2 4 5 5 5 5 4 4 3 2 2 1 1 -0 -2 -4 -5 -5 -3 -0 1 2 1 -1 -2 -2 -1 1 1 2 2 2 0 -1 -1 0 0 1 2 3 4 5 8 12 15 16 13 7 -0 -8 -10 -6 1 7 7 3 -2 -7 -10 -8 -7 -7 -7 -6 -2 2 5 6 4 2 -1 -4 -4 -4 -6 -8 -10 -9 -8 -7 -6 -5 -3 -2 -2 -7 -12 -13 -12 -9 -6 -9 -15 -20 -19 -12 -7 -5 -5 -8 -8 -7 -5 -4 -6 -8 -9 -9 -5 -4 -6 -10 -13 -13 -9 -6 -3 -6 -10 -10 -6 -2 -3 -4 -4 -6 -8 -10 -12 -13 -13 -10 -8 -7 -7 -9 -10 -11 -12 -13 -16 -19 -22 -23 -17 -11 -8 -8 -10 -9 -8 -6 -5 -5 -5 -5 -4 -5 -7 -8 -9 -9 -11 -13 -15 -15 -15 -13 -12 -12 -14 -15 -15 -14 -11 -8 -8 -9 -10 -9 -10 -12 -14 -14 -11 -9 -9 -11 -11 -9 -5 -4 -5 -7 -7 -6 -5 -3 -1 -0 -2 -7 -13 -15 -13 -8 -5 -7 -9 -11 -16 -20 -20 -19 -19 -21 -21 -21 -20 -20 -20 -21 -22 -23 -23 -22 -20 -19 -19 -20 -21 -22 -22 -22 -23 -24 -26 -27 -27 -27 -26 -24 -23 -22 -22 -21 -21 -21 -22 -24 -25 -26 -26 -25 -24 -20 -20 -20 -20 -18 -16 -17 -20 -22 -22 -22 -22 -24 -24 -24 -23 -20 -19 -19 -19 -20 -21 -23 -24 -24 -24 -26 -27 -29 -29 -30 -31 -29 -26 -24 -23 -25 -27 -28 -28 -28 -28 -27 -26 -26 -24 -23 -23 -23 -23 -21 -20 -19 -20 -21 -23 -24 -23 -19 -18 -19 -19 -18 -17 -16 -16 -16 -18 -19 -20 -19 -19 -19 -19 -19 -18 -17 -18 -20 -22 -22 -24 -25 -24 -22 -21 -21 -21 -20 -21 -22 -23 -24 -24 -22 -21 -22 -24 -24 -26 -28 -30 -29 -28 -25 -7 -4 -2 -3 -3 -2 -1 0 0 -2 -4 -6 -8 -9 -9 -8 -8 -7 -7 -8 -8 -9 -7 -2 2 1 -0 0 1 1 -0 -1 -2 -2 -2 -3 -5 -7 -9 -8 -6 -2 0 2 -0 -2 -4 -5 -5 -4 -2 -0 1 2 3 5 6 5 3 1 1 1 1 1 -0 -1 -2 -3 -5 -6 -6 -4 -1 1 2 1 -0 -1 -2 -0 -0 -0 -0 1 1 -0 -1 0 2 2 2 3 3 3 6 9 12 14 12 9 4 -1 -5 -4 1 7 11 9 5 -0 -5 -7 -7 -8 -9 -10 -8 -4 3 9 10 8 5 1 -2 -5 -8 -11 -13 -11 -8 -5 -4 -4 -5 -4 -2 -4 -8 -12 -13 -12 -8 -8 -11 -17 -18 -14 -10 -8 -6 -7 -8 -8 -6 -3 -4 -6 -8 -10 -7 -5 -4 -6 -10 -12 -12 -10 -7 -7 -9 -9 -6 -3 -3 -3 -4 -5 -6 -8 -10 -12 -15 -14 -12 -10 -7 -8 -9 -11 -12 -13 -15 -17 -20 -23 -20 -14 -8 -6 -8 -8 -8 -6 -6 -5 -5 -4 -4 -4 -6 -8 -9 -9 -10 -11 -14 -16 -17 -16 -14 -12 -11 -12 -14 -15 -14 -11 -10 -10 -10 -9 -9 -10 -13 -14 -12 -11 -11 -13 -14 -13 -9 -6 -6 -6 -5 -4 -3 -2 -0 0 -1 -5 -11 -16 -16 -11 -7 -7 -8 -10 -14 -18 -20 -20 -20 -21 -21 -21 -20 -20 -20 -21 -22 -23 -22 -22 -21 -20 -19 -19 -19 -20 -22 -21 -22 -23 -25 -26 -27 -28 -27 -26 -25 -24 -23 -22 -22 -22 -22 -23 -24 -25 -25 -24 -22 -19 -19 -20 -20 -18 -17 -18 -21 -22 -22 -21 -21 -23 -24 -25 -24 -21 -20 -20 -20 -20 -20 -22 -23 -24 -25 -27 -27 -27 -28 -29 -31 -31 -29 -27 -26 -24 -24 -24 -24 -24 -24 -24 -24 -25 -24 -24 -24 -23 -23 -21 -19 -20 -21 -21 -22 -23 -23 -20 -19 -18 -18 -17 -17 -17 -17 -18 -19 -20 -20 -19 -19 -20 -20 -20 -18 -16 -17 -19 -21 -22 -23 -24 -23 -21 -20 -20 -20 -20 -22 -22 -22 -23 -23 -22 -20 -21 -22 -23 -25 -28 -30 -30 -29 -26 -6 -3 -2 -4 -4 -2 -1 0 -0 -3 -5 -7 -9 -10 -10 -10 -9 -8 -8 -8 -8 -8 -2 2 2 -2 -1 1 2 1 -0 -1 -0 0 0 -2 -5 -7 -8 -7 -3 -0 1 1 -2 -4 -7 -8 -7 -3 0 2 2 3 4 5 6 5 3 1 -1 -0 0 1 0 -1 -2 -2 -3 -5 -6 -6 -4 -0 3 3 2 -0 -2 -2 -2 -2 -2 -1 -0 -1 -1 -0 2 3 3 3 2 2 3 5 8 11 9 6 2 -1 -2 -2 0 4 9 10 10 6 2 -2 -5 -6 -8 -10 -13 -12 -6 5 12 13 11 8 4 -0 -6 -13 -18 -15 -10 -4 -1 -1 -4 -5 -4 -3 -6 -10 -13 -14 -11 -8 -8 -12 -15 -15 -13 -10 -7 -7 -8 -9 -8 -5 -3 -3 -5 -8 -8 -7 -5 -4 -7 -10 -12 -12 -11 -10 -11 -10 -7 -5 -5 -5 -5 -5 -5 -6 -8 -10 -13 -15 -14 -12 -8 -6 -7 -9 -11 -13 -15 -16 -18 -21 -21 -17 -11 -6 -6 -7 -7 -6 -6 -5 -4 -4 -4 -4 -5 -7 -9 -9 -9 -10 -12 -15 -17 -17 -16 -13 -10 -11 -13 -15 -16 -14 -12 -11 -12 -12 -10 -10 -11 -10 -10 -11 -12 -14 -15 -14 -12 -10 -8 -6 -4 -2 -1 -1 -1 0 1 -3 -11 -16 -17 -13 -9 -8 -8 -10 -14 -17 -19 -20 -20 -21 -21 -21 -19 -19 -19 -20 -21 -21 -22 -22 -21 -21 -20 -19 -19 -19 -21 -21 -21 -22 -23 -25 -27 -27 -28 -27 -26 -25 -24 -23 -23 -23 -23 -23 -23 -24 -24 -23 -21 -19 -19 -19 -21 -19 -18 -19 -21 -23 -22 -21 -20 -21 -23 -25 -24 -23 -22 -21 -21 -20 -19 -20 -22 -24 -25 -27 -25 -24 -24 -25 -28 -30 -29 -28 -27 -25 -23 -22 -23 -22 -22 -21 -21 -22 -23 -24 -26 -23 -22 -21 -19 -20 -21 -21 -22 -23 -24 -22 -19 -18 -17 -17 -17 -17 -18 -19 -20 -21 -20 -19 -19 -21 -22 -21 -18 -16 -15 -17 -20 -21 -21 -22 -21 -20 -20 -20 -20 -21 -21 -21 -21 -21 -21 -21 -20 -21 -21 -22 -24 -26 -28 -29 -29 -28 -5 -3 -3 -5 -4 -2 -1 -0 -1 -3 -6 -8 -10 -11 -11 -11 -10 -9 -8 -8 -8 -6 2 2 -1 -3 -2 1 1 1 -1 -0 1 2 1 -2 -6 -7 -7 -4 -1 0 1 -0 -2 -5 -8 -9 -7 -2 1 4 5 6 6 5 4 4 2 0 -1 -2 -1 -0 -0 -1 -3 -4 -4 -4 -5 -5 -4 -2 2 6 6 4 1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -0 2 3 4 3 3 2 2 4 7 8 5 -0 -5 -7 -6 -2 1 4 6 7 8 7 5 2 -2 -6 -9 -14 -17 -17 -10 1 9 12 12 9 6 0 -8 -18 -18 -14 -8 -2 -1 -3 -4 -4 -4 -6 -8 -11 -14 -13 -10 -8 -8 -11 -13 -13 -11 -9 -8 -8 -9 -9 -8 -5 -3 -3 -5 -7 -7 -6 -5 -6 -8 -11 -12 -13 -13 -13 -11 -9 -7 -6 -7 -7 -6 -6 -6 -6 -8 -10 -12 -13 -13 -10 -8 -7 -7 -8 -12 -15 -16 -16 -18 -20 -19 -16 -9 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -6 -9 -10 -10 -10 -11 -13 -15 -17 -17 -14 -11 -11 -11 -14 -16 -16 -13 -11 -11 -12 -11 -10 -9 -6 -7 -9 -11 -13 -14 -14 -14 -13 -11 -8 -4 -0 1 0 -0 -0 0 -3 -10 -15 -17 -15 -11 -8 -8 -10 -14 -16 -18 -19 -20 -20 -21 -20 -19 -18 -19 -19 -20 -20 -21 -21 -22 -21 -20 -19 -19 -19 -20 -21 -22 -23 -23 -24 -25 -26 -27 -27 -27 -26 -25 -25 -24 -24 -23 -23 -23 -24 -24 -23 -21 -19 -19 -19 -21 -20 -19 -20 -22 -22 -21 -20 -19 -19 -22 -24 -25 -24 -24 -23 -22 -21 -19 -19 -21 -24 -25 -24 -23 -22 -21 -22 -26 -28 -27 -26 -26 -25 -23 -22 -22 -22 -21 -21 -20 -21 -22 -24 -26 -23 -22 -21 -19 -20 -21 -22 -22 -22 -24 -22 -20 -18 -17 -16 -16 -18 -19 -20 -21 -21 -20 -20 -20 -21 -22 -22 -19 -17 -16 -15 -18 -20 -21 -21 -21 -20 -20 -20 -20 -20 -21 -21 -20 -20 -20 -20 -21 -24 -22 -22 -23 -23 -26 -27 -28 -29 -3 -3 -4 -5 -4 -2 -1 -1 -2 -4 -6 -8 -10 -11 -11 -11 -10 -9 -9 -8 -6 -0 3 0 -3 -3 -2 -1 -1 -1 -2 -1 1 2 1 -3 -6 -6 -4 -1 -0 0 0 -0 -2 -3 -5 -5 -4 -0 2 4 5 7 7 6 5 3 1 -0 -2 -3 -2 -1 -1 -2 -5 -6 -7 -5 -4 -4 -4 -3 -0 4 6 6 5 2 -0 -1 -1 -1 -2 -3 -2 -2 -1 -0 1 3 4 3 2 2 2 4 6 5 1 -5 -10 -9 -5 0 2 3 3 4 6 7 6 3 -1 -5 -10 -15 -20 -21 -12 -3 5 9 7 6 3 -1 -9 -13 -14 -12 -10 -6 -4 -4 -4 -4 -6 -8 -9 -11 -14 -12 -8 -5 -8 -10 -11 -11 -10 -9 -8 -8 -9 -10 -9 -6 -3 -1 -4 -6 -7 -6 -5 -6 -8 -10 -12 -13 -14 -12 -10 -8 -8 -8 -9 -8 -8 -7 -6 -7 -8 -10 -11 -12 -11 -10 -8 -6 -7 -10 -13 -15 -16 -15 -17 -18 -18 -15 -11 -9 -8 -7 -6 -5 -4 -4 -3 -3 -4 -6 -9 -11 -11 -10 -11 -12 -13 -15 -17 -16 -13 -11 -11 -13 -16 -16 -14 -10 -8 -11 -12 -12 -10 -4 -4 -6 -10 -11 -12 -14 -15 -16 -14 -10 -5 -0 3 2 1 -0 -1 -5 -9 -13 -15 -15 -11 -8 -8 -10 -14 -16 -17 -18 -19 -20 -20 -20 -20 -19 -19 -19 -19 -20 -20 -21 -21 -21 -21 -20 -20 -20 -20 -21 -22 -23 -23 -23 -24 -24 -25 -25 -26 -27 -26 -26 -25 -25 -24 -23 -24 -25 -25 -25 -23 -21 -20 -21 -21 -21 -21 -21 -23 -21 -20 -18 -17 -18 -21 -24 -26 -26 -26 -26 -25 -23 -20 -19 -20 -23 -26 -25 -23 -22 -22 -23 -26 -28 -27 -24 -24 -24 -23 -22 -22 -21 -21 -21 -21 -21 -22 -23 -24 -22 -21 -20 -19 -20 -21 -23 -23 -22 -23 -22 -20 -19 -18 -17 -17 -19 -20 -20 -20 -20 -21 -20 -20 -21 -22 -21 -20 -18 -17 -16 -18 -20 -21 -21 -22 -21 -21 -21 -20 -20 -21 -21 -20 -20 -19 -20 -21 -24 -23 -23 -23 -21 -24 -25 -27 -29 -2 -3 -5 -5 -4 -2 -2 -1 -2 -4 -6 -8 -10 -11 -11 -11 -10 -10 -9 -8 -4 2 0 -3 -4 -3 -2 -2 -3 -4 -3 -1 1 1 -1 -4 -5 -5 -2 -0 -1 -0 -0 -0 -1 -2 -2 -1 1 3 4 4 5 6 6 6 5 3 1 -0 -2 -3 -3 -3 -3 -5 -7 -9 -8 -7 -5 -4 -4 -3 -2 0 3 5 7 6 3 2 2 2 1 -1 -2 -1 -1 -1 -1 0 2 3 3 2 2 2 4 4 2 -2 -7 -9 -7 -2 3 3 2 2 3 4 5 5 3 -0 -4 -10 -16 -22 -19 -12 -4 1 2 1 0 -1 -3 -7 -10 -14 -16 -12 -9 -6 -5 -5 -6 -8 -9 -9 -9 -8 -6 -4 -6 -8 -9 -9 -10 -10 -9 -9 -9 -10 -11 -9 -5 -1 -2 -5 -8 -9 -7 -6 -6 -8 -10 -12 -13 -13 -12 -10 -9 -9 -10 -10 -9 -8 -7 -7 -7 -8 -8 -9 -10 -10 -9 -7 -6 -8 -12 -15 -16 -15 -15 -17 -18 -17 -14 -11 -9 -7 -6 -6 -5 -4 -3 -3 -3 -4 -6 -9 -11 -12 -11 -11 -12 -14 -16 -16 -13 -12 -11 -12 -15 -16 -15 -11 -7 -9 -12 -13 -11 -5 -3 -3 -7 -11 -13 -15 -17 -18 -16 -13 -8 -3 2 4 3 1 -2 -6 -9 -11 -13 -14 -11 -9 -9 -11 -14 -16 -17 -18 -19 -19 -20 -20 -20 -20 -19 -18 -18 -19 -20 -20 -21 -21 -21 -21 -21 -20 -20 -21 -21 -22 -22 -22 -22 -23 -22 -24 -25 -27 -27 -27 -26 -26 -25 -25 -25 -26 -27 -27 -25 -22 -21 -22 -23 -22 -22 -23 -23 -21 -19 -17 -16 -18 -21 -24 -26 -27 -28 -28 -28 -27 -22 -20 -20 -23 -27 -27 -26 -24 -25 -26 -28 -29 -28 -24 -24 -24 -23 -23 -22 -22 -21 -21 -21 -21 -21 -22 -24 -24 -22 -20 -19 -19 -21 -23 -24 -22 -22 -22 -21 -20 -20 -19 -19 -20 -21 -20 -20 -20 -21 -21 -21 -21 -21 -21 -20 -19 -18 -16 -17 -19 -21 -22 -23 -22 -21 -21 -21 -21 -22 -23 -22 -22 -21 -20 -20 -21 -22 -23 -24 -22 -24 -26 -27 -28 -2 -4 -5 -5 -3 -3 -2 -2 -3 -5 -7 -9 -10 -10 -11 -11 -11 -12 -11 -7 -3 0 -3 -5 -5 -3 -2 -4 -5 -5 -3 -0 0 -0 -2 -4 -4 -3 -2 -1 -3 -3 -3 -2 -3 -2 -1 1 3 4 4 4 4 4 6 7 6 4 2 -0 -1 -2 -2 -3 -5 -7 -9 -10 -8 -6 -5 -4 -3 -2 -2 -2 -1 2 4 6 5 4 4 4 4 3 2 1 1 0 -0 -1 0 2 2 3 2 1 1 1 1 -1 -5 -8 -8 -3 3 5 4 2 1 1 2 3 4 2 0 -4 -9 -16 -18 -16 -10 -3 -2 -2 -3 -4 -4 -6 -9 -13 -17 -17 -13 -10 -7 -6 -7 -9 -11 -12 -9 -5 -2 -0 -2 -4 -6 -8 -8 -9 -9 -9 -9 -10 -12 -12 -9 -4 -1 -2 -6 -10 -9 -7 -6 -6 -8 -10 -12 -12 -12 -10 -9 -9 -10 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -8 -9 -8 -7 -8 -10 -13 -15 -15 -14 -15 -17 -18 -17 -14 -12 -9 -7 -6 -6 -5 -4 -4 -4 -4 -5 -8 -11 -12 -12 -11 -11 -13 -15 -15 -13 -12 -11 -12 -14 -16 -16 -13 -8 -7 -10 -12 -13 -8 -4 -2 -3 -8 -13 -17 -18 -18 -16 -14 -10 -6 -1 2 3 2 -2 -5 -8 -9 -11 -13 -12 -12 -11 -13 -15 -16 -17 -18 -19 -19 -20 -20 -19 -19 -19 -18 -18 -18 -18 -19 -20 -21 -22 -22 -22 -21 -21 -20 -21 -21 -20 -21 -21 -22 -22 -23 -25 -26 -27 -27 -27 -27 -26 -26 -26 -26 -27 -28 -26 -22 -20 -22 -23 -23 -23 -23 -23 -20 -18 -17 -16 -17 -21 -24 -27 -26 -28 -29 -30 -30 -25 -21 -20 -22 -27 -29 -28 -27 -28 -28 -28 -26 -25 -23 -24 -24 -24 -23 -23 -22 -21 -21 -21 -21 -22 -25 -27 -28 -25 -22 -20 -20 -21 -22 -23 -22 -22 -22 -21 -22 -22 -21 -21 -20 -20 -19 -19 -19 -20 -22 -22 -21 -21 -20 -20 -20 -19 -17 -18 -19 -21 -23 -24 -23 -22 -21 -22 -23 -23 -25 -24 -23 -22 -20 -20 -21 -22 -23 -24 -24 -25 -28 -30 -29 -3 -4 -5 -5 -4 -3 -2 -2 -3 -6 -8 -9 -10 -11 -11 -12 -13 -14 -12 -7 -3 -2 -5 -6 -5 -2 -2 -5 -6 -5 -3 -1 -1 -2 -3 -3 -3 -2 -1 -2 -5 -7 -7 -5 -3 -1 1 2 4 4 4 4 3 3 5 6 7 5 3 1 0 -0 -1 -3 -6 -8 -9 -9 -7 -5 -5 -5 -4 -2 -1 -2 -2 -1 0 2 3 2 2 3 5 6 6 6 4 3 2 2 2 2 2 3 3 2 1 0 -1 -3 -5 -8 -8 -5 2 6 7 5 3 1 -0 -0 1 2 2 1 -3 -8 -14 -15 -12 -5 -2 -2 -4 -7 -7 -8 -10 -13 -17 -19 -17 -13 -9 -7 -8 -10 -13 -16 -13 -7 -2 1 0 -1 -3 -5 -6 -8 -9 -9 -9 -10 -11 -12 -11 -8 -5 -3 -4 -9 -11 -10 -9 -7 -7 -8 -10 -12 -12 -10 -9 -9 -10 -10 -10 -10 -9 -8 -9 -8 -8 -7 -5 -5 -6 -7 -8 -8 -9 -12 -14 -14 -14 -14 -15 -17 -18 -17 -15 -12 -9 -7 -6 -6 -5 -5 -5 -5 -5 -7 -9 -11 -11 -9 -10 -12 -13 -13 -12 -12 -11 -11 -13 -15 -16 -15 -10 -7 -7 -10 -13 -11 -7 -4 -2 -5 -11 -16 -18 -18 -17 -14 -11 -7 -4 -2 0 1 -2 -4 -6 -7 -10 -12 -13 -13 -13 -13 -15 -16 -17 -17 -18 -19 -19 -19 -19 -19 -19 -19 -18 -17 -17 -18 -20 -21 -22 -22 -22 -21 -21 -20 -20 -20 -20 -19 -20 -21 -22 -23 -24 -26 -27 -27 -27 -27 -27 -27 -26 -26 -26 -27 -24 -21 -19 -20 -22 -23 -22 -22 -22 -20 -18 -17 -17 -17 -20 -22 -25 -25 -26 -28 -30 -31 -27 -23 -20 -21 -26 -29 -30 -29 -29 -29 -26 -23 -22 -22 -23 -25 -25 -24 -23 -23 -22 -21 -20 -20 -23 -28 -31 -31 -28 -23 -22 -21 -21 -21 -22 -22 -23 -23 -23 -23 -23 -23 -22 -21 -20 -19 -18 -18 -19 -21 -22 -21 -21 -20 -20 -20 -19 -18 -18 -19 -21 -23 -24 -24 -23 -23 -23 -23 -23 -25 -24 -23 -21 -21 -21 -21 -21 -22 -25 -26 -27 -28 -30 -30 -4 -5 -6 -5 -4 -3 -3 -2 -4 -6 -8 -9 -10 -11 -12 -14 -15 -15 -12 -7 -3 -4 -6 -6 -4 -2 -3 -6 -6 -5 -2 -2 -2 -3 -4 -3 -1 -1 -1 -3 -7 -8 -8 -4 0 2 3 4 4 4 5 5 4 3 4 5 6 6 5 4 2 1 1 -2 -6 -8 -8 -6 -5 -4 -5 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -2 -3 -3 -0 5 8 11 10 9 7 6 5 5 4 4 4 4 3 2 0 -2 -6 -9 -9 -7 1 7 9 7 5 3 -0 -3 -3 -0 2 2 0 -4 -10 -13 -12 -7 -1 -1 -3 -6 -8 -9 -10 -13 -17 -21 -20 -16 -11 -8 -8 -10 -13 -17 -15 -10 -5 -1 0 1 0 -1 -3 -6 -7 -8 -9 -10 -11 -12 -12 -11 -8 -6 -4 -6 -9 -11 -10 -9 -8 -7 -8 -10 -11 -11 -9 -8 -8 -9 -10 -10 -10 -9 -10 -10 -10 -8 -5 -3 -3 -5 -8 -8 -8 -10 -13 -14 -13 -13 -13 -15 -17 -17 -17 -15 -11 -8 -6 -5 -6 -6 -5 -5 -5 -6 -8 -9 -10 -9 -10 -11 -12 -13 -12 -11 -11 -10 -11 -14 -16 -17 -13 -7 -5 -6 -10 -12 -10 -7 -3 -4 -8 -14 -17 -18 -16 -15 -12 -8 -6 -5 -3 -2 -2 -2 -5 -9 -11 -11 -11 -12 -12 -13 -15 -16 -16 -17 -18 -19 -19 -19 -18 -18 -19 -19 -18 -17 -17 -18 -19 -20 -22 -22 -22 -21 -20 -20 -20 -20 -20 -20 -19 -20 -22 -23 -24 -25 -26 -26 -27 -27 -28 -27 -26 -25 -25 -26 -23 -20 -19 -20 -22 -22 -22 -22 -21 -20 -19 -18 -17 -18 -19 -20 -24 -25 -26 -27 -28 -29 -26 -23 -21 -21 -24 -28 -30 -30 -29 -27 -24 -20 -20 -21 -22 -24 -25 -24 -24 -23 -22 -21 -20 -21 -23 -28 -31 -31 -29 -24 -23 -22 -22 -21 -22 -24 -25 -25 -25 -25 -25 -24 -24 -22 -20 -18 -18 -18 -18 -20 -21 -21 -21 -20 -20 -20 -20 -19 -18 -19 -21 -22 -24 -25 -24 -24 -23 -22 -22 -24 -23 -22 -21 -20 -20 -20 -20 -21 -26 -28 -28 -29 -30 -30 -5 -6 -6 -6 -5 -4 -3 -3 -4 -6 -7 -9 -10 -10 -13 -15 -16 -15 -11 -7 -4 -5 -7 -6 -4 -3 -4 -6 -6 -5 -3 -3 -4 -5 -4 -2 -0 -0 -2 -6 -8 -8 -5 0 3 3 3 3 4 5 5 5 5 3 2 2 3 5 5 5 5 3 1 -2 -4 -6 -4 -3 -2 -3 -4 -4 -4 -3 -3 -2 -2 -1 -2 -2 -3 -4 -6 -8 -8 -5 1 7 12 13 13 11 10 10 8 7 6 5 4 4 4 3 -1 -5 -8 -8 -2 4 9 10 9 7 3 -2 -5 -3 -0 2 1 -2 -8 -12 -13 -9 -2 1 0 -4 -7 -7 -8 -9 -14 -20 -22 -20 -13 -7 -7 -8 -10 -12 -12 -11 -9 -7 -4 -0 2 2 1 -2 -5 -6 -7 -9 -10 -11 -12 -13 -11 -8 -6 -5 -7 -9 -10 -10 -9 -7 -7 -8 -10 -11 -10 -8 -7 -7 -9 -10 -11 -11 -11 -11 -11 -10 -7 -4 -2 -3 -7 -7 -8 -8 -11 -12 -12 -12 -12 -13 -15 -17 -18 -18 -15 -11 -7 -5 -5 -5 -5 -4 -4 -6 -7 -8 -9 -9 -9 -10 -11 -12 -11 -11 -11 -10 -10 -12 -15 -19 -16 -10 -4 -2 -6 -10 -12 -10 -6 -4 -7 -11 -16 -17 -16 -15 -13 -10 -8 -7 -6 -6 -4 -4 -5 -9 -11 -10 -10 -11 -13 -14 -15 -16 -16 -16 -17 -18 -18 -18 -18 -18 -19 -19 -19 -18 -18 -17 -18 -19 -21 -21 -21 -21 -20 -20 -20 -21 -21 -20 -19 -20 -21 -22 -23 -25 -26 -26 -26 -27 -27 -27 -25 -24 -24 -26 -23 -20 -19 -20 -22 -23 -24 -23 -22 -21 -20 -19 -18 -18 -18 -18 -22 -24 -25 -25 -25 -25 -24 -23 -22 -21 -23 -27 -30 -30 -28 -25 -22 -19 -19 -20 -22 -23 -25 -24 -23 -23 -22 -22 -22 -22 -23 -27 -29 -30 -28 -24 -23 -23 -24 -24 -23 -24 -25 -26 -27 -26 -26 -25 -25 -23 -21 -19 -18 -18 -18 -19 -20 -21 -21 -20 -20 -21 -22 -21 -19 -18 -19 -20 -23 -26 -25 -24 -23 -22 -22 -25 -25 -23 -20 -19 -19 -18 -19 -20 -26 -28 -28 -29 -30 -30 -5 -6 -6 -6 -6 -4 -4 -4 -5 -6 -7 -8 -9 -10 -13 -15 -16 -15 -11 -7 -6 -7 -7 -6 -4 -3 -5 -6 -6 -5 -4 -5 -6 -6 -4 -1 0 -1 -5 -8 -8 -5 -1 2 1 2 3 3 3 4 5 5 4 2 1 0 0 1 2 3 4 3 0 -1 -2 -2 -1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -2 -4 -7 -10 -10 -9 -5 1 7 11 13 13 12 11 9 7 6 5 4 5 6 5 3 -0 -3 -2 2 7 10 10 8 5 1 -2 -3 -2 0 1 -2 -7 -11 -13 -11 -6 -2 -0 -2 -5 -5 -5 -4 -7 -15 -21 -23 -17 -8 -4 -4 -6 -7 -9 -11 -12 -12 -10 -5 -0 3 3 0 -2 -4 -5 -7 -9 -11 -13 -13 -13 -11 -8 -6 -6 -7 -9 -11 -10 -9 -7 -6 -8 -10 -9 -8 -6 -6 -8 -9 -11 -12 -13 -12 -12 -11 -9 -6 -4 -3 -5 -6 -6 -7 -9 -10 -11 -12 -11 -12 -13 -16 -18 -19 -18 -14 -10 -6 -5 -5 -5 -4 -4 -5 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -10 -9 -11 -14 -19 -18 -13 -7 -2 -3 -7 -11 -11 -9 -6 -6 -9 -13 -16 -16 -15 -15 -13 -10 -9 -9 -10 -8 -6 -6 -8 -11 -11 -11 -11 -13 -16 -17 -17 -16 -16 -16 -17 -17 -18 -17 -18 -18 -19 -20 -20 -19 -17 -17 -18 -19 -20 -21 -21 -21 -20 -20 -21 -22 -21 -19 -19 -20 -21 -23 -25 -26 -25 -25 -26 -26 -27 -26 -25 -25 -25 -23 -20 -19 -20 -22 -24 -26 -25 -23 -22 -20 -21 -19 -18 -17 -18 -21 -23 -24 -23 -22 -22 -22 -22 -22 -21 -23 -26 -29 -29 -28 -25 -22 -20 -19 -20 -21 -23 -23 -23 -23 -23 -23 -24 -24 -24 -24 -26 -29 -30 -28 -25 -24 -25 -26 -26 -25 -25 -25 -26 -26 -27 -26 -26 -27 -26 -23 -21 -20 -19 -19 -19 -20 -20 -20 -20 -21 -22 -24 -22 -20 -17 -18 -19 -22 -26 -26 -24 -24 -24 -23 -25 -25 -23 -19 -18 -18 -18 -18 -20 -24 -27 -27 -28 -27 -28 -5 -6 -7 -7 -6 -5 -4 -5 -6 -7 -7 -7 -8 -9 -12 -15 -16 -15 -11 -8 -7 -8 -8 -6 -5 -4 -5 -5 -5 -5 -6 -7 -7 -5 -2 1 -1 -4 -8 -8 -6 -2 -0 -1 -1 0 1 2 2 2 2 2 2 1 1 0 -0 -1 -1 -2 -2 -3 -4 -4 -3 -1 -0 -0 -1 -1 0 1 2 2 3 3 1 -1 -3 -3 -1 -0 -1 -4 -7 -10 -12 -12 -9 -4 1 6 9 10 10 9 8 6 4 2 2 3 5 6 6 5 2 2 4 8 10 9 7 3 0 -2 -2 -1 -1 -3 -7 -10 -12 -10 -7 -4 -3 -4 -6 -6 -6 -5 -5 -8 -14 -19 -19 -10 -2 1 -0 -4 -6 -8 -11 -13 -14 -11 -7 -1 2 2 2 -0 -3 -5 -8 -10 -13 -13 -13 -12 -11 -9 -7 -7 -8 -9 -11 -10 -8 -7 -6 -7 -8 -8 -7 -7 -7 -8 -10 -13 -14 -14 -13 -11 -10 -8 -6 -4 -4 -4 -5 -5 -6 -8 -9 -10 -11 -12 -13 -15 -17 -18 -19 -17 -13 -8 -6 -5 -6 -5 -4 -5 -6 -7 -8 -9 -10 -10 -10 -10 -10 -10 -11 -11 -10 -10 -13 -19 -20 -18 -12 -4 -1 -4 -8 -12 -12 -9 -6 -6 -10 -14 -15 -16 -17 -16 -14 -12 -11 -12 -10 -7 -6 -6 -10 -11 -11 -11 -12 -16 -18 -18 -16 -15 -16 -17 -17 -18 -17 -17 -18 -20 -21 -20 -19 -18 -17 -17 -18 -19 -20 -21 -21 -20 -19 -20 -21 -21 -19 -18 -19 -21 -22 -24 -25 -25 -24 -24 -24 -26 -26 -25 -24 -24 -23 -21 -20 -20 -21 -23 -25 -25 -25 -23 -21 -21 -20 -18 -17 -17 -21 -23 -24 -23 -22 -22 -22 -21 -21 -21 -21 -24 -27 -28 -27 -25 -23 -21 -20 -20 -20 -22 -22 -23 -23 -23 -25 -26 -25 -24 -22 -25 -29 -31 -29 -28 -27 -26 -26 -28 -27 -26 -26 -26 -26 -27 -28 -28 -29 -28 -25 -22 -21 -21 -21 -20 -20 -19 -20 -20 -21 -23 -24 -23 -21 -17 -17 -18 -21 -25 -26 -25 -24 -24 -24 -23 -23 -21 -20 -19 -18 -18 -19 -20 -23 -25 -27 -27 -25 -24 -5 -6 -7 -7 -7 -6 -5 -5 -6 -6 -6 -6 -7 -9 -11 -14 -15 -14 -11 -9 -8 -8 -8 -6 -5 -5 -5 -4 -5 -6 -7 -8 -7 -4 -1 0 -3 -7 -8 -6 -0 2 1 -1 -1 -1 -0 0 1 1 1 0 1 1 2 1 1 -1 -3 -5 -6 -8 -9 -8 -6 -4 -2 -3 -3 -2 -1 1 2 4 5 5 4 1 -3 -5 -2 0 1 -1 -3 -6 -9 -12 -12 -10 -7 -4 0 4 7 8 7 6 4 2 0 -1 -0 2 5 8 7 5 5 6 9 9 7 5 2 0 -1 -1 -2 -6 -10 -12 -12 -9 -5 -3 -2 -3 -5 -7 -8 -10 -10 -9 -9 -12 -15 -11 -4 1 2 0 -3 -6 -8 -10 -12 -13 -12 -8 -2 1 2 2 0 -2 -5 -8 -11 -13 -13 -13 -12 -11 -9 -8 -7 -8 -10 -10 -9 -8 -6 -5 -5 -6 -7 -7 -7 -7 -8 -11 -14 -16 -16 -13 -11 -9 -7 -5 -5 -4 -4 -4 -5 -6 -8 -9 -10 -12 -13 -14 -15 -17 -19 -18 -16 -11 -9 -8 -7 -6 -6 -5 -4 -5 -7 -8 -9 -10 -10 -9 -9 -9 -10 -11 -10 -11 -13 -19 -21 -19 -14 -7 -1 -2 -5 -9 -11 -10 -7 -5 -7 -12 -15 -17 -19 -19 -18 -14 -11 -11 -10 -8 -5 -5 -9 -11 -11 -10 -13 -17 -18 -17 -15 -15 -15 -16 -17 -18 -18 -18 -19 -20 -21 -21 -20 -19 -17 -16 -16 -18 -19 -20 -21 -20 -18 -19 -20 -21 -20 -19 -19 -20 -22 -23 -24 -23 -22 -21 -22 -24 -26 -25 -23 -23 -23 -22 -21 -21 -21 -21 -22 -23 -24 -24 -21 -20 -20 -19 -17 -17 -19 -22 -24 -23 -22 -22 -22 -21 -21 -21 -21 -22 -24 -25 -26 -25 -23 -22 -20 -19 -20 -21 -22 -22 -22 -24 -27 -27 -24 -21 -20 -23 -27 -30 -30 -29 -28 -26 -25 -28 -28 -27 -27 -26 -27 -28 -29 -29 -29 -29 -27 -24 -23 -23 -22 -21 -20 -19 -19 -21 -22 -23 -23 -23 -21 -17 -17 -18 -20 -23 -24 -24 -23 -23 -23 -22 -21 -20 -22 -21 -20 -19 -19 -22 -23 -25 -27 -26 -23 -22 -5 -6 -7 -7 -7 -7 -6 -6 -6 -6 -5 -6 -6 -9 -11 -13 -14 -13 -10 -9 -9 -10 -9 -7 -6 -5 -5 -4 -5 -6 -9 -9 -6 -3 -1 -2 -6 -7 -5 -0 4 4 2 0 -0 -1 -0 1 2 1 1 1 1 2 2 1 1 -1 -3 -5 -7 -9 -10 -10 -8 -7 -6 -6 -5 -4 -2 -1 1 3 4 5 5 2 -1 -4 -2 -0 1 1 0 -1 -4 -7 -8 -9 -9 -9 -7 -3 1 5 7 6 5 4 2 -1 -3 -3 -1 4 8 8 7 6 7 8 7 5 2 1 1 0 -2 -7 -12 -14 -14 -11 -7 -4 -2 -2 -3 -5 -8 -12 -15 -13 -10 -9 -10 -9 -5 -2 -0 1 -1 -3 -5 -7 -9 -11 -12 -11 -8 -3 0 2 1 -0 -2 -5 -8 -11 -12 -12 -12 -11 -10 -9 -8 -8 -9 -9 -9 -9 -7 -5 -3 -3 -6 -7 -7 -7 -6 -9 -12 -15 -17 -16 -13 -10 -7 -5 -5 -5 -4 -4 -4 -5 -6 -8 -10 -12 -13 -14 -14 -15 -17 -18 -18 -14 -11 -9 -8 -7 -7 -5 -4 -3 -4 -6 -8 -9 -9 -9 -8 -8 -9 -11 -11 -12 -14 -20 -22 -20 -15 -10 -5 -2 -3 -5 -8 -9 -7 -4 -4 -8 -13 -16 -18 -19 -19 -16 -11 -9 -9 -8 -6 -5 -9 -11 -11 -10 -13 -16 -17 -16 -15 -15 -15 -16 -17 -17 -18 -19 -19 -19 -20 -20 -20 -20 -18 -16 -15 -16 -17 -19 -20 -19 -17 -17 -19 -21 -21 -20 -19 -20 -21 -22 -23 -21 -19 -18 -20 -22 -24 -23 -22 -23 -23 -23 -22 -21 -20 -20 -21 -21 -23 -24 -22 -20 -19 -19 -17 -15 -17 -19 -22 -23 -22 -22 -22 -22 -21 -21 -20 -21 -23 -24 -25 -24 -22 -22 -20 -18 -19 -20 -21 -21 -22 -24 -28 -26 -23 -19 -19 -21 -25 -28 -28 -28 -26 -23 -22 -26 -27 -28 -28 -28 -28 -28 -29 -29 -30 -30 -28 -26 -24 -23 -22 -22 -19 -18 -19 -20 -22 -23 -23 -22 -20 -17 -16 -17 -18 -20 -22 -22 -23 -23 -23 -23 -22 -21 -23 -23 -22 -21 -21 -22 -24 -26 -27 -26 -23 -22 -5 -5 -6 -7 -8 -8 -7 -7 -6 -5 -5 -5 -6 -8 -11 -13 -13 -11 -9 -8 -9 -11 -11 -8 -6 -5 -4 -4 -6 -8 -10 -9 -6 -3 -3 -5 -7 -5 -1 5 6 4 3 2 2 1 2 3 3 2 1 2 3 3 2 2 1 -0 -2 -3 -4 -6 -7 -8 -8 -8 -8 -8 -7 -6 -4 -2 -1 1 2 3 3 2 1 -2 -2 -1 -0 0 1 2 1 -1 -2 -2 -3 -6 -9 -9 -5 1 7 8 7 6 4 3 -1 -4 -5 -4 2 6 7 6 6 6 5 4 1 -0 1 1 -0 -5 -11 -15 -16 -14 -11 -8 -6 -5 -4 -4 -7 -10 -15 -16 -14 -10 -7 -6 -5 -4 -3 -2 -1 -1 -2 -4 -6 -8 -10 -11 -10 -7 -4 0 2 1 -0 -3 -6 -9 -11 -12 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -8 -6 -4 -3 -4 -6 -7 -7 -6 -7 -10 -13 -16 -17 -15 -12 -9 -6 -5 -5 -5 -4 -4 -4 -5 -7 -9 -11 -12 -13 -13 -14 -15 -17 -18 -17 -14 -11 -9 -8 -8 -7 -6 -4 -4 -4 -6 -7 -8 -8 -8 -8 -9 -11 -12 -12 -14 -20 -22 -21 -16 -12 -8 -6 -5 -5 -5 -6 -5 -2 -1 -4 -9 -14 -16 -18 -18 -15 -11 -9 -11 -11 -10 -9 -10 -11 -11 -11 -13 -16 -16 -15 -15 -14 -15 -15 -16 -17 -18 -19 -19 -19 -18 -19 -19 -20 -19 -17 -16 -15 -16 -17 -18 -18 -17 -17 -18 -20 -21 -21 -21 -20 -20 -20 -21 -20 -19 -17 -18 -21 -23 -23 -22 -22 -23 -23 -23 -21 -21 -21 -21 -20 -23 -25 -23 -20 -20 -19 -18 -16 -16 -17 -19 -22 -22 -23 -23 -22 -22 -21 -20 -21 -22 -23 -24 -23 -21 -21 -19 -18 -18 -19 -20 -20 -21 -23 -26 -26 -23 -20 -21 -22 -24 -26 -25 -25 -24 -22 -20 -21 -23 -27 -29 -29 -29 -28 -28 -29 -30 -30 -29 -27 -25 -23 -22 -21 -19 -18 -18 -19 -21 -22 -22 -22 -19 -17 -15 -16 -17 -19 -19 -20 -22 -24 -24 -25 -25 -24 -24 -24 -22 -22 -22 -23 -25 -27 -26 -24 -22 -22 -5 -5 -6 -7 -9 -9 -8 -8 -6 -4 -4 -5 -6 -8 -10 -12 -12 -10 -7 -8 -10 -12 -12 -9 -6 -4 -3 -4 -7 -10 -11 -8 -6 -5 -6 -7 -6 -1 4 6 4 3 4 4 4 3 4 4 4 2 2 3 4 4 3 2 1 0 -1 -1 -2 -2 -2 -3 -5 -7 -9 -10 -9 -7 -4 -2 -2 -1 -0 -0 0 0 0 -1 -1 -2 -3 -3 -2 0 2 3 4 5 5 1 -5 -10 -9 -4 4 9 10 9 7 6 4 0 -4 -6 -3 1 5 7 6 5 4 3 -0 -3 -2 -1 1 -2 -6 -10 -13 -14 -14 -13 -12 -10 -8 -7 -6 -6 -9 -13 -15 -14 -10 -6 -5 -5 -5 -5 -4 -2 -0 -0 -3 -5 -7 -9 -10 -9 -7 -4 -0 1 1 -0 -2 -5 -8 -11 -13 -14 -13 -12 -11 -10 -9 -8 -7 -6 -7 -6 -5 -3 -3 -5 -6 -7 -7 -7 -9 -11 -13 -15 -16 -15 -11 -7 -5 -4 -4 -4 -4 -3 -4 -5 -6 -9 -11 -12 -13 -13 -14 -15 -17 -18 -16 -13 -9 -8 -8 -8 -8 -6 -4 -3 -3 -4 -6 -7 -7 -7 -8 -9 -10 -12 -14 -18 -21 -21 -18 -12 -10 -9 -9 -7 -5 -3 -1 2 4 1 -4 -9 -13 -15 -16 -15 -12 -11 -12 -12 -11 -12 -12 -12 -11 -10 -13 -15 -16 -15 -15 -14 -14 -15 -16 -17 -18 -18 -19 -17 -17 -17 -18 -20 -20 -20 -18 -16 -16 -16 -17 -18 -17 -17 -18 -20 -22 -23 -23 -21 -18 -17 -18 -19 -19 -18 -19 -20 -23 -25 -25 -24 -24 -25 -24 -23 -22 -23 -22 -21 -23 -24 -22 -20 -20 -20 -19 -17 -16 -17 -19 -21 -22 -23 -23 -23 -21 -20 -20 -20 -21 -22 -23 -22 -20 -20 -19 -18 -17 -18 -19 -20 -21 -23 -26 -27 -25 -23 -24 -24 -24 -24 -22 -22 -22 -20 -19 -19 -21 -24 -28 -28 -28 -28 -28 -27 -29 -29 -29 -28 -26 -24 -23 -22 -20 -19 -18 -18 -19 -21 -21 -21 -18 -17 -16 -15 -15 -18 -18 -19 -19 -22 -24 -26 -26 -25 -25 -24 -22 -22 -22 -23 -25 -27 -25 -23 -21 -21 -5 -4 -5 -7 -9 -10 -10 -8 -6 -4 -3 -4 -6 -7 -9 -11 -11 -9 -6 -7 -10 -12 -12 -9 -6 -4 -3 -5 -9 -11 -11 -8 -7 -7 -7 -7 -2 3 5 2 1 3 4 5 4 5 6 6 5 4 4 4 4 4 3 3 2 1 1 0 0 0 1 0 -2 -5 -8 -10 -8 -5 -1 -0 0 0 0 -1 -1 -1 -1 -1 -1 -3 -5 -7 -9 -8 -5 -1 4 8 10 8 2 -5 -9 -8 -2 7 11 11 10 8 7 5 2 -2 -4 -3 0 4 6 5 3 2 -0 -3 -6 -6 -3 -0 -1 -4 -7 -11 -14 -15 -15 -14 -13 -11 -8 -5 -4 -8 -13 -16 -14 -9 -5 -4 -5 -7 -8 -6 -3 1 1 -2 -5 -7 -8 -9 -9 -7 -4 -1 0 1 0 -2 -5 -8 -10 -13 -14 -14 -13 -12 -10 -8 -6 -5 -5 -5 -5 -4 -4 -4 -6 -7 -7 -8 -9 -10 -11 -12 -14 -15 -14 -11 -6 -3 -2 -3 -3 -3 -3 -3 -4 -6 -8 -11 -12 -13 -13 -13 -15 -18 -18 -15 -11 -7 -7 -8 -9 -9 -7 -4 -2 -1 -3 -4 -6 -7 -7 -7 -8 -10 -13 -16 -20 -22 -20 -14 -9 -8 -9 -10 -8 -4 -0 5 8 6 2 -4 -9 -12 -14 -16 -14 -13 -12 -11 -11 -13 -13 -12 -10 -10 -11 -14 -16 -16 -16 -15 -15 -15 -15 -16 -17 -17 -17 -17 -16 -16 -17 -18 -20 -20 -20 -19 -18 -17 -17 -18 -18 -18 -19 -20 -22 -24 -23 -21 -17 -15 -16 -18 -20 -20 -20 -21 -24 -27 -28 -27 -26 -27 -25 -24 -24 -25 -25 -24 -23 -23 -20 -19 -20 -20 -20 -18 -17 -17 -18 -21 -22 -23 -23 -22 -22 -21 -20 -19 -20 -21 -22 -22 -22 -21 -20 -19 -18 -18 -19 -20 -21 -23 -28 -29 -28 -26 -26 -24 -22 -22 -22 -21 -21 -19 -21 -22 -24 -25 -26 -26 -26 -26 -27 -26 -27 -28 -29 -28 -27 -26 -24 -22 -21 -20 -19 -18 -19 -20 -21 -20 -18 -17 -16 -15 -13 -17 -18 -18 -18 -20 -22 -24 -25 -25 -24 -24 -23 -23 -22 -22 -24 -26 -24 -22 -22 -23 -4 -4 -5 -7 -10 -11 -11 -9 -7 -4 -3 -5 -6 -7 -8 -10 -10 -8 -5 -7 -10 -13 -12 -8 -5 -4 -4 -7 -11 -12 -12 -9 -9 -9 -8 -5 3 5 3 -1 -0 3 5 6 4 6 6 6 6 6 6 5 4 4 3 2 1 1 1 1 2 3 2 0 -2 -5 -8 -8 -6 -3 1 2 2 2 1 1 -0 -1 -1 -1 -1 -2 -4 -7 -11 -13 -13 -10 -6 -1 3 6 7 2 -3 -7 -6 -2 5 10 12 11 8 6 5 3 -1 -3 -3 -0 5 5 4 2 -1 -3 -6 -8 -8 -3 -0 0 -3 -8 -11 -12 -12 -12 -12 -11 -9 -6 -4 -6 -11 -15 -16 -12 -7 -4 -3 -6 -9 -10 -7 -2 2 2 -1 -5 -6 -7 -8 -8 -7 -4 -2 -1 -0 -1 -2 -4 -6 -9 -12 -13 -14 -13 -11 -9 -7 -5 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -9 -11 -11 -11 -11 -12 -13 -13 -9 -5 -1 -1 -2 -2 -2 -2 -2 -4 -6 -9 -11 -12 -12 -12 -13 -17 -19 -18 -14 -8 -6 -7 -8 -10 -10 -8 -4 0 1 -1 -3 -5 -4 -4 -5 -7 -11 -16 -20 -22 -21 -17 -12 -8 -7 -10 -11 -8 -3 4 9 8 5 -0 -5 -8 -13 -16 -17 -15 -13 -12 -11 -13 -13 -12 -10 -9 -11 -14 -17 -19 -18 -16 -15 -14 -15 -15 -15 -15 -16 -16 -16 -16 -16 -17 -18 -20 -21 -22 -21 -19 -17 -17 -18 -18 -19 -21 -22 -23 -23 -22 -18 -15 -15 -17 -20 -21 -20 -20 -22 -26 -28 -28 -27 -27 -25 -23 -24 -27 -27 -27 -25 -22 -19 -19 -20 -21 -21 -19 -18 -17 -18 -20 -22 -23 -23 -22 -22 -22 -21 -20 -20 -21 -23 -23 -24 -23 -22 -21 -19 -18 -19 -20 -22 -25 -28 -30 -30 -28 -25 -21 -19 -20 -22 -22 -20 -19 -23 -26 -27 -27 -25 -24 -24 -24 -25 -26 -27 -27 -28 -29 -29 -27 -24 -22 -21 -20 -20 -19 -19 -19 -20 -19 -19 -18 -17 -15 -14 -16 -18 -18 -17 -19 -21 -22 -23 -23 -24 -24 -24 -24 -22 -22 -23 -23 -23 -22 -24 -26