0 1 4 7 12 3 19 13 18 8 9 23 2 10 11 14 22 16 15 17 20 21 24 5 25 6 26 27 28 29 