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

public class TestGen {
	public static void main(String[] args) {
		new TestGen().run();
	}

	BufferedReader br;
	StringTokenizer in;
	PrintWriter out;

	public String nextToken() throws IOException {
		while (in == null || !in.hasMoreTokens()) {
			in = new StringTokenizer(br.readLine());
		}
		return in.nextToken();
	}

	public int nextInt() throws IOException {
		return Integer.parseInt(nextToken());
	}

	public long nextLong() throws IOException {
		return Long.parseLong(nextToken());
	}

	public double nextDouble() throws IOException {
		return Double.parseDouble(nextToken());
	}

	int tNumber;
	
	Random rnd;
	
	void print(long a, long b) throws IOException {
		if (tNumber < 10) {
			out = new PrintWriter("0" + tNumber);
		} else {
			out = new PrintWriter("" + tNumber);
		}
		tNumber++;
		out.println(a + " " + b);
		out.close();
	}
	
	public void solve() throws IOException {
		tNumber = 1;
		rnd = new Random(31);
		
		print(20, (1 << 20) - 7);
		print(20, 1);
		print(20, (1 << 19) - 3);
		
		for (int i = 0; i < 7; i++) {
			print(3 + 2 * i, rnd.nextInt((1 << (3 + 2 * i)) - 7) + 1);
		}
		
		print(63, ((long)1 << 62) - 7 + ((long)1 << 62));
		print(63, 1);
		print(63, ((long)1 << 62) - 7);
		
		for (int i = 0; i < 7; i++) {
			long a = i + 50;
			long t = Math.abs(rnd.nextInt() + (long)1e7 * (rnd.nextInt()));
			while (t > ((long)1 << a) - 8)
				t /= 2;
			print(a, t);
		}
	}

	public void run() {
		try {
			br = new BufferedReader(new InputStreamReader(System.in));
			out = new PrintWriter(System.out);
			
			solve();

			out.close();
		} catch (IOException e) {
			e.printStackTrace();
			System.exit(1);
		}
	}
}