#include<vector>
using namespace std;
int isPrime(int n){
    if(n<2){
        return 0;
    }
    if(n==2){
        return 1;
    }
    for(int i=2;i<n;i++){
        if(n%i==0){
            return 0;
        }
    }
    return 1;
}
int main(){
    int n;
    while(cin>>n){
        vector<int> primeList;
        for(int i=2;i<=n;i++){
            if(isPrime(i)==1){
                primeList.push_back(i);
            }
        }
        int min=n;
       for(int j=primeList.size();j>=0;j--){
           if(isPrime(n-primeList[j])==1){
               if(abs(n-2*primeList[j])<min){
                   min=abs(n-2*primeList[j]);//计算最小的差值;
               }
           }  
       }
       cout<<(n-min)/2<<endl<<(n+min)/2<<endl;//两个素数一个是x,另一个是x+min,且2x+min=n;
    }

}