Listing: LACATE.PAS 
program Chei_si_Lacate; 
var n:Longint; 
procedure citeste; 
var f:Text; 
begin 
Assign(f,'SEIF.IN'); Reset(f); 
Readln(f,n); Close(f) 
end; 
procedure scrie; 
var f:Text; i,j:Longint; 
begin 
Assign(f,'SEIF.OUT'); Rewrite(f); 
Writeln(f,n*(n-1) shr 1,' ',n*(n-1)); 
for i:=1 to n-1 do 
for j:=i+1 to n do Writeln(f,i,' ',j); 
Close(f) 
end; 
Begin 
citeste; 
scrie 
End.