import java.io.*;
import java.util.*;

public class TestsGen {
	static int testcount = 0;

	static Random random = new Random(25566);
	
	static int MAXN = (int) 1e5;
	static int MAXM = (int) 1e5;
	static int MAX = (int) 1e9;

	void write() throws IOException {
		PrintWriter out = new PrintWriter(String.format("%02d", ++testcount));

		out.close();
	}

	static void write1() throws IOException {
		PrintWriter out = new PrintWriter(String.format("%02d", ++testcount));
		int n = MAXN;
		int m = MAXM;
		out.println(n + " " + m);
		for (int i = 0; i < n; i++) {
			out.println(-MAX + " " + MAX);
		}
		out.print(-MAX + " " + MAX + " ");
		for (int i = 0; i < m - 2; i++) {
			out.print((random.nextInt(2 * MAX + 1) - MAX));
			if (i != m - 3) {
				out.print(" ");
			}
		}
		out.println();
		out.close();
	}

	static void write2() throws IOException {
		PrintWriter out = new PrintWriter(String.format("%02d", ++testcount));
		int n = MAXN;
		int m = MAXM;
		out.println(n + " " + m);
		for (int i = -n / 2 + 1; i <= n / 2; i++) {
			out.println(i + " " + i);
		}
		for (int i = -n / 2 + 1; i <= n / 2; i++) {
			out.print(i);
			if (i != n / 2) {
				out.print(" ");
			}
		}
		out.println();
		out.close();
	}

	static void write3() throws IOException {
		PrintWriter out = new PrintWriter(String.format("%02d", ++testcount));
		int n = MAXN;
		int m = MAXM;
		out.println(n + " " + m);
		for (int i = 0; i < n; i++) {
			out.println((-MAX + 1) + " " + (MAX - 1));
		}
		for (int i = 0; i < m / 2; i++) {
			out.print(-MAX + " " + MAX);
			if (i != m / 2 - 1) {
				out.print(" ");
			}
		}
		out.println();
		out.close();
	}

	static void writeRand(int MAXN, int MAXM, int MAX) throws IOException {
		PrintWriter out = new PrintWriter(String.format("%02d", ++testcount));
		int n = random.nextInt(MAXN) + 1;
		int m = random.nextInt(MAXM) + 1;
		out.println(n + " " + m);
		for (int i = 0; i < n; i++) {
			out.println((random.nextInt(2 * MAX + 1) - MAX) + " " + (random.nextInt(2 * MAX + 1) - MAX));
		}
		for (int i = 0; i < m; i++) {
			out.print((random.nextInt(2 * MAX + 1) - MAX));
			if (i != m - 1) {
				out.print(" ");
			}
		}
		out.println();
		out.close();
	}

	public static void main(String[] args) throws IOException {
		while (new File(String.format("%02d.t", testcount + 1)).exists()) {
			testcount++;
		}
		
		write1();
		write2();
		write3();
		for (int i = 0; i < 10; i++) {
			writeRand(MAXN, MAXM, MAX);
		}
		for (int i = 0; i < 10; i++) {
			writeRand(MAXN, MAXM, 10);
		}
	}

}
