# n is the largest number prime pair we need def prime_pairs(n): if n <= 0: return [] limit = 1000 primes = [] sieve = [True] * (limit + 1) sieve[0] = sieve[1] = False prime_pairs = [] while True: print(len(sieve)) for p in range(2, int(limit**0.5) + 1): if sieve[p]: for i in range(p * p, limit + 1, p): sieve[i] = False for p in range(2, limit + 1): if sieve[p]: primes.append(p) if len(primes) > 1: if primes[-1] - primes[-2] == 2 and (primes[-2], primes[-1]) not in prime_pairs: prime_pairs.append((primes[-2], primes[-1])) if len(prime_pairs) >= n: break limit *= 2 sieve.extend([True] * (limit - len(sieve) + 1)) print(prime_pairs) return prime_pairs def main(): n = int(input()) nums = [] for i in range(n): nums.append(int(input())) primes_list = prime_pairs(max(nums)) for num in nums: print(f'{primes_list[num - 1][0]} {primes_list[num - 1][1]}') if __name__ == '__main__': main()