rotate list
gray code