description: 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.
solution: #CA3SAR KA JAADOOO
  from sys import stdin,stdout,setrecursionlimit
  from io import BytesIO, IOBase
  # import math
  # from math import gcd,floor,sqrt,ceil
  # from collections import Counter,deque, defaultdict
  # from itertools import accumulate as acc,permutations as perm
  # from bisect import bisect_left as bl,bisect_right as br,bisect as bis
   
  setrecursionlimit(10000)
   
  class FastIO(IOBase):
      newlines = 0
   
      def __init__(self, file):
          import os
          self.os = os
          self._fd = file.fileno()
          self.buffer = BytesIO()
          self.writable = "x" in file.mode or "r" not in file.mode
          self.write = self.buffer.write if self.writable else None
          self.BUFSIZE = 8192
   
      def read(self):
          while True:
              a = self.os.read(self._fd, max(self.os.fstat(self._fd).st_size, self.BUFSIZE))
              if not a:
                  break
              ptr = self.buffer.tell()
              self.buffer.seek(0, 2), self.buffer.write(a), self.buffer.seek(ptr)
          self.newlines = 0
          return self.buffer.read()
   
      def readline(self):
          while self.newlines == 0:
              a = self.os.read(self._fd, max(self.os.fstat(self._fd).st_size, self.BUFSIZE))
              self.newlines = a.count(b"\n") + (not a)
              ptr = self.buffer.tell()
              self.buffer.seek(0, 2), self.buffer.write(a), self.buffer.seek(ptr)
          self.newlines -= 1
          return self.buffer.readline()
   
      def flush(self):
          if self.writable:
              self.os.write(self._fd, self.buffer.getvalue())
              self.buffer.truncate(0), self.buffer.seek(0)
   
   
  class IOWrapper(IOBase):
      def __init__(self, file):
          self.buffer = FastIO(file)
          self.flush = self.buffer.flush
          self.writable = self.buffer.writable
          self.write = lambda s: self.buffer.write(s.encode("ascii"))
          self.read = lambda: self.buffer.read().decode("ascii")
          self.readline = lambda: self.buffer.readline().decode("ascii")
   
   
  stdin, stdout = IOWrapper(stdin), IOWrapper(stdout)
  input = lambda: stdin.readline().rstrip("\r\n")
   
  # inf = float('inf')
  # ninf = float('-inf')
  # abc = 'abcdefghijklmnopqrstuvwxyz'
  inp = lambda: int(input())
  st = lambda: input().strip()
  jn = lambda x,l: x.join(map(str,l))
  int_arr = lambda : list(map(int,input().strip().split()))
  str_arr = lambda :list(map(str,input().split()))
  get_str = lambda : map(str,input().strip().split())
  get_int = lambda: map(int,input().strip().split())
  get_float = lambda : map(float,input().strip().split())
   
  mod = 1000000007
  
  for _ in range(inp()):
      n=inp()
      print(-(n-1),n)