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.io.*;
import java.util.*;

public class B {
	
    //static FastInput k = new FastInput("/home/rajkin/Desktop/input.txt");
    static FastInput k = new FastInput(System.in);
    static FastOutput z = new FastOutput();
	
    public static void main(String[] args) throws Exception {
    	while(k.hasNext()){
    		long x = k.nextLong();
    		boolean found = false;
    		for(int a = 1; a<=x; a++){
        		for(int b = 1; b<=x; b++){
        			if(a%b == 0 && (a*b) > x && (a/b) <x){
        				z.println(a+" "+b);
        				found = true;
        				break;
        			}
        		}
        		if(found){
        			break;
        		}
    		}
    		
    		if(!found){
    			z.println(-1);
    		}
    	}
    	
    	z.flush();
    	System.exit(0);
    }
    
    static class Pair implements Comparable<Pair>{
    	int value;
    	int freq;
    	
    	public Pair(int value, int freq) {
			this.value = value;
			this.freq = freq;
		}

		@Override
		public int compareTo(Pair p) {
			return p.freq - this.freq;
		}
    }
    
    public static class FastInput {
        BufferedReader reader;
        StringTokenizer tokenizer;
 
        public FastInput(InputStream stream){
        	reader = new BufferedReader(new InputStreamReader(stream));
        }
        
	    public FastInput(String path){
	        try {
	        	reader = new BufferedReader(new FileReader(path));
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	        tokenizer = null;
	    }
 
        public String next() {
            return nextToken();
        }
        
        public String nextLine() {
            try {
				return reader.readLine();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
            
            return null;
        }
 
        public boolean hasNext(){
            try {
                return reader.ready();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return false;
        }
 
        public String nextToken() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                String line = null;
                try {
                    line = reader.readLine();
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
                if (line == null) {
                    return null;
                }
                tokenizer = new StringTokenizer(line);
            }
            return tokenizer.nextToken();
        }
 
        public Integer nextInt() {
            return Integer.parseInt(nextToken());
        }
       
        public Long nextLong() {
            return Long.valueOf(nextToken());
        }
    }
    
    public static class FastOutput extends PrintWriter {
    	public FastOutput() { 
            super(new BufferedOutputStream(System.out)); 
    	}
    }
}