Consecutive Sum Riddle (Codeforces 1594A)
Tags: Math, math

Theofanis has a riddle for you and if you manage to solve it, he will give you a Cypriot snack halloumi for free (Cypriot cheese).You are given an integer $$$n$$$. You need to find two integers $$$l$$$ and $$$r$$$ such that $$$-10^{18} \le l < r \le 10^{18}$$$ and $$$l + (l + 1) + \ldots + (r - 1) + r = n$$$.

Input: The first line contains a single integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases.The first and only line of each test case contains a single integer $$$n$$$ ($$$1 \le n \le 10^{18}$$$).

Output: For each test case, print the two integers $$$l$$$ and $$$r$$$ such that $$$-10^{18} \le l < r \le 10^{18}$$$ and $$$l + (l + 1) + \ldots + (r - 1) + r = n$$$. It can be proven that an answer always exists. If there are multiple answers, print any.

Note: In the first test case, $$$0 + 1 = 1$$$.In the second test case, $$$(-1) + 0 + 1 + 2 = 2$$$.In the fourth test case, $$$1 + 2 + 3 = 6$$$.In the fifth test case, $$$18 + 19 + 20 + 21 + 22 = 100$$$.In the sixth test case, $$$(-2) + (-1) + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 = 25$$$.

Sample Inputs:
7
1
2
3
6
100
25
3000000000000

Sample Outputs:
0 1
-1 2 
1 2 
1 3 
18 22
-2 7
999999999999 1000000000001

Solution (Python):
for i in [*open(0)][1:]:
    print(1 - int(i), i)

Solution (Python):
for n in [*open(0)][1:]:
    print(1 - int(n), n)

Solution (Python):
t = input('')
test_cases = []
for _ in list(range(int(t))):
    tc = input('')
    test_cases.append(int(tc))
for n in test_cases:
    l = 0 - n + 1
    r = n
    print(str(int(l)) + ' ' + str(int(r)))