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

Difficulty: EASY
Tags: Complete search

Constructive algorithms
Skill types: Complete search

Starter code:

Solutions:
n = int(input())
if n >= 3 and n % 2 == 1:
	print(n - 1, 2)
elif n >= 2 and n % 2 == 0:
	print(n, 2)
else:
	print(-1)


x = int(input())
pairs = []
for b in range(x + 1):
	for a in range(b, x + 1):
		if a * b > x and a % b == 0 and (a // b < x):
			pairs.append((str(a), str(b)))
if pairs:
	print(' '.join(pairs[0]))
else:
	print('-1')


x = int(input())
flag = False
for b in range(1, x + 1):
	m = 1
	while b * m <= x and m < x:
		a = b * m
		if a * b > x:
			flag = True
			print(a, b)
			break
		m += 1
	if flag:
		break
if not flag:
	print(-1)


x = int(input())
if x == 1:
	print(-1)
else:
	print(x - x % 2, 2)


n = int(input())
if n == 1:
	print(-1)
elif n == 2:
	print(2, 2)
else:
	print(n - 1, n - 1)


x = int(input())
z = 0
for i in range(1, x + 1):
	for j in range(x, 0, -1):
		if j % i == 0 and j * i > x and (j / i < x):
			z = 1
			break
	if z == 1:
		break
if z == 1:
	print(j, i)
else:
	print(-1)


a = int(input())
if a == 1:
	print('-1')
elif a % 2 == 0:
	print(a, 2)
else:
	print(a - 1, 2)


x = int(input())
ans = [-1]
if x > 1:
	ans = [x, x]
print(*ans)


x = int(input())
if x == 1:
	print('-1')
elif x == 2 or x == 3:
	print('2 2')
elif x == 4:
	print('4 2')
elif x % 2 == 0:
	print(str(x - 2) + ' 2')
else:
	print(str(x - 1) + ' 2')


def ehab(x):
	for b in range(1, x + 1):
		for a in range(1, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				print('%d %d' % (a, b))
				return None
	print('-1')
ehab(int(input()))


x = input()
if x == '1':
	print('-1')
else:
	print(x, x)


x = int(input())
c = 0
for b in range(1, x + 1):
	for a in range(b, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			c = 1
			print(a, b)
			break
	if c == 1:
		break
if c == 0:
	print(-1)


x = int(input())
atv = False
num1 = 0
num2 = 0
for a in range(x, -1, -1):
	for b in range(x, -1, -1):
		if 1 <= a <= x and 1 <= b <= x:
			if a % b == 0:
				if a * b > x:
					if a / b < x:
						num1 = a
						num2 = b
						atv = True
						break
	if atv == True:
		break
if num1 == 0:
	print(-1)
else:
	print(num1, num2)


flag = 0
n = int(input())
for i in range(2, n + 1):
	for j in range(1, n + 1):
		if i % j == 0 and i * j > n and (i / j < n):
			print(i, j)
			flag = 1
			break
		else:
			continue
	if flag == 1:
		break
	else:
		continue
else:
	print(-1)


x = input()
x = int(x)

def calculate(x):
	if x > 100 or x < 1:
		print(-1)
		return
	satisfied = False
	for i in range(1, x + 1):
		for j in range(1, x + 1):
			if i % j == 0 and i * j > x and (i / j < x):
				a = i
				b = j
				print(a, b)
				satisfied = True
				return
	if not satisfied:
		print(-1)
		return
calculate(x)


n = int(input())
a = 0
b = 0
v = 0
if n != 1:
	for y in range(1, n + 1):
		for z in range(1, n + 1):
			if z % y == 0 and z * y > n and (z / y < n):
				a = z
				b = y
				v = 1
				break
		if v == 1:
			print(a, b)
			break
else:
	print(-1)


(x,) = map(int, input().split())

def find(x):
	for a in range(x, 0, -1):
		for b in range(a, 0, -1):
			if a * b < x:
				break
			if a / b >= x:
				continue
			if a % b == 0:
				return (a, b)
	return (-1, '')
print('{} {}'.format(*find(x)))


n = int(input())
breakthis = False
for a in range(1, n + 1):
	for b in range(1, n + 1):
		if a % b == 0 and a * b > n and (a / b < n):
			breakthis = True
			break
	if breakthis:
		break
if breakthis:
	print(str(a) + ' ' + str(b))
else:
	print(-1)


import sys
x = int(input())
for i in range(1, x + 1):
	for j in range(1, i + 1):
		if i * j > x and i // j < x and (i % j == 0):
			print(i, j)
			sys.exit()
print(-1)


n = int(input())
f = 0
for i in range(1, n + 1):
	for j in range(i, n + 1):
		if j % i == 0 and j * i > n and (j / i < n):
			f = 1
			print(j, i)
			break
	if f == 1:
		break
if f == 0:
	print(-1)


def solve():
	x = int(input())
	if x == 1:
		print(-1)
		return
	if x < 4:
		print(x, x)
		return
	a = x - (0 if x % 2 == 0 else 1)
	b = a // 2
	print(a, b)
solve()


x = int(input())
f = 0
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if f == 0:
			if a * b > x and a / b % 1 == 0 and (a / b < x):
				f = 1
				print(a, b)
		else:
			break
	if f == 1:
		break
if f == 0:
	print(-1)


n = int(input())
if n == 1:
	exit(print('-1'))
else:
	print(n - n % 2, 2)


def bruteforce(num):
	if num > 1:
		for a in range(1, num ** 2 + 1):
			for b in range(1, num + 1):
				if a * b > num and a / b < num and (a % b == 0):
					print(a, b)
					return
	print(-1)
	return
x = int(input())
bruteforce(x)


z = int(input())
c = 0
for i in range(1, z + 1):
	for j in range(1, z + 1):
		if i % j == 0 and i * j > z and (i / j < z):
			print(i, j)
			c = 1
			break
	if c == 1:
		break
if c == 0:
	print(-1)


from sys import setcheckinterval, stdin
setcheckinterval(1000)
iin = lambda : int(stdin.readline())
lin = lambda : list(map(int, stdin.readline().split()))
x = iin()
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i % j == 0:
			if i * j > x and i // j < x:
				print(i, j)
				exit()
print(-1)


n = int(input())
if n == 1:
	print('-1')
else:
	x = n - n % 2
	print('{} 2'.format(x))


x = int(input())
v = None
b = 1
f = False
while b <= x:
	a = b
	f = False
	while a <= x:
		if b % a == 0 and a * b > x and (a // b < x):
			v = ()
			f = True
			break
		a += 1
	if f == True:
		break
	b += 1
if f == False:
	print(-1)
else:
	print(a, b)


n = int(input())
for a in range(1, n + 1):
	for b in range(1, a + 1):
		if a % b == 0:
			if a * b > n and a / b < n:
				print(a, b)
				exit()
print(-1)


x = int(input())
if x == 1:
	print(-1)
elif x % 2 == 0:
	print(x, 2)
else:
	print(x - 1, 2)


n = int(input())
a = 0
b = 0
for i in range(1, n + 1):
	if i * (i * (n // i)) > n:
		a = i
		b = i * (n // i)
		break
	if n // i == 0:
		break
if a == 0:
	print(-1)
else:
	print(b, a)


x = input()
print(('-1', x + ' ' + x)[x > '1'])


x = int(input())

def find_a_b(x):
	if x <= 1:
		return (-1, None)
	else:
		return (x, x)
(a, b) = find_a_b(x)
if b:
	print('{} {}'.format(a, b))
else:
	print(a)


n = int(input())
a = int(n ** 0.5) + 1
if a <= n:
	print(a, a)
else:
	print(-1)


from sys import stdin, stdout
import cProfile, math
from collections import Counter
from bisect import bisect_left, bisect, bisect_right
import itertools
from copy import deepcopy
from fractions import Fraction
import sys, threading
sys.setrecursionlimit(10 ** 6)
threading.stack_size(2 ** 27)
printHeap = str()
memory_constrained = False
P = 10 ** 9 + 7
import sys
sys.setrecursionlimit(10000000)

class Operation:

	def __init__(self, name, function, function_on_equal, neutral_value=0):
		self.name = name
		self.f = function
		self.f_on_equal = function_on_equal

def add_multiple(x, count):
	return x * count

def min_multiple(x, count):
	return x

def max_multiple(x, count):
	return x
sum_operation = Operation('sum', sum, add_multiple, 0)
min_operation = Operation('min', min, min_multiple, 1000000000.0)
max_operation = Operation('max', max, max_multiple, -1000000000.0)

class SegmentTree:

	def __init__(self, array, operations=[sum_operation, min_operation, max_operation]):
		self.array = array
		if type(operations) != list:
			raise TypeError('operations must be a list')
		self.operations = {}
		for op in operations:
			self.operations[op.name] = op
		self.root = SegmentTreeNode(0, len(array) - 1, self)

	def query(self, start, end, operation_name):
		if self.operations.get(operation_name) == None:
			raise Exception('This operation is not available')
		return self.root._query(start, end, self.operations[operation_name])

	def summary(self):
		return self.root.values

	def update(self, position, value):
		self.root._update(position, value)

	def update_range(self, start, end, value):
		self.root._update_range(start, end, value)

	def __repr__(self):
		return self.root.__repr__()

class SegmentTreeNode:

	def __init__(self, start, end, segment_tree):
		self.range = (start, end)
		self.parent_tree = segment_tree
		self.range_value = None
		self.values = {}
		self.left = None
		self.right = None
		if start == end:
			self._sync()
			return
		self.left = SegmentTreeNode(start, start + (end - start) // 2, segment_tree)
		self.right = SegmentTreeNode(start + (end - start) // 2 + 1, end, segment_tree)
		self._sync()

	def _query(self, start, end, operation):
		if end < self.range[0] or start > self.range[1]:
			return None
		if start <= self.range[0] and self.range[1] <= end:
			return self.values[operation.name]
		self._push()
		left_res = self.left._query(start, end, operation) if self.left else None
		right_res = self.right._query(start, end, operation) if self.right else None
		if left_res is None:
			return right_res
		if right_res is None:
			return left_res
		return operation.f([left_res, right_res])

	def _update(self, position, value):
		if position < self.range[0] or position > self.range[1]:
			return
		if position == self.range[0] and self.range[1] == position:
			self.parent_tree.array[position] = value
			self._sync()
			return
		self._push()
		self.left._update(position, value)
		self.right._update(position, value)
		self._sync()

	def _update_range(self, start, end, value):
		if end < self.range[0] or start > self.range[1]:
			return
		if start <= self.range[0] and self.range[1] <= end:
			self.range_value = value
			self._sync()
			return
		self._push()
		self.left._update_range(start, end, value)
		self.right._update_range(start, end, value)
		self._sync()

	def _sync(self):
		if self.range[0] == self.range[1]:
			for op in self.parent_tree.operations.values():
				current_value = self.parent_tree.array[self.range[0]]
				if self.range_value is not None:
					current_value = self.range_value
				self.values[op.name] = op.f([current_value])
		else:
			for op in self.parent_tree.operations.values():
				result = op.f([self.left.values[op.name], self.right.values[op.name]])
				if self.range_value is not None:
					bound_length = self.range[1] - self.range[0] + 1
					result = op.f_on_equal(self.range_value, bound_length)
				self.values[op.name] = result

	def _push(self):
		if self.range_value is None:
			return
		if self.left:
			self.left.range_value = self.range_value
			self.right.range_value = self.range_value
			self.left._sync()
			self.right._sync()
			self.range_value = None

	def __repr__(self):
		ans = '({}, {}): {}\n'.format(self.range[0], self.range[1], self.values)
		if self.left:
			ans += self.left.__repr__()
		if self.right:
			ans += self.right.__repr__()
		return ans

def display(string_to_print):
	stdout.write(str(string_to_print) + '\n')

def primeFactors(n):
	factors = dict()
	for i in range(2, math.ceil(math.sqrt(n)) + 1):
		while n % i == 0:
			if i in factors:
				factors[i] += 1
			else:
				factors[i] = 1
			n = n // i
	if n > 2:
		factors[n] = 1
	return factors

def isprime(n):
	if n < 4:
		return True
	if n % 2 == 0:
		return False
	if n % 3 == 0:
		return False
	i = 5
	w = 2
	while i * i <= n:
		if n % i == 0:
			return False
		i += w
		w = 6 - w
	return True

def test_print(*args):
	if testingMode:
		print(args)

def display_list(list1, sep=' '):
	stdout.write(sep.join(map(str, list1)) + '\n')

def get_int():
	return int(stdin.readline().strip())

def get_tuple():
	return map(int, stdin.readline().split())

def get_list():
	return list(map(int, stdin.readline().split()))
memory = dict()

def clear_cache():
	global memory
	memory = dict()

def cached_fn(fn, *args):
	global memory
	if args in memory:
		return memory[args]
	else:
		result = fn(*args)
		memory[args] = result
		return result
TestCases = False
testingMode = False
optimiseForReccursion = False
counts = 0

def main():
	n = get_int()
	print(-1) if n == 1 else print(n, n)
if TestCases:
	for _ in range(get_int()):
		cProfile.run('main()') if testingMode else main()
else:
	(cProfile.run('main()') if testingMode else main()) if not optimiseForReccursion else threading.Thread(target=main).start()


x = int(input())
found = False
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			ans = (a, b)
			found = True
			break
if found:
	print(ans[0], ans[1])
else:
	print(-1)


n = int(input())
if n == 1:
	print('-1')
else:
	print(str(n) + ' ' + str(n))


t = int(input())
found = False
a1 = 0
b1 = 0
for a in range(1, t + 1):
	if not found:
		for b in range(1, a + 1):
			if a % b == 0 and a * b > t and (a / b < t):
				found = True
				a1 = a
				b1 = b
				break
if found:
	print(a1, b1)
else:
	print(-1)


x = int(input())
res = -1
for a in range(1, x + 1):
	for b in range(1, a + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			res = (a, b)
			break
	if res != -1:
		break
if res != -1:
	print('%d %d' % (res[0], res[1]))
else:
	print('-1')


x = int(input())
flag = 0
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a < b * x):
			print(a, b)
			flag = 1
			break
	if flag:
		break
if not flag:
	print(-1)


n = int(input())
a = n
b = n
if a * b > n and a // b < n:
	print(a, b)
else:
	print(-1)


x = int(input())

def problem(x):
	for b in range(1, x + 1):
		for a in range(b, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				Z = [a, b]
				print(Z[0], Z[1])
				return ()
	print(-1)
problem(x)


x = int(input())
print('{} {}'.format(x, x)) if x > 1 else print('-1')


x = int(input())
if x == 1:
	print(-1)
else:
	a = x
	b = 2
	while a >= b:
		if a * b > x and a // b < x and (a % b == 0):
			print(a, b)
			break
		elif b + 1 <= a:
			b += 1
		else:
			a -= 1


x = int(input())
if x < 4:
	if x > 1:
		print(2, 2)
	else:
		print(-1)
	exit(0)
print(str(x) + ' ' + str(x // 2) if x % 2 == 0 else str(x - 1) + ' ' + str((x - 1) // 2))


x = int(input())
find = False
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			print(a, b)
			find = True
			break
	if find:
		break
if not find:
	print(-1)


array = range(0, 100)
x = int(input())
if 1 <= x <= 100:
	k = False
	for i in range(x, 1, -1):
		a = i
		for b in range(a, 1, -1):
			if a / b in array and a / b < x and (a * b > x):
				print(a, int(b))
				k = True
				break
		break
	if k == False:
		print(-1)


n = int(input())
si = 0
for i in range(1, n + 1):
	for k in range(1, 101):
		if k % i == 0 and k * i > n and (k / i < n):
			si = 1
			a = k
			b = i
			break
if si == 1:
	print(a, b)
else:
	print(-1)


x = int(input())
number_list = list(range(1, x + 1))
ordered_pairs = []
for j in range(x):
	a = number_list[-j - 1]
	for i in range(x):
		b = number_list[i]
		if a % b == 0:
			if a * b > x:
				if a / b < x:
					ordered_pairs.append([a, b])
if len(ordered_pairs) == 0:
	print(-1)
else:
	print(ordered_pairs[-1][0], end=' ')
	print(ordered_pairs[-1][1])


Value = int(input())
if Value == 1:
	print(-1)
elif (int(Value / 2) + 1) % 2 == 0:
	print(int(Value / 2) + 1, 2)
else:
	print(int(Value / 2) + 2, 2)


x = int(input())
if x == 1:
	print(-1, end='')
else:
	print(str(x) + ' ' + str(x), end='')


a = int(input())
if a > 1:
	print(a, a)
else:
	print(-1)


done = False
b = int(input())
for i in range(1, b + 1):
	if done:
		break
	for j in range(1, i + 1):
		if i % j == 0 and i * j > b and (i / j < b):
			print(i, j)
			done = True
			break
if done == False:
	print(-1)


import math

def solve(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a % b == 0 and a * b > x and (a // b < x):
				print(a, b)
				return
	print('-1')
x = int(input())
solve(x)


import sys
x = int(input())
for a in range(1, x + 1):
	for b in range(1, a + 1):
		if a % b == 0:
			if a * b > x and a / b < x:
				print('%d %d' % (a, b))
				sys.exit(0)
print(-1)


x = int(input())
found = False
for a in range(1, x + 1):
	for b in range(1, x + 1):
		conds = [a % b == 0, a * b > x, a / b < x]
		if False in conds:
			continue
		else:
			print(a, b)
			found = True
			break
	if found:
		break
if not found:
	print(-1)


x = int(input())
f = 1
for i in range(1, x + 1, 1):
	for j in range(1, x + 1, 1):
		if i % j == 0 and i * j > x and (i / j < x):
			f = 0
			print(i, j)
			break
	if not f:
		break
if f:
	print('-1')


def Construction(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				print(a, b)
				return
	print(-1)

def main():
	x = int(input())
	Construction(x)
main()


a = int(input())
if a == 1:
	print(-1)
elif a == 2:
	print('2 2')
else:
	print(a - 1, a - 1, sep=' ')


n = int(input())
f = False
(a, b) = (0, 0)
for i in range(1, n + 1):
	for j in range(1, n + 1):
		if i % j == 0 and i * j > n and (i / j < n):
			(a, b) = (i, j)
			f = True
			break
	if f:
		break
if f:
	print(a, b)
else:
	print(-1)


import sys
import math

def get_ints():
	return map(int, input().strip().split())

def get_list():
	return list(get_ints())

def printspx(*args):
	return print(*args, end='')

def printsp(*args):
	return print(*args, end=' ')

def printchk(*args):
	return print(*args, end=' \\ ')
MODPRIME = int(1000000000.0 + 7)
BABYMODPR = 998244353
n = int(input())
flag = False
ans = []
for i in range(1, n + 1):
	for j in range(1, n + 1):
		if i % j == 0 and i * j > n and (i / j < n):
			ans = [i, j]
			flag = True
			break
	if flag:
		break
if flag:
	print(' '.join(map(str, ans)))
else:
	print(-1)


x = int(input())
a = int(x / 2) + 1
if x == 1:
	print('-1')
elif a % 2 == 0:
	print(str(a) + ' 2')
else:
	print(str(a + 1) + ' 2')


x = int(input())

def find(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				print(str(a) + ' ' + str(b))
				return 1
	print(str(-1))
find(x)


def fuerza_bruta(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				print(a, ' ', b)
				return
x = int(input())
if x == 1:
	print('-1')
elif 1 < x and x <= 100:
	fuerza_bruta(x)


n = int(input())
a = -1
b = -1
for i in range(1, n + 1):
	for j in range(1, n + 1):
		if i % j == 0 and i * j > n and (i / j < n):
			a = i
			b = j
if a != -1:
	print(a, b)
else:
	print(-1)


x = int(input())
res = []
for a in range(1, x + 1):
	for b in range(1, a + 1):
		if a % b == 0 and a * b > x > a / b:
			res.append([a, b])
if len(res) == 0:
	print(-1)
else:
	print(res[0][0], res[0][1])


from sys import stdin
n = int(stdin.readline().strip())
for a in range(1, n + 1):
	for b in range(1, n + 1):
		if a * b > n and a % b == 0 and (a / b < n):
			print(a, b)
			exit(0)
print(-1)


x = int(input())
if x == 1:
	print(-1)
	exit(0)
x = (x + 2) // 2
if x % 2 == 1:
	x += 1
print(x, 2)


n = int(input())
if n == 1:
	print(-1)
else:
	print(n if n % 2 == 0 else n - 1, 2)


x = int(input())
a = 1
z = 0
k = 0
while a <= x and k == 0:
	b = 1
	while b <= x:
		if a % b == 0:
			if a * b > x:
				if a / b < float(x):
					print(a, '', b)
					z = 1
					k = 1
					break
				else:
					b = b + 1
					continue
			else:
				b = b + 1
				continue
		else:
			b = b + 1
			continue
	a = a + 1
if z == 0:
	print('-1')


def chek(x):
	if x == 1:
		print(-1)
	else:
		print(x - x % 2, ' ', 2)
x = int(input())
chek(x)


x = int(input())
a = 1
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i * j > x:
			if i % j == 0:
				if i // j < x:
					print(i, j)
					a = 0
					break
		if a == 0:
			break
if a == 1:
	print(-1)


x = int(input())
if x < 4:
	if x == 2:
		print(2, 2)
	elif x == 3:
		print(3, 3)
	else:
		print(-1)
else:
	for i in range(x, 2, -1):
		if i % 2 == 0:
			break
	print(i, 2)


x = int(input())
if x == 1:
	print(-1)
else:
	print(x, x)
exit(0)
a = x
b = 1
for i in range(2, x + 1):
	if x % i == 0:
		b *= i
		break
if b == 1:
	print(-1)
	exit(0)
print(a, b)


def main():
	x = int(input())
	if x == 1:
		print(-1)
	elif x == 2:
		print(2, 2)
	elif x % 2 == 1:
		print(x - 1, 2)
	else:
		print(x, 2)
main()


t = int(input())
if t < 2:
	print(-1)
else:
	print()
	a = t // 2 + 1
	if a % 2 != 0:
		a += 1
	print(str(a) + ' ' + str(2))


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, queue, copy
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def I():
	return int(sys.stdin.readline())

def LS():
	return sys.stdin.readline().split()

def S():
	return input()

def main():
	x = I()
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a % b == 0:
				if a * b > x:
					if a // b < x:
						print(a, b)
						exit()
	print(-1)
main()


x = input()
x = int(x)
for b in range(1, 101):
	mul = 1
	while b * mul <= 100:
		if b * mul * b > x and mul < x:
			print('%d %d' % (b * mul, b))
			exit()
		else:
			mul += 1
print(-1)


x = int(input())

def correct(a, b):
	good = True
	if (1 > a or a > x) and (1 > b or b > x):
		good = False
	if a % b != 0:
		good = False
	if a * b <= x:
		good = False
	if a / b >= x:
		good = False
	return good
correct_list = []
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if correct(i, j):
			correct_list.append((i, j))
if correct_list:
	print(correct_list[0][0], correct_list[0][1])
else:
	print(-1)


import math

def check(a, b, x):
	if a > x or b > x:
		return False
	if a % b != 0:
		return False
	if a * b <= x:
		return False
	if a // b >= x:
		return False
	return True
limit = int(input())
value = math.ceil(math.sqrt(limit))
for k in range(1, value + 1):
	multi = 1
	nxt = k * multi
	while nxt <= limit:
		if check(nxt, k, limit):
			print(nxt, k)
			exit()
		multi += 1
		nxt = k * multi
print(-1)


n = int(input())
if n < 2:
	print(-1)
else:
	print(f'{n} {n}')


n = int(input())
if n == 0 or n == 1:
	print(-1)
elif n == 2 or n == 3:
	print(2, 2)
else:
	for i in range(n, 3, -1):
		k = 2
		while i % k != 0:
			k += 1
		if k * i > n:
			break
	print(i, k)


import math
x = int(input())
r = int(math.sqrt(x)) + 1
if r <= x and r * r > x:
	print(r, r)
else:
	print('-1')


n = int(input())

def solve(x):
	if x == 1:
		return '%d' % -1
	return '%d %d' % (x, x)
print(solve(n))


num = int(input())
if num < 2:
	print(-1)
elif not num % 2:
	print(num, 2)
else:
	num -= 1
	print(num, 2)


import sys
import math
x = int(input())
f = True
for i in range(int(math.ceil(math.sqrt(x))), x + 1):
	for j in range(int(math.ceil(math.sqrt(x))), x + 1):
		if i * j > x and i % j == 0 and (float(i / j) < float(x)) and f:
			print(i, ' ', j)
			f = False
			sys.exit(0)
if f:
	print('-1')


x = int(input())
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			print(f'{a} {b}')
			exit()
print(-1)


n = int(input())
if n == 1:
	print(-1)
	exit()
print(n, n)


x = int(input())
a = [f for f in range(1, x + 1)]
b = []
if x == 1:
	print(-1)
elif x == 2 or x == 3:
	print(2, '', 2)
else:
	for i in range(x):
		if len(b) < 2:
			c = a[i]
			d = a[i - 1]
			if i + 1 < x + 1:
				if i + 1 < x:
					for k in range(d, x):
						if a[k] % c == 0:
							if a[k] * c > x:
								b.append(c)
								b.append(a[k])
								print(a[k], '', c)
								break
							else:
								continue
						else:
							continue
		elif len(b) == 2:
			break


import os
import sys
import math
import collections
import cmath

def mp():
	return map(int, input().split())

def inp():
	return input()
n = int(inp())
if n == 1:
	print(-1)
else:
	print(str(n) + ' ' + str(n))


input_num = input('')
input_num = int(input_num)
mid_num = int(input_num / 2)
first_num = 0
last_num = 0
if input_num > 100 or input_num < 1:
	print(-1)
else:
	for num in range(input_num, mid_num, -1):
		if num % 2 == 0:
			first_num = num
			last_num = 2
			if first_num * last_num > input_num and first_num / last_num < input_num:
				break
			else:
				first_num = 0
				last_num = 0
	if first_num == 0:
		print(-1)
	else:
		(print(first_num), print(last_num))


n = int(input())
try:
	for i in range(1, n + 1):
		for j in range(1, n + 1):
			if i % j == 0 and i * j > n and (i // j < n):
				print(i, j)
				kcdfnsjkd
	print(-1)
except:
	pass


n = int(input())
k = 0
for i in range(1, n + 1):
	for j in range(1, n + 1):
		if i % j == 0 and i * j > n and (i // j < n):
			k = 1
			break
if k == 1:
	print(i, j)
else:
	print(-1)


x = int(input())
a = 0
b = 0
for i in range(x + 1):
	if i == 0:
		i += 1
	for j in range(x + 1):
		if j == 0:
			j += 1
		if i % j == 0:
			if i * j > x:
				if i / j < x:
					a = i
					b = j
					exit
if a == 0 and b == 0:
	print(-1)
else:
	print(a, b)


import sys
x = int(input())
if x > 100 and x < 1:
	print('Error')
	sys.exit()
a = 1
b = x
for i in range(1, x + 1):
	while a <= x and b >= 1:
		if a % b == 0 and a * b > x and (a / b < x):
			print(a, b)
			sys.exit()
		b = b - 1
	b = x
	a = a + 1
print(-1)


a = int(input())
r = 1
t = 0
while r <= a:
	s = 1
	while s <= a:
		if r >= 1 and r <= a and (s >= 1) and (s <= a) and (r % s == 0) and (r * s > a) and (r / s < a):
			print(r, s)
			t = t + 1
			break
		s = s + 1
	if t > 0:
		break
	r = r + 1
if t == 0:
	print(-1)


x = int(input())
(p, q) = (-1, -1)
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			(p, q) = (a, b)
if p > 0:
	print(p, q)
else:
	print(-1)


x = int(input())
a = 1
b = 1
while b <= x:
	if a % b == 0 and a * b > x and (a / b < x):
		print(str(a) + ' ' + str(b))
		exit()
	if a == x:
		b += 1
		a = 1
		continue
	a += 1
print(-1)


x = int(input())
b = 0
n = 0
a = 0
n1 = 1
n_nulevoe = 1
cococo = 0
while n + 1 != x:
	a = x - n
	while n1 <= a:
		b = n1
		if a % b != 0:
			n1 += 1
		elif a % b == 0:
			if a / b >= x:
				n1 += 1
			elif a * b < x:
				n1 += 1
			else:
				cococo = 1
				print(a, b)
				break
	if cococo == 1:
		break
	else:
		n += 1
		b = n_nulevoe
		n1 = n_nulevoe
else:
	print(-1)


x = int(input())
fl = False
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i <= x and j <= x and (i * j > x) and (i % j == 0) and (i / j < x):
			fl = True
			print(i, j)
			break
	if fl:
		break
else:
	print(-1)


x = int(input())
outp = ''
for a in range(int(x / 2), x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (outp == ''):
			outp = str(a) + ' ' + str(b)
if outp == '':
	outp = '-1'
print(outp)


import math
from collections import defaultdict, Counter, deque
INF = float('inf')

def gcd(a, b):
	while b:
		(a, b) = (b, a % b)
	return a

def primeFactor(n):
	if n % 2 == 0:
		return 2
	i = 3
	while i ** 2 <= n:
		if n % i == 0:
			return i
		i += 1
	return n

def main():
	x = int(input())
	if x <= 1:
		print(-1)
		return
	print(x, x)
	return
t = 1
for _ in range(t):
	main()


def constructive(x):
	a = x // 2 + 1
	b = 2
	while a <= x:
		if a * b <= x or a % b != 0:
			a += 1
			continue
		return (a, b)
	return (-1, 0)
x = int(input())
(a, b) = constructive(x)
print(a, b) if b > 0 else print(a)


p = 0
n = int(input())
if n == 1:
	print('-1')
else:
	for i in range(2, n + 1):
		for k in range(1, n + 1):
			if i * k > n and i % k == 0 and (i * k > n) and (i / k < n):
				print(i, k)
				p = 1
				break
		if p == 1:
			break


x = int(input())
a = x
b = a
a1 = 1
b1 = 1
c = 0
while a >= 1:
	while b >= 1:
		if a % b == 0 and a * b > x and (a / b < x):
			a1 = a
			b1 = b
			c = 1
			break
		b = b - 11
	if c == 1:
		break
	b = a
	a = a - 1
if a1 == 1 and b == 1:
	print(-1)
else:
	print(a1, b1)


x = int(input())
c = 0
val = 0
for i in range(2, x):
	if x % i == 0:
		c += 1
if x == 1:
	print('-1')
elif x % 2 == 0:
	print(x, '2')
else:
	print(x - 1, '2')


n = int(input())
a = 1
b = 1
flag = True
while a % b != 0 or a / b >= n or a * b <= n:
	if a <= n:
		a += 1
	if b <= n:
		b += 1
	if a > n and b > n:
		print(-1)
		flag = False
		break
if flag:
	print(a, b)


_ = input()
print(-1 if _ == '1' else _ + ' ' + _)


import sys
import math
get_string = lambda : sys.stdin.readline().strip()
get_list = lambda : list(map(int, sys.stdin.readline().strip().split()))
get_intList_from_str = lambda : list(map(int, list(sys.stdin.readline().strip())))
get_charList_from_str = lambda : list(sys.stdin.readline().strip())
get_int = lambda : int(sys.stdin.readline().strip())
pt = lambda x: sys.stdout.write(str(x))
n = get_int()
s = math.ceil(math.sqrt(n))
if math.sqrt(n) == s and s + 1 < n:
	print(s + 1, s + 1)
elif s <= n and 1 < n:
	print(s, s)
else:
	print(-1)


def s():
	x = int(input().rstrip())
	if x in (2, 3):
		print(2, 2)
		exit()
	adiv = lambda a: [x for x in range(1, a) if a % x == 0][::-1]
	for a in range(0, x + 1):
		for b in adiv(a):
			if a * b > x and a // b < x:
				print(a, b)
				exit()
	print(-1)
s()


def ehab(x):
	if x == 1:
		return [-1]
	return (x - x % 2, 2)
print(*ehab(int(input())))


t = int(input())
lst = list()
for i in range(1, t + 1):
	for j in range(1, t + 1):
		if j % i == 0 and i * j > t and (j // i < t):
			lst.extend([j, i])
			break
	if lst != []:
		break
if lst == []:
	print('-1')
else:
	print(str(lst[0]) + ' ' + str(lst[1]))


import math

def search(x):
	if x == 1:
		print(-1)
	else:
		a = 1
		while a <= 100:
			a += 1
			b = 1
			while b <= 100:
				b += 1
				if a > 1 and b > 1 and (a <= x) and (b <= x) and (a % b == 0) and (a * b > x) and (math.floor(a / b) < x):
					print(a, b)
					a = 100
					b = 100
search(int(input()))


x = int(input())
flag = True
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i % j == 0 and i * j > x and (i // j < x):
			flag = False
			print(i, j)
			break
	if flag == False:
		break
if flag:
	print(-1)


x = int(input())
if x == 1:
	print('-1')
else:
	(aa, bb) = (0, 0)
	for a in range(0, x + 1):
		for b in range(0, x + 1):
			if a * b > x:
				if a / b < x:
					if a % b == 0:
						(aa, bb) = (a, b)
						break
		if aa != 0:
			break
	print(aa, bb)


x = int(input())
i = 1
while i <= x:
	if i * i > x:
		print(i, i)
		break
	i += 1
if i == x + 1:
	print(-1)


x = int(input())
if x == 1:
	print('-1')
else:
	(first, second) = (0, 0)
	for a in range(0, x + 1):
		for b in range(0, x + 1):
			if a * b > x and a / b < x and (a % b == 0):
				(first, second) = (a, b)
				break
		if first != 0:
			break
	print(first, second)


import math
import sys
n = int(input())
if n == 1:
	print(-1)
else:
	if n % 2 == 0:
		print(n, end=' ')
	else:
		print(n - 1, end=' ')
	print(2)


x = int(input())
if x == 1:
	print(-1)
else:
	a = x // 2
	if a % 2:
		a += 1
	else:
		a += 2
	b = 2
	print(a, b)


x = int(input())
(a, b) = (1, 1)
f = True
while f and a <= x:
	while f and b <= x:
		if a % b == 0 and a * b > x and (a < b * x):
			print(a, b)
			f = False
		b += 1
	b = 1
	a += 1
if f:
	print(-1)


x = int(input())
if x != 1 and x != 2:
	print(x - 1, x - 1)
elif x == 2:
	print(2, 2)
else:
	print(-1)


def solution(x):
	candidates = [i for i in range(1, x + 1)]
	for a in candidates:
		for b in candidates:
			if a * b > x and a / b < x and (a % b == 0):
				print(a, b)
				return
	print(-1)
x = int(input())
solution(x)


a = int(input())
for i in range(1, a + 1):
	for j in range(1, a + 1):
		if i // j < a and i * j > a and (i % j == 0):
			print(i, j)
			exit()
print('-1')


num = int(input())
tof = True
for i in range(2, num + 1):
	j = i
	while j <= num:
		if j % i == 0 and j * i > num and (j / i < num):
			print(j, i, ' ')
			tof = False
			break
		j += i
	if tof == False:
		break
if tof:
	print(-1)


x = int(input())

def gen_divider(chislo):
	for i in range(chislo, 0, -1):
		if chislo % i == 0:
			yield i

def res(x):
	for i in range(x + 1):
		chislo = gen_divider(i)
		for j in chislo:
			if 1 <= i <= x and 1 <= j <= x and (i * j > x) and (i / j < x):
				print(str(i) + ' ' + str(j))
				return
	print('-1')
res(x)


x = int(input())
k = 0
l = 0
v = 0
if x != 1:
	for y in range(1, x + 1):
		for z in range(1, x + 1):
			if z % y == 0 and z * y > x and (z / y < x):
				k = z
				l = y
				v = 1
				break
		if v == 1:
			print(k, l)
			break
else:
	print(-1)


def main():
	x = input()
	x = int(x)
	if x == 1:
		print(-1)
	else:
		print(x, x)
main()


x = int(input())
if x > 1:
	num = str(x) + ' ' + str(x)
	print(num)
else:
	print(-1)


def funcao(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				return (a, b)
	return (-1, -1)
res = funcao(int(input()))
if res[0] != -1:
	print(str(res[0]) + ' ' + str(res[1]))
else:
	print('-1')


x = int(input())
arr = []
if x == 2:
	print(2, 2)
elif x == 3:
	print(3, 3)
else:
	for i in range(1, x + 1, 1):
		arr.append(i)
	temp = 0
	for i in range(0, len(arr) - 1, 1):
		b = arr[i]
		temp = 0
		for j in range(i + 1, len(arr), 1):
			a = arr[j]
			if a % b == 0:
				if a * b > x:
					if a // b < x:
						print(a, b)
						temp = 1
						break
		if temp == 1:
			break
	if temp != 1:
		print(-1)


def betterSearch():
	x = int(input())
	for a in range(1, x + 1):
		for b in range(1, a + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				print(a, b)
				return
	print(-1)
	return
betterSearch()


x = int(input())
a = 0
c = 0
while a < x and c < 1:
	a += 1
	b = 0
	while b < x:
		b += 1
		if a % b == 0 and a * b > x and (a / b < x):
			c = 1
			print(a, b)
			break
if c == 0:
	print(-1)


x = int(input())
for i in range(1, 101):
	for j in range(1, 101):
		if j % i == 0 and i * j > x and (j / i < x):
			print(j, i)
			quit()
print(-1)


num = int(input())
if 1 < num <= 100:
	print(str(num) + ' ' + str(num))
else:
	print(-1)


x = int(input())
a = 1
b = 1
condition = False

def verify(a, b):
	if b % a == 0:
		if a * b > x:
			if a / b < x:
				return True
	return False
while b <= x and condition == False:
	condition = verify(a, b)
	if condition == False:
		if a < x:
			a += 1
		else:
			a = 1
			b += 1
if condition == True:
	print('%d %d' % (a, b))
else:
	print('-1')


import sys
t = int(input())
for b in range(1, t + 1):
	a = b
	while 1:
		if a > t:
			break
		if a % b == 0 and a * b > t and (a // b < t):
			print(a, b)
			sys.exit()
		a += 1
print('-1')


x = int(input())
t = int(x / 2)
if t % 2 == 0:
	t += 2
else:
	t += 3
if x == 2:
	print('2 2')
elif x < 2:
	print('-1')
elif x == 3:
	print('3 3')
elif x == 4 or x == 5:
	print('4 2')
else:
	p = int(t / 2)
	print(str(t) + ' ' + str(p))


import math
x = int(input())
if x == 1:
	print(-1)
elif (math.floor(x / 2) + 1) % 2 == 0:
	print(math.floor(x / 2) + 1, 2)
else:
	print(math.floor(x / 2) + 2, 2)


x = int(input())
res = False
for b in range(1, x + 1):
	for a in range(b, x + 2, b):
		if a * b > x and a // b < x:
			res = (a, b)
if res:
	print('%d %d' % (res[0], res[1]))
else:
	print(-1)


def solve(a):
	p = 0
	q = 0
	sign = 0
	for i in range(1, a + 1):
		for k in range(1, a):
			if i ** 2 * k > x:
				p = i * k
				q = i
				sign = 1
				return (p, q)
	if sign == 0:
		return (p, q)
x = int(input())
a = 0
b = 0
(a, b) = solve(x)
if a == 0:
	print(-1)
else:
	print(a, b)


x = int(input())
p = 0
for a in range(x, 0, -1):
	for b in range(1, a + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			print(str(a) + ' ' + str(b))
			p = 1
			break
	if p == 1:
		break
if p == 0:
	print(-1)


from math import *
from copy import *
from string import *
from sys import stdin
from itertools import *
x = int(stdin.readline())
ans = [-1]
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a * b > x and a // b < x and (a % b == 0):
			ans = [a, b]
			break
print(*ans)


n = int(input())
flag = 0
if n == 1:
	print('-1')
elif n == 2:
	print(2, 2)
else:
	print(n - 1, n - 1)


x = int(input())
found = False
for i in range(2, x):
	for j in range(i, x):
		if j % i == 0 and j * i > x:
			found = True
			print(j, ' ', i)
			break
	else:
		continue
	break
if x == 2:
	print('2 2')
elif not found:
	print(-1)


t = 1
while t > 0:
	t -= 1
	n = int(input())
	if n == 1:
		print(-1)
	else:
		print(n, n)


def supersolution(num):
	if num == 1:
		print(-1)
	else:
		print(num - num % 2, 2)
	return
x = int(input())
supersolution(x)


given = int(input())
if given % 2 == 0:
	a = given
	b = 2
else:
	a = given - 1
	b = 2
if given == 1:
	print(-1)
else:
	print(a, b)


x = int(input())
output = -1
f = 1
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			output = (a, b)
			f = 0
			break
	if not f:
		break
if output == -1:
	print(output)
else:
	print(str(output[0]) + ' ' + str(output[1]))


from math import ceil

def ii():
	return int(input())

def ss():
	return [x for x in input()]

def si():
	return [int(x) for x in input().split()]

def mi():
	return map(int, input().split())
a = ii()
if a != 1:
	print(a, a)
else:
	print(-1)


from sys import stdin, stdout
from math import *
from heapq import *
from collections import *

def main():
	x = int(stdin.readline())
	for a in range(1, x + 1):
		for b in range(a, x + 1):
			if a % b == 0:
				if a * b > x and a / b < x:
					stdout.write(' '.join([str(a), str(b)]))
					return 0
	stdout.write('-1')
	return 0
main()


import sys
input = sys.stdin.readline
n = int(input())
if n == 1:
	print('-1')
else:
	print(n, n)


x = int(input())
flag = 0
val1 = -1
val2 = -1
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i % j == 0 and i >= j and (i / j < x) and (i * j > x):
			val1 = i
			val2 = j
			flag = 1
			break
	if flag == 1:
		break
if flag == 1:
	print(val1, val2)
else:
	print(-1)


def function(x):
	for a in range(1, x + 1):
		if a * a > x:
			print(a, a)
			return
	print(-1)
	return
x = int(input())
function(x)


n = int(input())
if n * n > n and n / n < n:
	print(n, n)
else:
	print(-1)


from sys import stdin
from sys import stdout
x = int(stdin.readline())
if x == 1:
	stdout.write('-1')
else:
	stdout.write(str(x - x % 2) + ' 2')


x = int(input())
i = 0
j = 0
q = 0
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i % j == 0 and i * j > x and (i / j < x):
			print(i, end=' ')
			print(j)
			q = q + 1
			break
	if q != 0:
		break
if i == j and q == 0:
	print(-1)


from sys import stdin, stdout
nmbr = lambda : int(stdin.readline())
lst = lambda : list(map(int, stdin.readline().split()))
for _ in range(1):
	n = nmbr()
	if n == 1:
		print(-1)
	else:
		print(n, n)


x = int(input())
if x < 2:
	print('-1')
else:
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			a1 = 0
			b1 = 0
			if (b % a == 0 or a % b == 0) and a * b > x and (a // b < x):
				a1 += a
				b1 += b
				break
	print(a1, b1)


num = int(input())
lista = []
resultado = []
for i in range(num):
	lista.append(i + 1)
for a in lista:
	for b in lista:
		if (a <= num) & (b <= num) & (a % b == 0) & (a * b > num) & (a / b < num):
			resultado.append(a)
			resultado.append(b)
if len(resultado) == 0:
	print(-1)
else:
	print(resultado[0], resultado[1])


x = int(input())
k = 0
a = 0
b = 0
for i in range(1, x + 1):
	for j in range(1, i + 1):
		if i % j == 0 and i * j > x and (i / j < x):
			a = i
			b = j
			k = 1
			break
	if a != 0 and b != 0:
		break
if k == 1:
	print(a, b)
else:
	print(-1)


def program(n):
	for i in range(1, n + 1):
		for j in range(1, n + 1):
			if i % j == 0 and i * j > n and (i / j < n):
				return (i, j)
n = int(input())
r = program(n)
if r == None:
	print('-1')
else:
	print(r[0], r[1])


def numbers(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a % b != 0:
				continue
			if not a * b > x:
				continue
			if not a / b < x:
				continue
			else:
				print(a, b)
				return
	print(-1)
x = int(input())
numbers(x)


import math
import sys
import collections

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return list(map(int, input().split()))
n = ii()
print(-1) if n == 1 else print(n - n % 2, 2)


n = int(input())
if n == 1:
	print(-1)
elif int(n / 2) % 2 == 0:
	print(str(int(n / 2) + 2) + ' ' + str(2))
else:
	print(str(int(n / 2) + 1) + ' ' + str(2))


import sys
import math
get_string = lambda : sys.stdin.readline().strip()
get_list = lambda : list(map(int, sys.stdin.readline().strip().split()))
get_intList_from_str = lambda : list(map(int, list(sys.stdin.readline().strip())))
get_charList_from_str = lambda : list(sys.stdin.readline().strip())
get_int = lambda : int(sys.stdin.readline().strip())
pt = lambda x: sys.stdout.write(str(x))
n = get_int()
s = math.ceil(math.sqrt(n))
valid = True
while s <= n:
	if s * s > n and 1 < n:
		print(s, s)
		valid = False
		break
	s += 1
if valid:
	print(-1)


import sys
input = lambda : sys.stdin.readline().strip('\r\n')
x = int(input())
if x == 1:
	print(-1)
else:
	print(x, x)


x = int(input())

def core():
	if x == 1:
		return '-1'
	for a in range(1, x + 1):
		for b in range(1, a + 1):
			if a % b == 0:
				if a * b > x:
					return '%d %d' % (a, b)
	return '-1'
print(core())


x = eval(input())
if x == 1:
	print(-1)
elif x == 2:
	print(2, 2)
elif x == 3:
	print(3, 3)
else:
	print(2 * (x // 4) + 2, 2)


n = int(input())
for i in range(1, n + 1):
	for j in range(i, n + 1):
		if j % i == 0 and i * j > n and (j // i < n):
			print(j, i)
			exit(0)
else:
	print(-1)


from math import ceil

def twoSteps(x):
	if x == 1:
		print(-1)
	elif x == 3:
		print(3, 3)
	elif ceil(x / 2) % 2 == 0:
		print(ceil(x / 2) + 2, 2)
	else:
		print(ceil(x / 2) + 1, 2)
twoSteps(int(input()))


n = int(input())
for i in range(1, 101):
	a = i
	j = 1
	while j <= i:
		b = j
		if a * b > n and a // b < n and (a % b == 0):
			print(a, end=' ')
			print(b)
			exit()
		j += 1
print('-1')


x = int(input())
if x == 1:
	print(-1)
elif x == 2 or x == 3:
	print(2, 2)
else:
	print(2 * (x // 2), x // 2)


n = int(input())
if n == 1:
	print('-1')
elif n % 2 == 0:
	print(n, end=' ')
	print(2)
else:
	print(n - 1, end=' ')
	print(2)


receivedInteger = int(input())
lowerInteger = 2
if receivedInteger % 2 != 0:
	higherInteger = receivedInteger - 1
else:
	higherInteger = receivedInteger
if higherInteger <= 1:
	print(-1)
else:
	print(higherInteger, lowerInteger)


def bruteForce(x):
	a = list()
	for i in range(x, 0, -1):
		a.append(i)
	for i in range(x):
		for j in range(x):
			if a[i] * a[j] > x and a[i] % a[j] == 0 and (a[i] / a[j] < x):
				return str(a[i]) + ' ' + str(a[j])
	return -1
a = int(input())
print(bruteForce(a))


import math as m

def brute_force(x):
	for b in range(1, x + 1):
		for a in range(b, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				print('{} {}'.format(a, b))
				return

def better_search(x):
	for b in range(m.floor(m.sqrt(x)), x + 1):
		for a in range(b, x + 1, b):
			if a * b > x and a / b < x:
				print('{} {}'.format(a, b))
				return

def trivial(x):
	print('{} {}'.format(x, x))
x = int(input())
if x == 1:
	print('-1')
else:
	better_search(x)


INT_VALUE = 'INT_VALUE'
INT_ARRAY = 'INT_ARRAY'
STRING = 'STRING'
STRING_ARRAY = 'STRING_ARRAY'
LINES_ARRAY = 'LINES_ARRAY'

def get_int_value(content):
	return int(content)

def get_int_array(content):
	return [int(x) for x in filter(None, content.split(' '))]

def get_string(content):
	return content

def get_string_array(content):
	return content.split(' ')

def get_lines_array(content):
	return content.split('\n')
GET_INPUT = {INT_VALUE: get_int_value, INT_ARRAY: get_int_array, STRING: get_string, STRING_ARRAY: get_string_array, LINES_ARRAY: get_lines_array}
INPUT_TYPE = INT_VALUE

def process(solver):
	content = GET_INPUT[INPUT_TYPE](input())
	result = solver(content)
	print(str(result))

def solve(_input):
	return '-1' if _input == 1 else str(_input - _input % 2) + ' 2'
process(solve)


n = int(input())
a1 = 0
b1 = 0
for a in range(1, n + 1):
	for b in range(1, n + 1):
		if a >= 1 and b >= 1:
			if a % b == 0:
				if a * b > n:
					if a / b < n:
						a1 = a
						b1 = b
if a1 == 0 and b1 == 0:
	print(-1)
else:
	print(a1, b1)


import math
var_x = int(input())
if var_x != 1:
	if (math.floor(var_x / 2) + 1) % 2 == 0:
		print(str(math.floor(var_x / 2) + 1) + ' 2')
	else:
		print(str(math.floor(var_x / 2) + 2) + ' 2')
else:
	print(-1)


import sys
from itertools import *
from cmath import *
input = sys.stdin.readline
from math import *

def inp():
	return int(input().strip())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())

def iss(s):
	return s == s[::-1]
n = inp()
if n == 1:
	print('-1')
else:
	print(str(n - n % 2) + ' 2')


strInp = lambda : input().strip().split()
intInp = lambda : list(map(int, strInp()))
x = int(input())
condition = False
for i in range(x):
	for j in range(x):
		if (i + 1) % (j + 1) == 0 and (i + 1) * (j + 1) > x and ((i + 1) / (j + 1) < x):
			condition = True
			break
	if condition:
		break
if condition:
	print(i + 1, j + 1)
else:
	print(-1)


x = int(input())
if 1 <= x <= 100:
	if x == 1:
		print(-1)
	elif x == 2:
		print(2, 2)
	else:
		print(x - 1, x - 1)


x = int(input())
l = 0
if x < 2:
	print(-1)
else:
	for n in range(1, x + 1):
		for k in range(n, x + 1):
			if k % n == 0 and k / n < x and (k * n > x):
				print(k, n)
				l = 1
				break
		if l == 1:
			break


import sys
import math
fileoperation = 0
if fileoperation:
	orig_stdout = sys.stdout
	orig_stdin = sys.stdin
	inputfile = open('W:/Competitive Programming/input.txt', 'r')
	outputfile = open('W:/Competitive Programming/output.txt', 'w')
	sys.stdin = inputfile
	sys.stdout = outputfile
mod = 1000000007

def nospace(l):
	ans = ''.join((str(i) for i in l))
	return ans
flag = 0
t = 1
for tt in range(t):
	n = int(input())
	for b in range(1, 10000):
		v = b * b
		for k in range(1, n):
			if v * k > n:
				print(k * b, b)
				flag = 1
				break
		if flag:
			break
if flag == 0:
	print(-1)
if fileoperation:
	sys.stdout = orig_stdout
	sys.stdin = orig_stdin
	inputfile.close()
	outputfile.close()


n = int(input())
f = 0
for i in range(n // 2, n + 1):
	a = i
	for j in range(1, n + 1):
		b = j
		if b == 0 or a == 0:
			break
		elif a % b == 0 and a * b > n and (a / b < n):
			print(a, b, sep=' ')
			f = 1
			break
		else:
			f = 0
	if f == 1:
		break
if f == 0:
	print('-1')


def getnums(x):
	for b in range(2, x + 1):
		for a in range(x, 0, -1):
			if a * b > x and a < b * x and (a % b == 0):
				return (a, b)
	return (-1, -1)
x = int(input())
(a, b) = getnums(x)
if a == -1:
	print('-1')
else:
	print('{} {}'.format(a, b))


x = int(input())
i = x

def findDivisor(a):
	b = a
	while b > 0 and a % b != 0:
		b -= 1
	return b
while i >= 1:
	div = findDivisor(i)
	if div * i > x and i / div < x:
		print(i, div)
		break
	i -= 1
if i == 0:
	print(-1)


n = int(input())
ans = [n - n % 2, 2] if n != 1 else [-1]
print(*ans)


x = int(input())
res = False
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if b % a == 0 and a * b > x and (a / b < x):
			x = a
			y = b
			res = True
			break
if res:
	print(y, x)
else:
	print(-1)


x = int(input())
if x > 1:
	if x % 2 == 0:
		print(str(x) + ' 2')
	else:
		print(str(x - 1) + ' 2')
else:
	print(-1)


x = int(input())
found = False
for i in range(1, x + 1):
	b = i
	m = 1
	while True:
		a = b * m
		if a > x:
			break
		m += 1
		if a % b == 0 and a * b > x and (a / b < x):
			print('{} {}'.format(a, b))
			found = True
			break
	if found:
		break
if not found:
	print('-1')


x = int(input())
flag = 0
for i in range(1, x + 1):
	for j in range(2, x + 1):
		if i * j > x and j % i == 0 and (j / i < x):
			print(j, i)
			flag = 1
			break
	if flag == 1:
		break
	elif i == x and flag == 0:
		print(-1)
		break


x = int(input())
flag = False
if x == 3:
	print('3 3')
elif x == 2:
	print('2 2')
else:
	flag = False
	for j in range(1, x + 1):
		for i in range(j + 1, x + 1):
			if i * j > x and i % j == 0 and (i / j < x):
				print(i, j)
				flag = True
				break
		if flag:
			break
	if not flag:
		print(-1)


x = int(input())
f = 0
for i in range(2, x + 1):
	b = i
	for k in range(1, x):
		a = k * b
		a1 = a * b
		if a <= x and a1 > x:
			f = 1
			break
	if f == 1:
		break
if f == 0:
	print(-1)
else:
	print(str(a) + ' ' + str(b))


n = int(input())
f = 0
for x in range(1, n + 1):
	for y in range(x, n + 1):
		if y % x == 0 and y // x < n and (x * y > n):
			print(y, x)
			f = 1
			break
	if f == 1:
		break
if f == 0:
	print(-1)


from random import randrange
n = int(input())
a = 0
if n == 1:
	print(-1)
else:
	while a * a < n:
		a = randrange(1, n + 1)
	print(a, a)


x = int(input())
f = False
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			print(a, b)
			f = True
			break
	if f == True:
		break
if f == False:
	print('-1')


t = int(input())
flag = 0
for i in range(1, t + 1):
	if flag != 1:
		for j in range(1, t + 1):
			if flag != 1:
				if i % j == 0:
					if i * j > t:
						if i % j < t:
							(a, b) = (i, j)
							flag = 1
if flag == 1:
	print(a, b)
else:
	print('-1')


x = int(input(''))
if x == 1:
	print(-1)
elif x == 2:
	print('2 2')
else:
	print(str(x - 1) + ' ' + str(x - 1))


a = int(input())
if a < 2:
	print(-1)
else:
	print('{0} {0}'.format(a))


x = int(input())
if x == 1:
	print('-1')
else:
	print(x, x, sep=' ')


x = int(input())
for i in range(x, 0, -1):
	for j in range(x + 1):
		if i * j > x and i // j < x and (i % j == 0):
			print(i, j, sep=' ')
			exit()
print(-1)


from sys import stdin, stdout
x = int(stdin.readline())
ok = False
for b in range(1, x + 1):
	for d in range(1, x + 1):
		if d * b <= x and d * b * b > x:
			ok = True
			break
	if ok:
		break
if ok:
	stdout.write('{} {}'.format(b * d, b))
else:
	stdout.write('-1')


import math

def solve(x):
	if x == 1:
		return (-1,)
	else:
		return (x - x % 2, 2)
x = int(input())
print(*solve(x))


import sys
import math

def read_line():
	return sys.stdin.readline()[:-1]

def read_int():
	return int(sys.stdin.readline())

def read_int_line():
	return [int(v) for v in sys.stdin.readline().split()]
x = read_int()
a1 = 0
b1 = -1
for b in range(1, x + 1):
	p = math.floor(x / b)
	if p * b * b > x:
		a1 = p * b
		b1 = b
		break
if b1 != -1:
	print(a1, b1)
else:
	print(-1)


a = int(input())
i = a / 2
i = int(i)
x = -1
y = -1
if a == 2:
	print('2 2')
elif a == 3:
	print('2 2')
else:
	for p in range(i + 1, a + 1):
		for q in range(i, 1, -1):
			if p % q == 0:
				x = p
				y = q
				break
		if x != -1:
			break
	if x == -1:
		print('-1')
	else:
		print(x, end=' ')
		print(y)


X = int(input())
Check = False
Stop = False
for i in range(1, X + 1):
	for j in range(1, X + 1):
		if i % j == 0 and i * j > X and (i / j < X):
			print(str(i) + ' ' + str(j))
			Check = True
			Stop = True
	if Stop == True:
		break
if Check == False:
	print(str(-1))


t = int(input())
if t > 1:
	print(t, t)
else:
	print('-1')


num = 0
num = int(input())
x = False
for i in range(1, num + 1):
	for j in range(1, num + 1):
		if i % j == 0 and i * j > num and (i / j < num):
			print(i, j)
			x = True
			break
	if x:
		break
if not x:
	print(-1)


cin = lambda : map(int, input().split())
(n, m) = (int(input()), 0)
for a in range(1, n + 1):
	for b in range(1, n + 1):
		if a % b == 0 and a * b > n and (a / b < n):
			print(a, b)
			m = 1
			break
	if m == 1:
		break
else:
	print(-1)


x = int(input())
print(' '.join(map(str, [x, x])) if x != 1 else -1)


n = int(input())
dd = []
c = 0
for a in range(1, n + 1):
	for b in range(1, n + 1):
		if a % b == 0 and a * b > n and (a / b < n):
			dd.append(a)
			dd.append(b)
			c += 1
if c == 0:
	print('-1')
else:
	print(dd[0], dd[1])


from bisect import bisect_right as br
from bisect import bisect_left as bl
from collections import defaultdict
from itertools import combinations
import sys
import math
MAX = sys.maxsize
MAXN = 10 ** 5 + 10
MOD = 10 ** 9 + 7

def isprime(n):
	n = abs(int(n))
	if n < 2:
		return False
	if n == 2:
		return True
	if not n & 1:
		return False
	for x in range(3, int(n ** 0.5) + 1, 2):
		if n % x == 0:
			return False
	return True

def mhd(a, b, x, y):
	return abs(a - x) + abs(b - y)

def numIN():
	return map(int, sys.stdin.readline().strip().split())

def charIN():
	return sys.stdin.readline().strip().split()
x = int(input())
if x == 1:
	print(-1)
else:
	print(x, x)


import math
x = int(input())
if x == 1:
	print(-1)
else:
	a = int(math.sqrt(x)) + 1
	print(a, a)


def func(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				return (a, b)
ans = func(int(input()))
if ans != None:
	for i in ans:
		print(i)
else:
	print(-1)


x = int(input())
sw = 1
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if sw and a * b > x and (a % b == 0) and (a / b < x):
			print(a, end=' ')
			print(b)
			sw = 0
			break
if sw:
	print(-1)


t = int(input())
flag = 0
for i in range(1, t + 1):
	for j in range(1, t + 1):
		if i % j == 0 and i * j > t and (i / j < t):
			flag = 1
			print(i, j)
			break
	else:
		continue
	break
if flag == 0:
	print(-1)


import sys
from math import sqrt, floor, factorial
from collections import deque, Counter
inp = sys.stdin.readline
read = lambda : list(map(int, inp().strip().split()))

def solve():
	n = int(inp())
	print(*[[-1], [n - n % 2, 2]][n > 1])
solve()


x = int(input())
c = 0
d = 0
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i * j > x and i / j < x and (i % j == 0):
			(c, d) = (i, j)
			break
if c != 0 and d != 0:
	print(c, d)
else:
	print(-1)


line = int(input())
for i in range(1, line + 1):
	for g in range(1, line + 1):
		if i * g > line:
			if i / g < line:
				if i % g == 0:
					if g % i == 0:
						print(str(g) + ' ' + str(i))
						exit()
print('-1')


x = int(input())
a = x if x % 2 == 0 else x - 1
b = x if x % 2 == 0 else x - 1
if b > 1 and a > 1:
	print(a, b)
else:
	print('-1')


import math
n = int(input())
for i in range(2, math.ceil(math.sqrt(n) + 1)):
	for j in range(int(n / i) + 1, n + 1):
		if j % i == 0 and j / i < n:
			print(str(j) + ' ' + str(i))
			exit()
print(-1)


T = int(input())
if T != 1:
	print(2 * (T // 2), 2)
else:
	print(-1)


x = int(input())

def some(x):
	a = None
	b = None
	flag = False
	for i in range(1, x + 1):
		if flag:
			break
		for j in range(1, x + 1):
			if not i % j and i * j > x and (i / j < x):
				a = i
				b = j
				break
	if a and b:
		return (a, b)
	return (-1,)
print(*some(x))


x = int(input())
b = 1
a = 1
c = 1
achou = False
while c <= x:
	while a <= x:
		if a * b > x and a / b < x:
			achou = True
			break
		b += 1
		a = b * c
	if achou == True:
		break
	c += 1
if achou == False:
	print(-1)
else:
	print(a, b)


def solve():
	x = int(input())
	if x == 1:
		print(-1)
		return
	print(x, x)
solve()


n = eval(input())
if n == 1:
	print('-1')
else:
	if n % 2 == 1:
		n = n - 1
	print('{} 2'.format(n))


x = int(input())

def re(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if a * b > x and a / b < x and (a % b == 0):
				return (a, b)
	return -1
if type(re(x)) == tuple:
	print(re(x)[0], re(x)[1])
else:
	print(re(x))


import math

def mejor_busqueda(x):
	for b in range(math.floor(math.sqrt(x)), x + 1):
		for a in range(b, x + 1, b):
			if a * b > x and a / b < x:
				print(a, ' ', b)
				return
x = int(input())
if x == 1:
	print('-1')
elif 1 < x and x <= 100:
	mejor_busqueda(x)


def force(x):
	if x < 1:
		return
	else:
		for a in range(1, x + 1):
			b = 2
			while b <= x:
				if a % b == 0:
					condition2 = a * b > x
					condition3 = a / b < x
					if condition2 and condition3:
						print(a, b)
						return
				b += 1
	print(-1)
	return
x = int(input())
force(x)


x = int(input())
if x > 1:
	for b in range(x, 0, -1):
		for a in range(x // 2 + 1, x + 1):
			if a % b == 0 and a / b < x < a * b and (a <= x) and (b <= x):
				print(a, b)
				exit()
	print(-1)
else:
	print(-1)


n = int(input())
if n == 1:
	print(-1)
else:
	l = []
	for i in range(2, n + 1):
		a = i
		for j in range(i, n + 1):
			if a * j > n:
				if j % a == 0:
					l = [j, a]
					break
		if len(l) == 2:
			break
	if len(l) == 2:
		print(l[0], l[1])
	else:
		print(-1)


def task_a(inp):
	if inp != 1:
		if inp % 2 != 0:
			print(inp - 1)
		elif inp % 2 == 0:
			print(inp)
		print(2)
	elif inp == 1:
		print(2)
		print(1)
	return None
x = int(input())
if x == 1:
	print(-1)
elif x != 1:
	task_a(x)


import sys
import math
import bisect

def main():
	n = int(input())
	ans = None
	for a in range(1, n + 1):
		for b in range(1, n + 1):
			if a % b == 0 and a * b > n and (a / b < n):
				ans = [a, b]
	if ans == None:
		print(-1)
	else:
		print('%d %d' % (a, b))
main()


x = int(input())
a = 1
b = 1
g = False
arr = []
arr2 = []
for a in range(1, 101):
	if g is True:
		break
	for b in range(1, 101):
		if a % b == 0 and a * b > x and (a / b < x) and (a <= x) and (b <= x):
			g = True
			print(a, b)
			break
if g is False:
	print(-1)


import sys
sys.setrecursionlimit(2000)
from collections import Counter
n = [int(val) for val in input().split()][0]
pair = None
good = False
for a in range(1, 200):
	for b in range(1, 200):
		if a % b == 0 and a * b > n and (a // b < n):
			good = True
			pair = [a, b]
			break
	if good:
		break
if good:
	print('%d %d' % (pair[0], pair[1]))
else:
	print('-1')


import math as mt
import itertools as it
import functools as ft
import random as rnd
stdin = lambda type_='int', sep=' ': list(map(eval(type_), input().split(sep)))
joint = lambda sep=' ', *args: sep.join((str(i) if type(i) != list else sep.join(map(str, i)) for i in args))
x = int(input())
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			print(joint(' ', [a, b]))
			exit(0)
print(-1)


import sys
x = int(sys.stdin.readline())
if x == 1:
	print(-1)
else:
	print(str(x // 2 * 2) + ' 2')


m = int(input())
if m == 1:
	print(-1)
elif m % 2 == 0:
	print(m, m)
else:
	print(m - 1, m - 1)


from operator import itemgetter
x = int(input())
if x == 1:
	print(-1)
else:
	print(x, x)


import math
x = int(input())
if x == 1:
	print('-1')
elif x != 3:
	if math.ceil(x / 2) % 2 == 0:
		print(math.ceil(x / 2) + 2, 2)
	else:
		print(math.ceil(x / 2) + 1, 2)
else:
	print(3, 3)


x = int(input(''))
flag = 0
for i in range(1, x + 1):
	if flag == 1:
		break
	for j in range(1, x + 1):
		a = i
		b = j
		if a * b > x and a % b == 0 and (a / b < x):
			s = str(a) + ' ' + str(b)
			flag = 1
			break
		else:
			continue
if flag == 1:
	print(s)
else:
	print('-1')


import sys
input = sys.stdin.readline
from operator import mul
from functools import reduce
from sys import stdout

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())

def main():
	n = inp()
	if n == 1:
		print(-1)
	else:
		print(n, n)
main()


import math

def search(x):
	if x == 1:
		print(-1)
	else:
		print(x, x)
search(int(input()))


t = int(input())
if t == 1:
	print('-1')
elif t == 2:
	print(2, 2)
else:
	print(t - 1, t - 1)


x = int(input())
resposta = list()
for a in reversed(range(1, x + 1)):
	for b in range(1, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			resposta.append(a)
			resposta.append(b)
			break
		else:
			pass
if len(resposta) > 1:
	print(resposta[0], resposta[1])
else:
	print(-1)


def run():
	n = int(input())
	if n == 1:
		print(-1)
	else:
		found = False
		for i in range(1, n + 1):
			for j in range(i, n + 1):
				if j % i == 0 and j * i > n and (j // i < n):
					print(j, i)
					found = True
					break
			if found:
				break
		if not found:
			print(-1)
run()


x = int(input())
if x > 1:
	b = 2
	if x % 2 == 0:
		x = x // 2
	else:
		x = x - 1
		x = x // 2
	if x % 2 == 0:
		a = x + 2
	else:
		a = x + 1
	print(a, end=' ')
	print(b)
else:
	print(-1)


def solve(n):
	if n == 1:
		return -1
	else:
		for i in range(1, n + 1):
			for j in range(1, n + 1):
				if i % j == 0 and i * j > n and (i // j < n):
					return ' '.join(map(str, (i, j)))
		return -1
n = int(input())
print(solve(n))


def ans(x):
	if x == 1:
		return -1
	return f'{x} {x}'
x = int(input())
print(ans(x))


import math
x = int(input())
solved = False
for b in range(1, x + 1):
	for a in range(b, x + 1):
		if a % b == 0 and a * b > x and (a / b < x):
			solved = True
			break
	if solved:
		break
if solved:
	print(str(a) + ' ' + str(b))
else:
	print('-1')


x = int(input())
a = 1
z = 0
while a <= x:
	b = 1
	while b <= x:
		if b % a == 0:
			if b * a > x:
				if a // b < x:
					z = 1
					print(b, a)
					break
		b = b + 1
	if z == 1:
		break
	else:
		a = a + 1
if z == 0:
	print(-1)


import math
x = int(input())
if x == 1:
	print(-1)
else:
	print(math.floor(math.sqrt(x)) + 1, math.floor(math.sqrt(x)) + 1)


N = int(input())
res = str(N) + ' ' + str(N)
print(-1 if N is 1 else res)


x = int(input())
h = 0
mx = 1
for i in range(1, x + 1):
	j = i
	while j < x + 1:
		if i * j > x and j % i == 0 < x and (j / i < x):
			print(j, i)
			h = 1
			break
		j += i
	if h == 1:
		break
if h == 0:
	print(-1)


x = int(input())
if x == 1:
	print('-1')
else:
	print(f'{x} {x}')


class ehabAndAnotherConstructionProblem:

	def __init__(self, x):
		self.x = x
		self.findTwoNumbers(self.x)

	def findTwoNumbers(self, x):
		c = 1
		l = 1
		for i in range(1, x + 1):
			for j in range(1, x + 1):
				m = i
				n = j
				q = m // n
				if m % n == 0 and m * n > x and (q < x):
					if l == 1:
						print(m, n)
						l = 2
					c = 2
		if c == 1:
			print('-1')
x = int(input())
if 1 <= x and x <= 100:
	pass
else:
	exit()
ehabAndAnotherConstructionProblemObj = ehabAndAnotherConstructionProblem(x)


n = int(input())
if n == 1:
	print(-1)
elif n == 2:
	print(2, 2)
else:
	x = n % 2
	if x != 0:
		y = int(n / 2)
		if y % 2 == 0:
			print(y + 2, 2)
		else:
			print(y + 1, 2)
	elif int(n / 2) % 2 == 0:
		print(int(n / 2) + 2, 2)
	else:
		print(int(n / 2) + 1, 2)


a = int(input())
print(*[[a, a], [-1]][a == 1])


val = False
x = int(input())
floor = int(x / 2) + 1
if x == 1:
	print(-1)
elif floor % 2 == 0:
	print(floor, 2)
else:
	print(floor + 1, 2)


X = int(input())
if X == 1 or X == 0:
	print(-1)
else:
	for i in range(2, X + 1):
		if i * i > X and i <= X and (i / i < X):
			print(i, i)
			break
	else:
		print(-1)


x = input()
print(-1 if x == '1' else x + ' ' + x)
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()
y = set()


import sys
input = sys.stdin.readline
ins = lambda : input().rstrip()
ini = lambda : int(input().rstrip())
inm = lambda : map(int, input().rstrip().split())
inl = lambda : list(map(int, input().split()))
out = lambda x, s='\n': print(s.join(map(str, x)))
x = ini()
if x == 1:
	print(-1)
else:
	print(x, x)


x = int(input())
sqrt = int(x ** 0.5) + 1
a = sqrt
b = sqrt
if a <= x and b <= x and (a / b < x) and (a * b > x):
	print(a, b)
else:
	print(-1)


x = int(input())
condition = False
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a * b > x and float(a) / float(b) < x and (a % b == 0):
			print(str(a) + ' ' + str(b), end='')
			condition = True
			break
	if condition == True:
		break
if condition == False:
	print(-1, end='')


def bruteforceplus(num):
	if num > 1:
		for a in range(num, 0, -1):
			for b in range(num, 0, -1):
				if a * b > num and a / b < num and (a % b == 0):
					print(a, b)
					return
	print(-1)
	return
x = int(input())
bruteforceplus(x)


def solve(x):
	for b in range(1, x + 1):
		for n in range(1, x + 1):
			if n * b * b > x:
				return (n * b, b)
	return None

def main():
	x = int(input())
	result = solve(x)
	if result:
		(a, b) = result
		print(a, b)
	else:
		print(-1)
main()


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, copy, functools
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

def LS():
	return sys.stdin.readline().split()

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def main():
	n = I()
	if n == 1:
		return -1
	return '{} {}'.format(n, n)
print(main())


x = int(input())

def f():
	for a in range(1, x + 1):
		for b in range(a, x + 1):
			if a % b != 0:
				continue
			if a * b <= x:
				continue
			if a / b >= x:
				continue
			print(a, b)
			return
	print(-1)
f()


x = int(input())
if x == 1:
	print(-1)
else:
	if x % 2 == 0:
		a = int((x + 2) / 2)
		if a % 2 == 1:
			a += 1
	else:
		a = int((x + 1) / 2)
		if a % 2 == 1:
			a += 1
	b = 2
	print(str(a) + ' ' + str(b))


n = int(input())
flag = False
a = []
for i in range(n + 1):
	for j in range(n + 1):
		if i * j > n and i % j == 0 and (i / j < n):
			a.append((i, j))
if a:
	print(a[0][0], a[0][1])
else:
	print(-1)


from math import ceil, sqrt
x = int(input())
b = 1
for n in range(1, x + 1):
	b = ceil(sqrt(x // n))
	a = n * b
	if a * b > x:
		break
if b != 1:
	print(a, b)
else:
	print('-1')


from sys import stdin, stdout
import bisect
import math

def st():
	return list(stdin.readline().strip())

def inp():
	return int(stdin.readline())

def li():
	return list(map(int, stdin.readline().split()))

def mp():
	return map(int, stdin.readline().split())

def pr(n):
	stdout.write(str(n) + '\n')

def soe(limit):
	l = [1] * (limit + 1)
	prime = []
	for i in range(2, limit + 1):
		if l[i]:
			for j in range(i * i, limit + 1, i):
				l[j] = 0
	for i in range(2, limit + 1):
		if l[i]:
			prime.append(i)
	return prime

def segsoe(low, high):
	limit = int(high ** 0.5) + 1
	prime = soe(limit)
	n = high - low + 1
	l = [0] * (n + 1)
	for i in range(len(prime)):
		lowlimit = low // prime[i] * prime[i]
		if lowlimit < low:
			lowlimit += prime[i]
		if lowlimit == prime[i]:
			lowlimit += prime[i]
		for j in range(lowlimit, high + 1, prime[i]):
			l[j - low] = 1
	for i in range(low, high + 1):
		if not l[i - low]:
			if i != 1:
				print(i)

def power(a, n):
	r = 1
	while n:
		if n & 1:
			r = r * a
		a *= a
		n = n >> 1
	return r

def solve():
	n = inp()
	if n == 1:
		print(-1)
	elif n & 1:
		print(n - 1, 2)
	else:
		print(n, 2)
for _ in range(1):
	solve()


x = int(input())
a = 0
b = 0
if x == 1:
	print(-1)
else:
	print(x, x)


x = int(input())
k = 0
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i * j > x and i / j < x and (i % j == 0):
			print(i, j)
			k = 1
			break
	if k == 1:
		break
if k == 0:
	print(-1)


x = int(input())
for (a, b) in zip(range(1, 100), range(1, 100)):
	if a % b == 0 and a * b > x and (a / b < x):
		print(a, b)
		raise SystemExit
print(-1)


from collections import deque
from math import ceil, floor, sqrt, gcd

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return list(mi())

def si():
	return input()

def fun(x):
	for i in range(1, x + 1):
		a = i
		for j in range(1, i + 1):
			b = j
			if a % b == 0:
				y = a // b
				if a * b > x and y < x:
					print(a, b)
					return
	print('-1')
	return
x = ii()
fun(x)


def solve(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if isValid(a, b, x):
				print(a, b)
				return
	print(-1)
	return
isValid = lambda a, b, x: 1 <= a and a <= x and (1 <= b) and (b <= x) and (a % b == 0) and (a * b > x) and (a / b < x)
x = int(input())
solve(x)


import sys

def rint():
	return map(int, sys.stdin.readline().split())
x = int(input())
for b in range(1, x + 1):
	for a in range(b, x + 1):
		if a % b == 0 and a * b > x and (a < b * x):
			print(a, b)
			exit()
print(-1)


no = int(input())
if no != 1:
	print(no, no)
else:
	print(-1)


def solve(num):
	for i in range(1, num + 1):
		for j in range(1, num + 1):
			if i % j == 0 and i * j > num > i // j:
				return [i, j]
	return [-1]
print(*solve(int(input())))


z = int(input())
if z == 1:
	print(-1)
else:
	print(z, z)


def find_pair(x):
	for i in range(1, x + 1):
		j = i
		while j <= x:
			if i * j > x and j / i < x:
				print(str(j) + ' ' + str(i))
				return
			j += i
	print('-1')
find_pair(int(input()))


x = int(input())
for i in range(1, 102):
	for j in range(1, 102):
		y = int(i / j)
		if i / j == y and i / j < x and (i * j > x):
			print(i, j)
			break
	if j < 101:
		break
if i == 101 and j == 101:
	print(-1)


def solve(x):
	found = False
	for i in range(1, x + 1):
		for j in range(1, x + 1):
			if i * j > x and i % j == 0 and (i / j < x):
				print(str(i) + ' ' + str(j))
				found = True
				return
	if found == False:
		print(-1)
x = int(input())
solve(x)


import math
n = int(input())
if n // 2 == 0:
	print('-1')
elif n // 2 * (n // 2) <= n:
	if n // 2 == 1:
		print(n, n)
	else:
		print(n // 2 * 2, n // 2)
else:
	print(n // 2, n // 2)


x = int(input())
if x > 1:
	a = x
	for i in range(1, x + 1):
		if a % i == 0 and a / i < x and (a * i > x):
			print(a, i)
			break
else:
	print(-1)


def mi():
	return map(int, input().split())
n = int(input())
if n == 1:
	print(-1)
else:
	print(n, n)


num = int(input())
max_num = 0
min_num = 0
if num == 1:
	print(-1)
elif num <= 3:
	print(num, num)
else:
	for i in range(num, 0, -1):
		max_num = i
		for j in range(i - 1, 0, -1):
			min_num = j
			if max_num % min_num == 0:
				if max_num / min_num < num:
					if max_num * min_num > num:
						break
		if max_num % min_num == 0:
			if max_num / min_num < num:
				if max_num * min_num > num:
					break
	print(max_num, min_num)


def solve(x):
	for a in range(1, x + 1):
		for b in range(1, x + 1):
			if b % a == 0 and a % b == 0 and (a * b > x) and (a / b < x):
				return (a, b)
	return None
x = int(input())
r = solve(x)
if r is not None:
	print(r[0], r[1])
else:
	print(-1)


import collections, atexit, math, sys, bisect
sys.setrecursionlimit(1000000)

def getIntList():
	return list(map(int, input().split()))
try:
	import numpy

	def dprint(*args, **kwargs):
		print(*args, file=sys.stderr)
	dprint('debug mode')
except Exception:

	def dprint(*args, **kwargs):
		pass
inId = 0
outId = 0
if inId > 0:
	dprint('use input', inId)
	sys.stdin = open('input' + str(inId) + '.txt', 'r')
if outId > 0:
	dprint('use output', outId)
	sys.stdout = open('stdout' + str(outId) + '.txt', 'w')
	atexit.register(lambda : sys.stdout.close())
(N,) = getIntList()
for a in range(1, N + 1):
	for b in range(1, N + 1):
		if a % b == 0 and a * b > N and (a < N * b):
			print(a, b)
			sys.exit()
print(-1)


x = int(input())

def ret(x):
	for a in range(1, x + 1):
		for b in range(1, a + 1):
			if a % b == 0 and a % b < x and (a * b > x):
				return (a, b)
	return -1
z = ret(x)
if z == -1:
	print(z)
else:
	print(z[0], z[1])


x = int(input())

def func(x):
	for a in range(1, 101):
		for b in range(1, x + 1):
			if b % a == 0 and a * b > x and (a / b < x):
				return str(b) + ' ' + str(a)
	return '-1'
print(func(x))


INT_VALUE = 'INT_VALUE'
INT_ARRAY = 'INT_ARRAY'
STRING = 'STRING'
STRING_ARRAY = 'STRING_ARRAY'
LINES_ARRAY = 'LINES_ARRAY'

def get_int_value(content):
	return int(content)

def get_int_array(content):
	return [int(x) for x in filter(None, content.split(' '))]

def get_string(content):
	return content

def get_string_array(content):
	return content.split(' ')

def get_lines_array(content):
	return content.split('\n')
GET_INPUT = {INT_VALUE: get_int_value, INT_ARRAY: get_int_array, STRING: get_string, STRING_ARRAY: get_string_array, LINES_ARRAY: get_lines_array}
INPUT_TYPE = INT_VALUE

def process(solver):
	content = GET_INPUT[INPUT_TYPE](input())
	result = solver(content)
	print(str(result))

def solve(_input):
	if _input == 1:
		return '-1'
	for x in range(1, _input + 1):
		for y in range(1, _input + 1):
			if x % y == 0 and x * y > _input and (x / y < _input):
				return str(x) + ' ' + str(y)
process(solve)


def main(a):
	if a == 1:
		return -1
	return '{} {}'.format(a, a)
print(main(int(input())))


n = int(input())
l = []
for i in range(1, n + 1):
	for w in range(1, n + 1):
		if w * i > n and i / w < n and (w % i == 0):
			l.append(w)
			l.append(i)
			print(' '.join((str(i) for i in l)))
			exit()
print(-1)


x = input()
print('-1' if x == '1' else '{0} {0}'.format(x))


n = int(input())
st = ''
flag = False
for a in range(1, n + 1):
	for b in range(1, n + 1):
		if a * b > n and a / b < n and (a % b == 0):
			print(a, b)
			flag = True
			break
	if flag:
		break
if not flag:
	print(-1)


n = int(input())
print(*[(n - n % 2, 2), [-1]][n == 1])


n = int(input())
if n == 1:
	print(-1)
else:
	print('{n} {n}'.format(n=n))


x = int(input())
flag = False
h = 0
g = 0
for k in range(1, x + 1):
	for j in range(1, x + 1):
		if k % j == 0 and k // j < x and (j * k > x):
			h = j
			g = k
			flag = True
			break
			break
if flag == True:
	print('{} {}'.format(g, h))
else:
	print('-1')


import sys
from math import floor, ceil
input = sys.stdin.readline
n = int(input())
found = False
for a in range(1, n + 1):
	for b in range(1, a + 1):
		if a % b == 0 and a * b > n and (a / b < n):
			found = True
			ans = (a, b)
			break
if found:
	print(' '.join([str(x) for x in ans]))
else:
	print(-1)


n = int(input())
if n == 1:
	print(-1)
else:
	print('%d %d' % (n, n))


x = int(input())
z = False
if x > 1:
	print(str(x) + ' ' + str(x))
	z = True
if z == False:
	print(-1)


from sys import stdin
import math
x = int(stdin.readline().strip())
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if j % i == 0 and j * i > x and (j // i < x):
			print(j, i)
			exit()
print(-1)


n = int(input())
a = []
b = []
flag = 0
for i in range(1, n + 1):
	a.append(i)
	b.append(i)
for i in a:
	for j in b:
		if i % j == 0 and i * j > n and (i // j < n):
			print(i, j)
			flag += 1
			break
	if flag > 0:
		break
if flag == 0:
	print('-1')


x = int(input())
f = 0
for i in range(1, x + 1):
	if f == 1:
		break
	for j in range(1, x + 1):
		if (i % j == 0 or j % i == 0) and i * j > x and (i / j < x):
			f = 1
			print(max(i, j), min(i, j))
			break
if f == 0:
	print('-1')


n = int(input())
flag = 0
for a in range(1, n + 1):
	for b in range(1, n + 1):
		if b % a == 0 and a * b > n and (a // b < n):
			flag = 1
			print(b, a)
			break
	if flag == 1:
		break
if flag == 0:
	print(-1)


def cal(x):
	for b in range(1, x + 1):
		for a in range(b, x + 1):
			if a % b == 0 and a * b > x and (a / b < x):
				return [a, b]
	return [-1]
y = int(input())
c = cal(y)
if len(c) > 1:
	print(c[0], c[1])
else:
	print(c[0])


def x_x(x):
	print(x, ' ', x)
x = int(input())
if x == 1:
	print('-1')
elif 1 < x and x <= 100:
	x_x(x)


def chk(x):
	for a in range(x):
		for b in range(x):
			a = a + 1
			b = b + 1
			if a % b == 0 and a * b > x and (a / b < x):
				print(str(a) + str(' ') + str(b))
				return True
x = int(input())
if not chk(x):
	print(-1)


q = int(input())
if q == 1:
	print(-1)
	exit()
ans = q - q % 2
print(str(ans) + ' ' + str(2))


n = int(input())
if n == 2 or n == 3:
	print(2, 2)
	exit()
elif n == 4:
	print(4, 2)
	exit()
lisofij = []
for i in range(n):
	for j in range(n):
		if i >= 1 and j >= 1 and (i <= n) and (j <= n) and (i % j == 0) and (i * j > n) and (i // j < n):
			lisofij.append(i)
			lisofij.append(j)
if len(lisofij) <= 3:
	print(-1)
	exit()
print(lisofij[0], lisofij[1])


def mainA():
	n = int(input())
	if n == 1:
		print(-1)
	else:
		print(n, n)
mainA()


num = int(input())
a = -1
b = -1
if 1 < num <= 100:
	print(str(num) + ' ' + str(num))
else:
	print(-1)


def f(x):
	for a in range(1, x + 1):
		for b in range(1, a + 1):
			if a % b == 0 and a * b > x and (a // b < x):
				return (a, b)
	return None
x = int(input())
ans = f(x)
if ans is None:
	print(-1)
else:
	print(ans[0], ans[1])


inp = int(input())
not_possible = 1
for a in range(1, inp + 1):
	for b in range(1, a + 1):
		temp = 0
		if a % b == 0:
			temp = temp + 1
		if a * b > inp:
			temp = temp + 1
		if a / b < inp:
			temp = temp + 1
		if temp == 3:
			print(a, b)
			not_possible = 0
			break
	if not_possible == 0:
		break
if not_possible == 1:
	print(-1)


n = input()
if n == '1':
	print(-1)
else:
	print(n, n)


x = int(input())
flag = 0
for _ in range(x // 2, x + 1):
	for i in range(1, x + 1):
		if _ * i > x and _ // i < x and (_ % i == 0):
			print(_, i)
			flag = 1
			break
	if flag == 1:
		break
if flag == 0:
	print('-1')


x = eval(input())
if x == 1:
	print(-1)
elif x == 2:
	print(2, ' ', 2)
else:
	print(x - 1, ' ', x - 1)


from bisect import bisect_right
from bisect import bisect_left
from collections import defaultdict
from math import sqrt, factorial, gcd, log2, inf, ceil
import sys
input = sys.stdin.readline
x = int(input())
a = -1
b = -1
for i in range(500):
	for j in range(500):
		if i * j > x and i % j == 0 and (i // j < x):
			a = i
			b = j
			print(a, b)
			exit()
print(-1)


import sys
n = int(input())
for j in range(int(n / 2), n + 1):
	for i in range(int(j / 2) + 1, 0, -1):
		if j * i <= n or j / i >= n:
			continue
		if j % i == 0:
			print(j, i)
			sys.exit(0)
print(-1)


x = int(input())
resp = []
achou = False
for i in range(1, x + 1):
	a = i
	for e in range(1, i + 1):
		if a % e == 0 and a * e > x and (a / e < x):
			resp.append(str(a))
			resp.append(str(e))
			achou = True
			break
	if achou:
		print(' '.join(resp))
		break
if not achou:
	print(-1)


s = int(input())
flag = 0
for i in range(1, s + 1):
	for j in range(1, s + 1):
		(a, b) = (i, j)
		if a % b == 0:
			if a * b > s:
				if a / b < s:
					print(a, b)
					flag = 1
					break
				else:
					flag = 0
			else:
				flag = 0
		else:
			flag = 0
	if flag == 1:
		break
if flag == 0:
	print(-1)


import os
import time
flag = False
x = int(input())
if 100 < x or x < 1:
	print('El numero seleccionado está fuera del rango especificado.')
	time.sleep(5)
	os._exit(0)
for i in range(1, x + 1):
	for j in range(i, x + 1):
		if j / i % 1 == 0 and i * j > x and (i / j < x):
			print(str(j) + ' ' + str(i))
			flag = True
			break
	if flag:
		break
if not flag:
	print(-1)


x = int(input())
check = 0
for i in range(1, x + 1):
	b = i
	for j in range(i, x + 1):
		a = j
		if a % b == 0 and a * b > x and (a / b < x):
			print(a, b)
			check = 1
			break
	if check == 1:
		break
if check == 0:
	print(-1)


def fun(a):
	for i in range(1, p + 1):
		for j in range(p, 0, -1):
			if i % j == 0 and i * j > a and (i / j < a):
				print(i, j)
				return
	print('-1')
p = int(input())
fun(p)


n = int(input())
l = []
if n > 3:
	if n % 2 == 0:
		l.append(n)
		l.append(n // 2)
	else:
		l.append(n - 1)
		l.append((n - 1) // 2)
elif n == 2 or n == 3:
	l.append(2)
	l.append(2)
else:
	l.append(-1)
for j in l:
	print(j, end=' ')


from sys import exit

def rint():
	return int(input())

def rints():
	return [int(s) for s in input().split(' ')]
x = rint()
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if a % b != 0:
			continue
		if a * b <= x:
			continue
		if a / b >= x:
			continue
		print(f'{a} {b}')
		exit(0)
print(-1)


x = int(input())
c = 0
for i in range(x + 1):
	if i == 0:
		continue
	for j in range(x + 1):
		if j == 0:
			continue
		if j % i == 0:
			if j * i > x:
				if j / i < x:
					print(j, i)
					c += 1
					break
	if c == 1:
		break
if c == 0:
	print(-1)


x = int(input())
found = False
if x == 2:
	print
for i in range(2, x):
	c = x // i
	if i ** 2 * c > x:
		print(i * c, ' ', i)
		found = True
		break
if x == 2:
	print('2 2')
elif not found:
	print(-1)


n = int(input()) + 1
b = 0
for i in range(1, n):
	if b:
		break
	for j in range(i, n):
		if j % i == 0 and j * i > n - 1 and (j / i < n - 1):
			print(j, i)
			b = 1
			break
if not b:
	print(-1)


import math

def get_num():
	return list(map(int, input().rstrip().split()))

def rotate(my_list, num):
	return my_list[num:] + my_list[:num]

def main():
	num = int(input())
	if num == 1:
		print(-1)
	else:
		print(num - num % 2, 2)
main()
10 % 2


n = int(input())

def f(n):
	a = []
	for i in range(1, n + 1):
		for j in range(1, i + 1):
			if i % j == 0 and i * j > n and (i // j < n):
				a = [i, j]
				return a
	return a
if n == 1:
	print(-1)
else:
	a = f(n)
	if a == []:
		print(-1)
	else:
		print(a[0], a[1])


x = int(input())
b = 1
a = 1
vega = 0
vegb = 0
while a <= x:
	while b <= a:
		if a % b == 0:
			if a * b > x and a // b < x:
				vega = a
				vegb = b
		b = b + 1
	b = 1
	a = a + 1
if vega == 0 or vegb == 0:
	print('-1')
else:
	print(vega, vegb)


import math
x = int(input())
arr = []
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i * j > x and i % j == 0 and (i // j < x):
			arr = [i, j]
if arr == []:
	print(-1)
else:
	print(*arr)


x = int(input())
l = True
for b in range(1, x + 1):
	for a in range(b, x + 1):
		if a % b == 0 and a * b > x and l:
			print(a, b)
			l = False
if l:
	print(-1)


x = int(input())
if x < 2:
	print(-1)
else:
	if x % 2 == 0:
		a = x
	else:
		a = x - 1
	print(a, 2)


val = False
x = int(input())
if x == 1:
	print(-1)
else:
	if x % 2 == 0:
		i = 2
	else:
		i = 1
	for a in range(i, x + 1, 2):
		for b in range(i, x + 1, 2):
			if a % b == 0 and a * b > x:
				print(a, b)
				val = True
				break
		if val == True:
			break


t = int(input())
c = 0
for i in range(t, 1, -1):
	for j in range(1, t + 1):
		if i % j == 0 and i * j > t and (i // j < t):
			print(i, end=' ')
			print(j)
			c = 1
			break
	if c == 1:
		break
if c == 0:
	print('-1')


x = int(input())
outp = ''
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i % j == 0 and i * j > x and (outp == ''):
			outp = str(i) + ' ' + str(j)
if outp == '':
	outp = '-1'
print(outp)


x = int(input())

def main():
	for b in range(1, x + 1):
		for a in range(b, x + 1):
			if a % b != 0 or a * b <= x or a / b >= x:
				continue
			print(a, b)
			return
	print(-1)
	return
main()


import sys
import math
input = sys.stdin.readline
x = int(input())
flag = 0
for a in range(1, 101):
	for b in range(1, a + 1):
		if a % b == 0:
			if a * b > x and int(a / b) < x:
				print(a, b)
				flag = 1
				break
	if flag == 1:
		break
if flag == 0:
	print(-1)


try:
	x = int(input())
	a = b = -1
	flag = 0
	for each_a in range(1, x + 1, 1):
		if flag == 0:
			for each_b in range(1, each_a + 1):
				if each_a % each_b == 0:
					if each_b * each_a > x:
						if a / b < x and flag == 0:
							flag = 1
							print(each_a, each_b)
							break
	if flag == 0:
		print(flag - 1)
except:
	pass


x = int(input())
q = None
r = None
for b in range(2, x + 1):
	for a in range(b, x + 1, b):
		if a * b > x and a // b < x:
			q = a
			r = b
			break
	if q and r:
		break
if q and r:
	print(q, r)
else:
	print(-1)


def myfunc(a, b):
	while a <= n:
		b = int(1)
		while b <= n:
			if a % b == 0 and a * b > n and (a / b < n):
				print(str(a) + ' ' + str(b))
				return
			b += 1
		a += 1
n = int(input())
if n != 1:
	a = int(1)
	b = int(1)
	myfunc(a, b)
else:
	print(-1)


x = int(input())
res = []
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i <= x and j <= x and (i * j > x) and (i // j < x) and (i % j == 0):
			res.append((i, j))
if len(res) == 0:
	print(-1)
else:
	print(res[0][0], res[0][1])


n = int(input())
a = 2
if n % 2 == 0:
	b = n
else:
	b = n - 1
if a == 0 or b == 0:
	print(-1)
else:
	print(b, a)


x = int(input())
if x == 1:
	print(-1)
	exit()
for i in range(2, 101):
	if x % i == 0:
		p = i
		break
print(x, i)


x = int(input())
lista = []
saida = []
for i in range(x):
	lista.append(i + 1)
for a in range(len(lista)):
	for b in range(len(lista)):
		if (lista[a] * lista[b] > x) & (lista[a] % lista[b] == 0) & (lista[a] / lista[b] < x):
			saida.append(lista[a])
			saida.append(lista[b])
if len(saida) == 0:
	print(-1)
else:
	print(saida[0], saida[1])


import math
x = int(input())
if x == 1:
	print(-1)
else:
	print(x, x)


import math

def otra(x):
	if (math.floor(x / 2) + 1) % 2 == 0:
		print(str(math.floor(x / 2) + 1) + ' 2')
	else:
		print(str(math.floor(x / 2) + 2) + ' 2')
	return
x = int(input())
if x == 1:
	print('-1')
elif 1 < x and x <= 100:
	otra(x)


n = int(input())
if n == 1:
	print(-1)
elif n == 2:
	print(2, 2)
elif n == 4:
	print(4, 2)
else:
	b = 2
	if n % 2 == 0:
		a = n - 2
	else:
		a = n - 1
	print(a, b)


Val = int(input())
if Val == 1:
	print(-1)
elif (int(Val / 2) + 1) % 2 == 0:
	print(int(Val / 2) + 1, 2)
else:
	print(int(Val / 2) + 2, 2)


n = int(input())
c = 0
for a in range(1, n + 1):
	for b in range(1, n + 1):
		if a % b == 0:
			if a * b > n:
				if a // b < n:
					print(str(a) + ' ' + str(b))
					c = 1
					break
	if c == 1:
		break
if c == 0:
	print(-1)


n = int(input())
if n > 1:
	print(n - n % 2, 2, sep=' ')
else:
	print(-1)


x = int(input())
m = 0
for i in range(x, 1, -1):
	for j in range(2, i + 1, 1):
		if i % j == 0:
			if i * j > x:
				if i / j < x:
					m = 1
					break
	if m == 1:
		break
if m == 1:
	print(i, j)
else:
	print(-1)


import sys
x = int(input())
if x == 1:
	print(-1)
elif x % 2 == 0:
	print(x, 2)
else:
	print(x - 1, 2)


x = int(input())
if x < 2:
	print(-1)
	exit()
elif x == 2:
	print(2, 2)
else:
	print(x - 1, x - 1)


def solve(n):
	if n == 1:
		return -1
	if n == 2:
		return '2 2'
	if n == 3:
		return '2 2'
	if n % 2:
		return str(n - 1) + ' ' + str((n - 1) // 2)
	return str(n) + ' ' + str(n // 2)
n = int(input())
print(solve(n))


x = int(input())
if x == 1:
	print(-1)
elif x % 2 == 0:
	(a, b) = (x, 2)
	print(a, b)
else:
	(a, b) = (x - 1, 2)
	print(a, b)


def main():
	n = int(input())
	for i in range(1, n + 1):
		for j in range(1, n + 1):
			if i % j == 0 and i * j > n and (i / j < n):
				print(i, j)
				return
	print(-1)
main()


import math
n = int(input())
if n == 1:
	print(-1)
else:
	print(str(n) + ' ' + str(n))


x = int(input())
ret = '-1'
if x < 1 or x > 100:
	x = 1
for a in range(1, x + 1):
	for b in range(1, x + 1):
		if (1 <= a and a <= x) and (1 <= b and b <= x) and (a % b == 0) and (a * b > x) and (a / b < x):
			ret = str(a) + ' ' + str(b)
			break
print(ret)


n = int(input())
flag = False
for i in range(1, 1001):
	for j in range(1, 1001):
		if j % i == 0:
			if j * i > n and j // i < n:
				print(j, i)
				flag = True
				break
	if flag:
		break
if flag == False:
	print(-1)


import math
x = int(input())
if x == 1:
	print(-1)
elif x == 2:
	print('2 2')
elif x == 3:
	print('2 2')
else:
	b = int(math.sqrt(x / 2)) + 1
	a = 2 * b
	print(a, b)


def mp():
	return list(map(int, input().split()))

def main():
	x = int(input())
	if x == 1:
		print(-1)
	else:
		print(x, x)
main()


def is_valid(a, b, x):
	return not a % b and a * b > x and (a / b < x)

class CodeforcesTask1088ASolution:

	def __init__(self):
		self.result = ''
		self.x = 0

	def read_input(self):
		self.x = int(input())

	def process_task(self):
		aa = 0
		bb = 0
		found = False
		for a in range(1, self.x + 1):
			for b in range(1, self.x + 1):
				if is_valid(a, b, self.x):
					aa = a
					bb = b
					found = True
					break
			if found:
				break
		if aa * bb:
			self.result = '{0} {1}'.format(aa, bb)
		else:
			self.result = '-1'

	def get_result(self):
		return self.result
Solution = CodeforcesTask1088ASolution()
Solution.read_input()
Solution.process_task()
print(Solution.get_result())


from sys import stdin, stdout
from math import sin, tan, cos, pi, atan2, sqrt, acos, atan, factorial
n = int(stdin.readline())
label = 0
for a in range(1, n + 1):
	if label:
		break
	for b in range(1, a + 1):
		if a % b == 0 and a * b > n and (a // b < n):
			stdout.write(str(a) + ' ' + str(b))
			label = 1
			break
if not label:
	stdout.write('-1\n')


x = int(input())
for i in range(1, x + 1):
	for j in range(i, x + 1):
		if i % j == 0:
			if i * j > x:
				if int(i / j) < x:
					print('{} {}'.format(i, j))
					exit()
print('-1')


x = int(input())
missing = True
for a in range(1, 100):
	if missing:
		for b in range(1, 100):
			if missing:
				if a % b == 0:
					if a * b > x:
						if a / b < x:
							print(a, b)
							missing = False
if missing:
	print(-1)


def answer():
	a = int(input())
	if a == 1:
		print(-1)
	else:
		print(str(a) + ' ' + str(a))
answer()


from sys import stdin, stdout
from itertools import combinations
from collections import defaultdict, OrderedDict
import math
import heapq

def listIn():
	return list(map(int, stdin.readline().strip().split()))

def stringListIn():
	return [x for x in stdin.readline().split()]

def intIn():
	return int(stdin.readline())

def stringIn():
	return stdin.readline().strip()
x = intIn()
flag = False
for i in range(1, x + 1):
	for j in range(1, x + 1):
		if i * j > x and i % j == 0 and (i // j < x):
			print(i, j)
			flag = True
			break
	if flag:
		break
if not flag:
	print(-1)


value = int(input())

def function(x):
	a = x
	b = 1
	while True:
		if a == 1:
			return -1
		if a * b > x:
			if a % b == 0:
				return (a, b)
			else:
				a -= 1
		else:
			b += 1
result = function(value)
if type(result) is int:
	print(result)
else:
	print(*result)


def main():
	x = int(input())
	for i in range(1, x + 1):
		for j in range(i, x + 1):
			if j % i != 0:
				continue
			elif i * j <= x:
				continue
			elif int(j / i) >= x:
				continue
			else:
				print(j, i)
				return
	print('-1')
main()


a = int(input())
t = 0
for i in range(1, a + 1):
	if t == 9:
		break
	for j in range(1, a + 1):
		if j % i == 0 and j * i > a and (j / i < a):
			print(j, end=' ')
			print(i, end=' ')
			t = 9
			break
if t != 9:
	print('-1')