Exponential Equation (Codeforces 1787A)
Tags: Math, constructive algorithms

You are given an integer $$$n$$$.Find any pair of integers $$$(x,y)$$$ ($$$1\leq x,y\leq n$$$) such that $$$x^y\cdot y+y^x\cdot x = n$$$.

Input: The first line contains a single integer $$$t$$$ ($$$1\leq t\leq 10^4$$$) — the number of test cases.Each test case contains one line with a single integer $$$n$$$ ($$$1\leq n\leq 10^9$$$).

Output: For each test case, if possible, print two integers $$$x$$$ and $$$y$$$ ($$$1\leq x,y\leq n$$$). If there are multiple answers, print any.Otherwise, print $$$-1$$$.

Note: In the third test case, $$$2^3 \cdot 3+3^2 \cdot 2 = 42$$$, so $$$(2,3),(3,2)$$$ will be considered as legal solutions.In the fourth test case, $$$5^5 \cdot 5+5^5 \cdot 5 = 31250$$$, so $$$(5,5)$$$ is a legal solution.

Sample Inputs:
5
3
7
42
31250
20732790

Sample Outputs:
-1
-1
2 3
5 5
3 13

Solution (Python):
""""""

def i():
    n = int(input())
    if n % 2:
        return '-1\n'
    return f'{n // 2} 1\n'
t = int(input())
a = []
for _ in range(t):
    a.append(i())
print(''.join(a), end='')

Solution (Python):
for n in [*map(int, open(0))][1:]:
    print((f'{n // 2} 1', -1)[n % 2])

Solution (Python):
for m in [*map(int, open(0))][1:]:
    print(*[1, -1, m >> 1][m & 1::2])