uses
	sysutils;

const
	maxn = 2000;

var
	i, n, j: longint;
	x, y: array [1..maxn] of longint;
	exist: boolean;
	minc, maxc: longint;

begin
	randseed := 47902374;

	n := 300;
	minc := -10;
	maxc := 10;
	for i := 1 to n do begin
		repeat
			x[i] := minc + random(maxc - minc + 1);
			y[i] := minc + random(maxc - minc + 1);

			exist := false;
			for j := 1 to i - 1 do begin
				if (x[i] = x[j]) and (y[i] = y[j]) then begin
					exist := true;
					break;
				end;
			end;
		until not exist;
	end;

	writeln(n);
	for i := 1 to n do begin
		writeln(x[i], ' ', y[i]);
	end;
end.