import static java.lang.System.exit;

import java.io.PrintWriter;
import java.util.Random;

public class TestsGen {

	static int curTest = 1;
	static final Random rand = new Random(2139128391L);
	static long MAXN = 1000000000000000000L;

	static class Test {
		long n;
		long k;

		public Test(long n, long k) {
			this.n = n;
			this.k = k;
		}

	}

	static void printTest(Test test) {
		System.err.println("Generating test #" + (++curTest));
		try {
			PrintWriter out = new PrintWriter("" + curTest / 10 + curTest % 10);
			out.println(test.n + " " + test.k);
			out.close();
		} catch (Throwable e) {
			e.printStackTrace();
			exit(2);
		}
	}

	public static void main(String[] args) {
		printTest(new Test(MAXN, MAXN));
		printTest(new Test(MAXN, (1L << 59)));
		printTest(new Test(MAXN, (1L << 59) - 1));
		printTest(new Test((1L << 59) - 1, MAXN));
		printTest(new Test(1, 1));
		printTest(new Test(3, 7));
		printTest(new Test(1, MAXN));
		printTest(new Test((1L << 30) - 1, MAXN));
		for (int i = 0; i < 10; i++) {
			printTest(getRandomTest(Integer.MAX_VALUE, Integer.MAX_VALUE));
		}
		for (int i = 0; i < 10; i++) {
			printTest(getRandomTest(MAXN, MAXN));
		}
	}

	static Test getRandomTest(long maxN, long maxK) {
		return new Test(random(1, maxN + 1), random(1, maxK + 1));
	}

	static long nextRandomLong() {
		return (long) rand.nextInt() << 32 | rand.nextInt();
	}

	static long random(long n) {
		return (nextRandomLong() % n + n) % n;
	}

	static long random(long a, long b) {
		return random(b - a) + a;
	}
}
