#include <bits/stdc++.h>

using namespace std;

bool isSuShu(int num){
    for(int i = 2; i < num; i++){
        if(num % i == 0){
            return false;
        }
    }
    
    return true;
}

int main(){
    int num = 0;
    while(cin >> num){
        if(num <= 2 || num % 2 != 0){
            break;
        }
        
        vector<int> res;
        int minSub = INT_MAX; //保存最小的差值
        unordered_map<int, pair<int, int>> m; //键为差值,值为firstNum和secondNum
        for(int i = num; i >= num / 2; i--){
            int secondNum = i;
            int firstNum = num - i;
            //判断两个数字是否是素数 并且计算差值 保存进哈希表
            if(isSuShu(secondNum) && isSuShu(firstNum)){
                int sub = secondNum - firstNum;
                //cout << sub << endl;
                m[sub] = make_pair(firstNum, secondNum);
                
                minSub = min(minSub, sub);             
            }  
        }
        
        for(auto item = m.begin(); item != m.end(); item++){
            if(minSub == item->first){ //遍历寻找最小差值在哈希表中对应的位置
                res.push_back(item->second.first);
                res.push_back(item->second.second);
            }
        }
        
        for(int i = 0; i < res.size(); i++){
            cout << res[i] << endl;
        }
    }
    
    return 0;
}