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: import java.util.*;
  import java.io.*;
  
  public class Solution {
  
      public static void main(String[] args) throws IOException {
  
          BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  
          int t = Integer.parseInt(br.readLine());
  
          BufferedWriter output = new BufferedWriter(new OutputStreamWriter(System.out));
  
          StringTokenizer st;
  
          while (t-- > 0) {
  
              long a = Long.parseLong(br.readLine());
              long b1 = a - 1;
              b1*=-1;
  
              output.write(b1 + " " + a + "\n");
  
              // int n = Integer.parseInt(br.readLine());
  
              // st = new StringTokenizer(br.readLine());
  
              // int arr[] = new int[n];
  
              // for(int i = 0; i < n; i++)
              // {
              // int e = Integer.parseInt(st.nextToken());
              // arr[i] = e;
              // }
  
              // int k = Integer.parseInt(st.nextToken());
  
              // char arr[] = br.readLine().toCharArray();
  
              // output.write();
              // int n = Integer.parseInt(st.nextToken());
  
              // HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  
              // if
              // output.write("YES\n");
              // else
              // output.write("NO\n");
  
              // long b = Long.parseLong(st.nextToken());
  
              // if(flag == 1)
              // output.write("NO\n");
              // else
              // output.write("YES\n" + x + " " + y + " " + z + "\n");
  
              // output.write(n+ "\n");
  
          }
  
          output.flush();
  
      }
  
  }