is_delta(N,_):-N<0,!,fail.
is_delta(0,_):-!.
is_delta(N,D):-
N1 is N-D,
D1 is D+1,
is_delta(N1,D1).
score([],Score,Score):-!.
score([X|Xs],Score,Result):-
Score1 is X-64+Score,
score(Xs,Score1,Result).
count(Words,1):-
member(E,Words),
score(E,0,S),
is_delta(S,1).
myread(FN):-
open(FN,read,IS),
read_term(IS,Words,[]),
close(IS),
findall(E,count(Words,E),Es),
length(Es,Ans),
write(Ans).
main:-myread('pe42.txt').