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;
    }
}