import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            List<Integer> list=new ArrayList<>();
            //提取所有的素数
            for(int i=1;i<=a;i++){
                int sum=0;
                for(int j=1;j<=a;j++){
                    if(i%j==0){
                        sum+=j;
                    }
                
                }
                if(sum==i+1){
                      list.add(i);  
                    }

            }
            //判断素数之和是否为给定的数字,并按最小值为keyput到map
           Map<Integer,Integer> map= new HashMap<>();
                        for(int i=0;i<list.size();i++){
                int b=a-list.get(i);
                if(list.contains(b)){
                    if(b>list.get(i)){
                        map.put(list.get(i),b-list.get(i));
                    }else{
                         map.put(b,list.get(i)-b);
                    }

                    
                }
            }
            //获取map中的最小value值从而获取key
            Collection<Integer> values=map.values();
            Integer min=Collections.min(values);
            for(Integer inat:map.keySet()){
                if(map.get(inat)==min){
                    System.out.println(inat);
                    System.out.print(a-inat);
                    return;
                }
            }
        }
    }
}