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 CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
long long power(long long x, long long y, long long p) {
  long long res = 1;
  x = x % p;
  while (y > 0) {
    if (y & 1) res = (res * x) % p;
    y = y >> 1;
    x = (x * x) % p;
  }
  return res;
}
struct compare {
  bool operator()(const std::string& first, const std::string& second) {
    return first.size() > second.size();
  }
};
long long mnht(pair<long long, long long> a, pair<long long, long long> b) {
  return abs(a.first - b.first) + abs(a.second - b.second);
}
long long n;
pair<long long, long long> a, e;
pair<long long, long long> d[100005];
bool fun(long long days) {
  pair<long long, long long> pos;
  pos.first = a.first + (days / n) * d[n].first + d[(days % n)].first;
  pos.second = a.second + (days / n) * d[n].second + d[(days % n)].second;
  if (mnht(pos, e) <= days)
    return true;
  else
    return false;
}
int main() {
  iostream::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long x;
  cin >> x;
  for (int i = 1; i <= x; ++i) {
    for (int j = 1; j <= x; ++j) {
      if (i % j == 0 && i * j > x && i / j < x) {
        cout << i << " " << j, exit(0);
      }
    }
  }
  cout << -1;
  return 0;
};