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