Var n,d: Longint;
    lt: Array[1..100000] of longint;
    era: Array[1..100000] of Boolean;
Procedure Doc;
  Begin
      Assign(input,'dnton.inp'); Reset(input);
      Assign(output,'dnton.out'); Rewrite(output);
      Read(n);
  End;
Procedure eratos;
var i,j: Longint;
  Begin
      Fillchar(era,n,true);
      d:= 0;
      for i:= 2 to n do
        If Era[i] then
          Begin
              inc(d); lt[d]:= i;
              For j:= 2 to n div i do era[i*j]:= False;
          End;
  End;
Procedure Xl;
var i: Longint;
  Begin
      for i:= 1 to d do Writeln(lt[i]);
  End;
begin
    Doc;
    Eratos;
    If (n > 2) then Xl;
End.
