/*事実と規則*/
choice2([ ], ANS,ANS, SUM,SUM).
choice2([H|T], L,ANS, X,SUM)
:- choice2(T, [0|L]),ANS, X,SUM).
choice2([H|T], L,ANS, X,SUM)
:- Y is H+X, Y<=SUM,!, choice2(T, [H|L]),ANS, Y,SUM).
solve(ANS,SUM):-choice2([3,14,6,9], [ ],ANS, 0,sum).
?- solve(ANS,12).