const N = 2000;
C = 53;
Bound = 8987;
Upper = 500000;
var List: array[1..200000]of longint;
i, A, B, T: longint;
procedure swap(var a, b:longint);
var c:longint;
begin
c:=a; a:=b; b:=c;
end;
begin
randomize;
assign(input,'dec.in');
assign(output,'dec.out');
rewrite(output);
for i := 1 to N do
begin
T := random(10000) + 1;
if T < 5 then
List[i] := random(Upper)
else
List[i] := random(C * 3 div 2) + Bound;
end;
for i:=1 to N do
begin
A := random(N) + 1;
B := random(N) + 1;
swap(List[A], List[B]);
end;
writeln(N, ' ', C);
for i:=1 to N - 1 do
write(List[i], ' ');
writeln(List[N]);
close(output);
end.