canoe, knight stack, knight recursive