Description
小V 是个喜欢位运算的女孩子。
今天,她需要计算 n 个整数的异或和 a1⊕a2⊕⋯⊕an。
为了更方便地计算,她决定先将式子抄写到草稿纸上。但在抄写到某个符号的时候,她的圆珠笔突然没水了!于是,恰好一个异或符号 ⊕ 被抄成了加法符号 +。
可怜的 小V 并没有注意到这一点,她仍然按照从左到右的方式计算了式子的值,也就是 ((((((a1⊕a2)⊕a3)⊕⋯)+ax)⊕ax+1)⊕⋯)⊕an。
现在她决定将错就错:她希望你算出所有可能的算式的最小值和最大值,来帮她检查她是否还在计算中犯了更多的错误。
Input
第一行输入一个整数 n。
第二行输入 n 个整数 ai。
Output
输出一行两个整数,分别代表可能得到结果的最小值和最大值。
HINT
样例二:
输入:
6
1 1 4 5 1 4
输出
4 12