One way to create a task is to learn from math. You can generate some random math statement or modify some theorems to get something new and build a new task from that.

For example, there is a statement called the "Goldbach's conjecture". It says: "each even number no less than four can be expressed as the sum of two primes". Let's modify it. How about a statement like that: "each integer no less than 12 can be expressed as the sum of two composite numbers." Not like the Goldbach's conjecture, I can prove this theorem.

You are given an integer n no less than 12, express it as a sum of two composite numbers.

Input

The only line contains an integer n (12 ≤ n ≤ 106).

Output

Output two composite integers x and y (1 < x, y < n) such that x + y = n. If there are multiple solutions, you can output any of them.

Examples

Input

12


Output

4 8


Input

15


Output

6 9


Input

23


Output

8 15


Input

1000000


Output

500000 500000

Note

In the first example, 12 = 4 + 8 and both 4, 8 are composite numbers. You can output "6 6" or "8 4" as well.

In the second example, 15 = 6 + 9. Note that you can't output "1 14" because 1 is not a composite number.


import java.util.Scanner;
 

public class Test {
 
    /**
     * @param args the command line arguments
    */
    public static void main(String args[]) {
       
        int n,n2;
       
        Scanner in = new Scanner(System.in);
       
        n = in.nextInt();

        
        for (int i = n; i > 2; i--) {
           
            if(Test.isPrime(i) == false){
               
                n2 = n - i;
               
                if(Test.isPrime(n2) == false){
                   
                    System.out.println(n2+" "+i);
                    break;
                }
               
            }
           
        }
        
 
       
       
    }
   
   
    public static boolean isPrime(int num){
       
        boolean so = true;
       
        for (int i = num - 1; i > 1; i--) {
           
            if(num%i == 0){
                so = false;
                break;
            }
           
        }
       
        return so;  
    }
   
 
   
}