zellers(Y,M,D,Result):- (M<3 -> M1 is M+12,Y1 is (Y-1) mod 100;M1 is M,Y1 is Y mod 100), C is Y1//100, Result is (D+(26*M1+26)//10+Y1+Y1//4-2*C+C//4) mod 7. search(1):- between(1901,2000,Y), between(1,12,M), zellers(Y,M,1,W), W=:=2. main:- findall(W,search(W),Ws), length(Ws,Len), write(Len).