Cod sursa(job #545302)
type natural=0..1000000;
var n:natural;
sum:int64;
tab:array[1..1000000] of int64;
Procedure Cit;
var f:text;
begin
assign(f,'fractii.in');
reset(f);
read(f,n);
close(f);
end;
Procedure Afis;
var f:text;
begin
assign(f,'fractii.out');
rewrite(f);
write(f,sum);
close(f);
end;
Procedure calc;
var i,j:natural;
begin
for i:=1 to n do tab[i]:=i-1;
for i:=2 to n do
begin
inc(sum,tab[i]);
j:=i*2;
while j<=n do begin
dec(tab[j],tab[i]);
inc(j,i);
end;
end;
sum:=sum*2+1
end;
Begin
Cit;
Calc;
Afis;
End.