human
Can you solve the below in PYTHON3?
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} ≤ l < r ≤ 10^{18} and l + (l + 1) + … + (r - 1) + r = n.

Input

The first line contains a single integer t (1 ≤ t ≤ 10^4) — the number of test cases.

The first and only line of each test case contains a single integer n (1 ≤ n ≤ 10^{18}).

Output

For each test case, print the two integers l and r such that -10^{18} ≤ l < r ≤ 10^{18} and l + (l + 1) + … + (r - 1) + r = n. 

It can be proven that an answer always exists. If there are multiple answers, print any.

Example

Input

7
1
2
3
6
100
25
3000000000000

Output

0 1
-1 2 
1 2 
1 3 
18 22
-2 7
999999999999 1000000000001

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.
 Can you provide a Python program to find two integers l and r such that -10^{18} ≤ l < r ≤ 10^{18} and l + (l + 1) + … + (r - 1) + r = n?
assistant
#Here is Python program to find two integers l and r such that -10^{18} ≤ l < r ≤ 10^{18} and l + (l + 1) + … + (r - 1) + r = n.

from collections import Counter, defaultdict,deque
from sys import stdin,stdout
from heapq import heapify,heappop,heappush
import io , os , sys
#input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
input = stdin.readline
from collections import OrderedDict
from bisect import bisect_left , bisect_right
 
 
 
mod = 10 **9 + 7
 
def mapinput():
    return  map(int, input().split())
 
def listinput():
    return [int(i) for i in input().split()]
 
def intinput():
    return int(input())
 
def strinput():
    return input().strip()
 
def SieveOfEratosthenes(n):
    prime = [True for i in range(n + 1)]
    p = 2
    while (p * p <= n):
        if (prime[p] == True):
            for i in range(p * 2, n + 1, p):
                prime[i] = False
        p += 1
    prime[0]= False
    prime[1]= False
    ans = []
    for p in range(n + 1):
        if prime[p]:
            ans.append(p)
    return ans
 
def writ(ss):
    stdout.write(str(ss) + "\n")
 
def mult(a , b, mod):
    return ((a% mod) * (b%mod) ) % mod
 
# def binn(arr , val):
#     low = 0
#     high = len(arr) -1 
#     while low<= high:
        
#         mid = (low + high) >> 1 
#         #print(low , high , mid , arr[mid] , val)
#         if arr[mid] == val:
#             return [mid]
#         elif arr[mid] < val:
#             low = mid + 1 
#         else:
#             high = mid -1
        
#         aa = [low , high]
#         for i in range(-2,2):
#             if 0 <= mid + i < len(arr) :
#                 aa.append(mid+i)
#         aa = set(aa)
#         return aa
 
 
for test in range(intinput()):
    def solve():
        n = intinput()
        return (-n +1, n )
    print(*solve())