revise reduce combinations method