import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while (true) {
			BigInteger bi=new BigInteger(br.readLine());
			if (bi.compareTo(BigInteger.ZERO)<0) {
				break;
			}
			StringBuilder sb=new StringBuilder();
			if (bi.isProbablePrime(10)) {
				sb.append("    ");
				sb.append(bi);
				sb.append("\n");
			} else if (!bi.equals(BigInteger.ZERO)){
				BigInteger biTwo=BigInteger.valueOf(2);
				while (bi.mod(biTwo).equals(BigInteger.ZERO)) {
					bi=bi.divide(biTwo);
					sb.append("    ");
					sb.append(2);
					sb.append("\n");
				}
				for (BigInteger i=BigInteger.valueOf(3);i.multiply(i).compareTo(bi)<0;i=i.add(biTwo)) {
					while (bi.mod(i).equals(BigInteger.ZERO)) {
						bi=bi.divide(i);
						sb.append("    ");
						sb.append(i);
						sb.append("\n");
					}
				}
				if (bi.compareTo(BigInteger.ONE)>0) {
					sb.append("    ");
					sb.append(bi);
					sb.append("\n");
				}
			} else {
				sb.append("\n");
			}
			System.out.println(sb.toString());
		}
	}
}