小美有一个长度为 的数组 ,他希望构造一个非负整数 ,满足 的二进制位数不超过数组中最大值的二进制位数(特别的 二进制位数为 )。 随后,可对数组 重复进行以下操作,以使所有元素的总和最大: 选择一个下标 ,同时将 修改为 ,将 修改为 。 在使元素总和达到最大值的前提下,要求所有操作前初始的 尽可能小。请输出最大总和及对应的最小 。 按位或: 表示按位或运算,即对两个整数的二进制表示的每一位进行逻辑或操作。 按位与: 表示按位与运算,即对两个整数的二进制表示的每一位进行逻辑与操作。
输入描述:
每个测试文件均包含多组测试数据。 第一行输入一个整数 ,代表数据组数; 对于每组测试数据,输入如下: 第一行输入一个整数 ,表示数组的长度; 第二行输入 个整数 ,表示数组 的元素。


输出描述:
对于每组测试数据,新起一行。输出两个整数,用空格分隔:第一个整数为数组可以达到的最大总和;第二个整数为在达到最大总和的前提下初始最小的 。
示例1

输入

2
2
3 3
3
1 2 3

输出

6 0
9 3
加载中...