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