ancestor(A, D) :- ancestor (A, P), ancestor(P, D) - What is wrong with this piece of Prolog code?

What is wrong with this piece of Prolog code?

ancestor(A, D) :- ancestor (A, P), ancestor(P, D).  

Answers:
A.

It does not have a definition of the size-N problem.

B.

It has two size-M problems with different sizes.

C.

It does not have a stopping condition.

D.

It is not a tail-recursive program, and it is not efficient.

Answer. C.