0 1 10 2 3 4 9 11 5 6 7 8 12 13 15 16 17 18 14 19 20 21 