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 codeforceb
  {
  	public static int find(String a,String b) {
  		int count=0;
  		int i=a.length()-1,j=b.length()-1;
  		while(i>=0 && j>=0) {
  			if(a.charAt(i)==b.charAt(j)) {
  				i--;j--;
  			}
  			else {count++;i--;}
  		}
  		if(j==-1)
  			return count;
  		
  		return 321311;
  	}
  	public static void main (String[] args) throws java.lang.Exception
      {
  		 /*Arrays.sort(time,new Comparator<Pair>(){
   			public int compare(Pair p1,Pair p2){
   				if(p1.a==p2.a)
   					return p1.b-p2.b;
   				return p1.a-p2.a;
   			}
   		});*/
  	//	Set<Integer> st1=new HashSet<Integer>();
  		//ArrayList<Integer> arr2=new ArrayList<Integer>();
  		//ArrayList<Integer> arr1=new ArrayList<Integer>();
          
      //  Map<Integer,Integer> hm=new HashMap<Integer,Integer>();
  		PrintWriter out=new PrintWriter(System.out);
  		FastReader sc = new FastReader();
          int t=sc.nextInt();
          Map<String,Integer> hm=new HashMap<>();
          int  i,j,a,b,c,d,k,m,n;
          long count=0,sum1=0,sum=0,min,max;
          String s="",s1="",s2="";
          //int r[][]= {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}
          	//			};
          
          while(t-->0) 
          {
          	sum=sc.nextLong();
          	if(sum==1) {
          		out.println("0 1");
          	}else
          	out.println("-"+(sum-1)+" "+sum);
          }
         
          out.close();
      }
  	
  	
  		
  		
  	
  	
  	
      static class FastReader 
      { 
          BufferedReader br; 
          StringTokenizer st; 
    
          public FastReader() 
          { 
              br = new BufferedReader(new
                       InputStreamReader(System.in)); 
          } 
          int[] readArray(int n) {
  			int[] a=new int[n];
  			for (int i=0; i<n; i++) a[i]=nextInt();
  			return a;
  		}
          String next() 
          { 
              while (st == null || !st.hasMoreElements()) 
              { 
                  try
                  { 
                      st = new StringTokenizer(br.readLine()); 
                  } 
                  catch (IOException  e) 
                  { 
                      e.printStackTrace(); 
                  } 
              } 
              return st.nextToken(); 
          } 
    
          int nextInt() 
          { 
              return Integer.parseInt(next()); 
          } 
    
          long nextLong() 
          { 
              return Long.parseLong(next()); 
          } 
    
          double nextDouble() 
          { 
              return Double.parseDouble(next()); 
          } 
    
          String nextLine() 
          { 
              String str = ""; 
              try
              { 
                  str = br.readLine(); 
              } 
              catch (IOException e) 
              { 
                  e.printStackTrace(); 
              } 
              return str; 
          } 
      } 
      static class Pair{
      	int a;
      	int b;
      	Pair(int x, int y)
          {
              this.a = x;
              this.b = y;
          }
      }
  	public static int gcd(int a, int b)
  	{
  		if (b == 0)
  	        return a;
  	    return gcd(b, a % b);
  	}
  }