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.io.*;
  import java.math.*;
  import java.util.*;
  
  /*
     author : Multi-Thread
  */
  
  public class A {
  //public class Main {
  
  	static int INF = (int) 1e9 + 7;
  	static int MAX = Integer.MAX_VALUE;
  	static int MIN = Integer.MIN_VALUE;
  
  	public static void main(String[] args) {
  
  		int test = fs.nextInt();
  //		int test = 1;
  
  		for (int cases = 0; cases < test; cases++) {
  
  			// solve();
  			System.out.print(solve() + "\n");
  		}
  	}
  
  	static String solve() {
  		long x = fs.nextLong();
  		return (-(x - 1)) + " " + x;
  	}
  
  	static void intSort(int[] a, boolean reverse) {
  		ArrayList<Integer> al = new ArrayList<Integer>();
  		for (int i : a)
  			al.add(i);
  		Collections.sort(al);
  		if (reverse) {
  			for (int i = 0; i < a.length; i++)
  				a[i] = al.get(a.length - i - 1);
  		} else {
  			for (int i = 0; i < a.length; i++)
  				a[i] = al.get(i);
  		}
  	}
  
  	static class Pair {
  		int first, second;
  
  		public Pair(int first, int second) {
  			this.first = first;
  			this.second = second;
  		}
  
  		public String toString() {
  			return "[" + first + "," + second + "]";
  		}
  	}
  
  	static class LongPair {
  		long first;
  		long second;
  
  		LongPair(long a, long b) {
  			this.first = a;
  			this.second = b;
  		}
  
  		public String toString() {
  			return "[" + first + "," + second + "]";
  		}
  	}
  
  	static class FastReader {
  		BufferedReader br;
  		StringTokenizer st;
  
  		public FastReader() {
  			br = new BufferedReader(new InputStreamReader(System.in));
  		}
  
  		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 OutputWriter {
  		private final PrintWriter writer;
  
  		public OutputWriter(OutputStream outputStream) {
  			writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
  		}
  
  		public OutputWriter(Writer writer) {
  			this.writer = new PrintWriter(writer);
  		}
  
  		public void print(Object... objects) {
  			for (int i = 0; i < objects.length; i++) {
  				if (i != 0)
  					writer.print(' ');
  				writer.print(objects[i]);
  			}
  		}
  
  		public void println() {
  			writer.print("\n");
  		}
  
  		public void printLine(Object... objects) {
  			print(objects);
  			writer.println();
  		}
  
  		public void close() {
  			writer.close();
  		}
  
  		public void flush() {
  			writer.flush();
  		}
  
  	}
  
  	private static final FastReader fs = new FastReader();
  	private static final OutputWriter out = new OutputWriter(System.out);
  }