
rezolv(S) :- generez(S), testez(S).

generez([_,_,_,_,_]).

testez(S):-
	natiune(O1,englez),casa(O1,rosie),member(O1,S),
	casa(O2,verde),bea(O2,cafea),member(O2,S),
	natiune(O3,ucrainian),bea(O3,ceai),member(O3,S),
	casa(O4,galben),fum(O4,kent),member(O4,S),
	bea(O5,lapte),la_mijloc(O5,S),
	natiune(O6,norvegian),primul_din_stinga(O6,S),
	fum(OA7,marlboro),are(OB7,vulpe),linga(OA7,OB7,S),
	fum(OA8,kent),are(OB8,cal),linga(OA8,OB8,S),
	bea(O9,juice),fum(O9,carpati),member(O9,S),
	natiune(O10,japonez),fum(O10,pipa),member(O10,S),
	natiune(OA11,norvegian),casa(OB11,albastra),linga(OA11,OB11,S),
	are(O12,caine),natiune(O12,spaniol),member(O12,S),
	are(O13,sarpe),fum(O13,camel),member(O13,S),
	casa(OA14,gri),casa(OB14,verde),linga(OA14,OB14,S),
	are(OA15, pisica), bea(OB15,vodka), lateral(OA15,S), lateral(OB15,S). 

casa( [C,_,_,_,_], C).
natiune([_,N,_,_,_], N).
bea( [_,_,B,_,_] ,B).
fum( [_,_,_,F,_] ,F).
are( [_,_,_,_,P], P).

la_stinga(A,B,L) :- append(_,[A,B|_],L).
linga(LA,LB,S):-la_stinga(LA,LB,S);la_stinga(LB,LA,S).
primul_din_stinga(X,[X|_]).
la_mijloc(X,[_,_,X,_,_]).
lateral(X, [X|_]). lateral(X,[_,_,_,_,X]).















