Program tije;
Var f:text;
n,i,st,dr,j,jj:longint;
Begin
assign(f,'tije.in');
reset(f);
readln(f,n);
close(f);
assign(f,'tije.out');
rewrite(f);
for i:=n downto 1 do Writeln(f,i,' ',n+1);
st:=1;
dr:=n;
for i:=1 to n-1 do
if i mod 2=1 then
begin
for j:=st to dr-2 do
Writeln(f,dr,' ',j);
for j:=1 to i do
Writeln(f,dr-1,' ',dr);
for j:=dr-2 downto st do
begin
for jj:=1 to i do
Writeln(f,j,' ',j+1);
Writeln(f,j,' ',dr);
end;
dec(dr);
end
else
begin
for j:=dr downto st+2 do
Writeln(f,st,' ',j);
for j:=1 to i do
Writeln(f,st+1,' ',st);
for j:=st+2 to dr do
begin
for jj:=1 to i do
Writeln(f,j,' ',j-1);
Writeln(f,j,' ',st);
end;
inc(st);
end;
for i:=n downto 1 do Writeln(f,n+1,' ',(n+1) div 2);
close(f);
End.