firstN(N,L,R).
firstN(0,[],[]).
firstN(0,[a],[]).
firstN(0,[b,c],[]).
firstN(1,[d],[d]).
firstN(1,[e,f],[e]).
firstN(2,[g,h],[g,h]).
firstN(2,[i,j,k],[i,j]).
firstN(3,[m,n,p],[m,n,p]).
firstN(3,[q,r,s,t],[q,r,s]).

firstN(0,T,[]) :- list(T).
firstN(1,[X|T],[X]) :- list(T).
firstN(2,[X,Y|T],[X,Y]) :- list(T).

