import java.util.*;
import java.io.*;

public class RoundPrimes {

	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(new FileReader("Data2.txt"));
		PrintWriter pw = new PrintWriter(new FileWriter("Out2.txt"));
		
		int primes[] = new int[100];
		int numPrimes = 0;
		
		// find all primes to 100;
		for (int i=2; i<100; i++)
		{
			boolean prime = true;
			for (int j=i-1; j>1; j--)
			{
				if (i % j == 0)
				{
					prime = false;
				}
			}
			if (prime)
			{
				primes[numPrimes] = i;
				numPrimes++;
			}
		}
		System.out.println(numPrimes);
		for (int i=0; i<numPrimes; i++)
		{
			System.out.print(primes[i]+" ");
		}
		System.out.println();
		
		for (int j=0; j<5; j++)
		{
			// Input
			int number = sc.nextInt();
			int lowPrime = 0;
			int highPrime = 0;
			
			// Find the second primes around it
			boolean done = false;
			int i=0;
			while (!done)
			{
				if (primes[i] == number)
				{
					lowPrime = i-2;
					highPrime = i+2;
					done = true;
				} else if (primes[i] > number) {
					lowPrime = i-2;
					highPrime = i+1;
					done = true;
				}
				i++;
			}
			System.out.println(primes[lowPrime]+" "+primes[highPrime]);
			
			// Which is closer
			if ( (number - primes[lowPrime]) < (primes[highPrime] - number) )
			{
				pw.println(primes[lowPrime]);
			} else {
				pw.println(primes[highPrime]);				
			}			
		}
		pw.close();
	}

}

