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