16 lines
394 B
ObjectPascal

var n,i,j:longint;
zhishu:boolean;
f:Array[0..100000]of longint;
begin
assign(input,'prime.in'); reset(input);
assign(output,'prime.out'); rewrite(output);
readln(n);
f[0]:=1;
for i:=2 to n do begin
zhishu:=true;
for j:=2 to trunc(sqrt(i)) do if i mod j =0 then zhishu:=false;
if zhishu then for j:=i to n do inc(f[j],f[j-i]);
end;
writeln(f[n]);
close(output);
end.