{
TASK:mate
LANG:PASCAL
}
var
n,i,j,k:integer;
a:array[1..101,1..101] of integer;
begin
readln(n);
for i:=1 to n-1 do
 for j:=i+1 to n do a[i,j]:=n-j+i;
for i:=1 to n-1 do
 for j:=i+1 to n do a[j,i]:=j-i;
 writeln(n);
for k:=1 to n do begin
for i:=1 to n do
 for j:=1 to n do if a[i,j]=k then write(i,'-',j,' ');
 writeln;
 end;
 end.
