import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) { // 注意 while 处理多个 case
int n = in.nextInt();
//要求组成指定偶数的两个素数差值最小的素数对
//差值为0时是最小,为1时是次小,以此类推
//从偶数n的一半为起点开始迭代,迭代到2为止,因为最小的素数是2
for(int i = n/2;i >= 2;i--){
//求出的第一对素数就是差值最小
if(isPrimeNumber(i) && isPrimeNumber(n - i)){
System.out.println(i + "\n" + (n - i));
break;
}
}
}
}
//判断一个整型num是否是质数
public static boolean isPrimeNumber(int num){
for(int i = 2;i <= Math.pow(num,0.5);i++){
if(num % i == 0) return false;
}
return true;
}
}