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