25 lines
412 B
ObjectPascal

var f:array[0..1000]of longint;
i,n:longint;
procedure setio;
begin
assign(input,'domino.in');
assign(output,'domino.out');
reset(input);
rewrite(output);
end;
procedure print;
begin
close(input);
close(output);
end;
begin
setio;
readln(n);
f[0]:=1; f[1]:=1; f[2]:=2;
for i:=3 to n do
f[i]:=f[i-1]+f[i-2]+f[i-3];
writeln(f[n]);
print;
end.