import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Map<Integer,Integer> map = new HashMap<>();
for (int i = 1; i <= n/2; i++) { // 1到n/2中所有的素数
if(isPrime(i)&&isPrime(n-i)) { // 当i和n-i都为素数时
map.put(i,map.getOrDefault(i,n-i-i)); // key存当前素数 value存n-i和i的差值
};
}
Set<Integer> keySet = map.keySet();
int maxKey = 0;
for (int key : keySet) {
maxKey = Math.max(maxKey,key); //找出存的最大的素数
}
System.out.println(maxKey); // key为较小的素数
System.out.println(maxKey+map.get(maxKey)); // key+value(差值)就是较大素数
}
/**
* 判断是否为素数
* @param n 需要判断是数
* @return Boolean
*/
public static boolean isPrime(int n) {
if (n <= 1) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
for (int i = 3; i <= Math.sqrt(n); i += 2) {
if (n % i == 0) return false;
}
return true;
}
}