Problem: Given an integer x, find 2 integers a and b such that: 

  * 1 ≤ a,b ≤ x 
  * b divides a (a is divisible by b). 
  * a ⋅ b>x. 
  * a/b<x. 

Input

The only line contains the integer x (1 ≤ x ≤ 100).

Output

You should output two integers a and b, satisfying the given conditions, separated by a space. If no pair of integers satisfy the conditions above, print "-1" (without quotes).

Examples

Input

10


Output

6 3

Input

1


Output

-1

Solution (in JAVA):

Solution:
import java.awt.*;
import java.io.*;
import java.math.*;
import java.util.*;



public class Main {

    public static void main(String[] args) {
        new Main().run();
    }

    void solve() {
        int n = in.nextInt();
        for(int i = 1; i <= n; i++) {
            for(int j = 1; j <= n; j++) {
                if(i%j == 0 && i * j > n && i/j < n) {
                    out.println(i + " " + j);
                    return;
                }  
            }
        }
            out.println(-1);
    }


    FastScanner in;
    PrintWriter out;
    void run() {
        try{
            in = new FastScanner(System.in);
            out = new PrintWriter(System.out);
        }catch (Exception e) {
            // TODO: handle exception
        }
        int tests = 1;//in.nextInt();
        while(tests > 0){
            solve();
            tests--;
        }
        out.close();
    }

    class FastScanner {
        StringTokenizer st;
        BufferedReader bf;

        public FastScanner(InputStream is) {
            bf = new BufferedReader(new InputStreamReader(is));
        }

        public FastScanner(File f){
            try{
                bf = new BufferedReader(new FileReader(f));
            }
            catch(IOException ex){
                ex.printStackTrace();
            }
        }
        String next(){
            while(st == null || !st.hasMoreTokens()){
                try{
                    st = new StringTokenizer(bf.readLine());
                }
                catch(Exception ex){
                    ex.printStackTrace();
                }
            }
            return st.nextToken();
        }
        int nextInt(){
            return Integer.parseInt(next());
        }
        long nextLong(){
            return Long.parseLong(next());
        }
        double nextDouble(){
            return Double.parseDouble(next());
        }
        int[] readArray(int n){
            int[] a = new int[n];
            for(int i = 0; i < n; i++)
                a[i] = nextInt();
            return a;
        }
    }

}