c2l((X,Y),[X|Z]) :- !,c2l(Y,Z).
c2l(X,[X]).

ops(X) :- ops(X,999).

ops([],_).
ops([H|T],N) :- ops1(H,N), N1 is N - 1, ops(T,N1).

ops1((X,Y),N) :- !, ops1(X,N), ops1(Y,N).
ops1(This,N)  :- This =.. [X,A],  op(N,X,A).
