Const Maxn=10010;
var a:array[0..maxn,0..9,0..9]of integer;
i,j,k,t,temp,n:integer;
ans:Int64;
function eq(t1,t2,t3:integer):boolean;
var i,v:integer;
begin
result:=false;
if t1=0 then exit;
v:=100*t1+10*t2+t3;
for i:=2 to Floor(0.5+Sqrt(v*1.0)) do
if v mod i=0 then exit;
result:=true;
end;
begin
Assign(Input,'INPUT.TXT');reset(Input);
Assign(Output,'OUTPUT.TXT');rewrite(Output);
readln(n);
fillchar(a,sizeof(a),0);
ans:=0;
for i:=0 to 9 do
for j:=0 to 9 do begin
temp:=0;
for k:=0 to 9 do begin
if eq(k,i,j) then temp:=temp+1;
end;
a[3,i,j]:=a[3,i,j]+temp;
end;
for t:=4 to n do begin
for i:=0 to 9 do
for j:=0 to 9 do begin
temp:=0;
for k:=0 to 9 do begin
if eq(k,i,j) then temp:=temp+a[t-1,k,i]
end;
a[t,i,j]:=temp;
end;
end;
for i:=0 to 9 do
for j:=0 to 9 do
ans:=ans+a[n,i,j];
writeln(ans);
close(Input);
close(Output);
{ TODO -oUser -cConsole Main : Insert code here }
end. |