#64246. 猜数

猜数

暂无测试数据。

题目描述

小 L 和小 Z 在玩猜数游戏。具体来说,每一次游戏的过程如下:

  1. 小 L 在心里想两个数 $a$ 和 $b$($0\le a\le b\le 10^{18}$)。
  2. 小 L 计算出 $a+b$ 和 $a^3+b^3$ 的值并告诉小 Z。注意小 Z 知道哪个是 $a+b$,哪个是 $a^3+b^3$。
  3. 小 Z 猜出了 $a$ 和 $b$。

小 Z 的正确率是 $100\%$。请你也试一试。

输入格式

本题单测试点包含多组数据。

第一行一个数 $T$,表示数据组数。

对于每组数据,输入一行共两个整数 $x$、$y$,依次表示 $a+b$ 和 $a^3+b^3$。

输出格式

对于每组数据,输出一行共两个整数,表示你求出的 $a$ 和 $b$($0\le a\le b\le 10^{18}$),用空格隔开。

若无解,输出 -1 -1。若有多解,输出 $a$ 更小的;若 $a$ 相同,输出 $b$ 更小的。

数据范围及约定

对于 $100\%$ 的数据,保证 $T\le 10^5$,$0\le x,y\le 10^{18}$。

本题共 $10$ 个测试点,各测试点限制如下:

测试点编号 $x,y\le $ 特殊性质
$1 \sim 3$ $10^6$ 保证 $T\le 10^3$
$4\sim 5$ $10^{12}$
$6\sim 7$ $10^{18}$ 保证一定存在解
$8\sim 10$ $10^{18}$
$11\sim 15$ $10^{18}$ 保证 $T=1$,且 $1\leq a,b\leq 10^3$
$16\sim 20$ $10^{18}$ 保证 $T=1$,且 $1\leq a,b\leq 99999$
2
4 28
2 3
1 3
-1 -1