add new greedy strategy, should backtrack