#CF2082B. 向下取整或向上取整

向下取整或向上取整


B. 向下取整或向上取整

每次测试的时间限制:1 秒
内存限制:512 MB

Ecrade 有一个整数 xx。有两种操作:

  1. xx替换为 x2\left\lfloor \frac{x}{2} \right\rfloor,其中 x2\left\lfloor \frac{x}{2} \right\rfloor 是小于等于 x2\frac{x}{2} 的最大整数(向下取整)。
  2. xx 替换为x2\left\lceil \frac{x}{2} \right\rceil,其中 x2\left\lceil \frac{x}{2} \right\rceil 是大于等于 x2\frac{x}{2} 的最小整数(向上取整)。

Ecrade 将会恰好执行nn 次第一种操作和 mm 次第二种操作,操作的顺序可以任意安排。
他想知道,经过n+mn + m 次操作后,xx 可能的最小值和最大值分别是多少。
不过这个问题似乎有点难,所以请你来帮帮他!


输入

每个测试点包含多个测试用例。
第一行包含一个整数tt1t1041 \le t \le 10^4),表示测试用例的数量。
接下来每个测试用例一行,包含三个整数 x,n,mx, n, m0x,n,m1090 \le x, n, m \le 10^9)。


输出

对于每个测试用例,在一行中输出两个整数,分别表示经过 n+mn + m 次操作后xx 可能的最小值和最大值。


示例

输入

5
12 1 2
12 1 1
12 0 0
12 1000000000 1000000000
706636307 0 3

输出

1 2
3 3
12 12
0 0
88329539 88329539

提示

为简单起见,我们称第一种操作为 操作 1(向下取整),第二种操作为 操作 2(向上取整)。

  • 第一个测试用例:
    若依次执行:$12 \xrightarrow{\text{操作 2}} 6 \xrightarrow{\text{操作 2}} 3 \xrightarrow{\text{操作 1}} 1$,得到最小值 11
    若依次执行:$12 \xrightarrow{\text{操作 2}} 6 \xrightarrow{\text{操作 1}} 3 \xrightarrow{\text{操作 2}} 2$,得到最大值 22

  • 第二个测试用例:
    无论顺序如何,结果都是 33

  • 第三个测试用例:
    没有操作,结果保持为1212

  • 第四个测试用例:
    操作次数非常多,最终会归零。

  • 第五个测试用例:
    只做向上取整操作,最终结果是固定的。