给你一个有 n 个非负整数组成的数组 a ,你需要选择一个非负整数 x,对数组 a 的每一个 ai 与 x 进行异或后形成新的数组 b,要求 b 数组的逆序对个数最小,如果有多个 x 满足条件,输出最小的 x。
一个逆序对指 b 数组内对于整数 i,j 满足条件 1≤i<j≤n 且 bi>bj 。
输入格式
第一行一个正整数 n 。
接下来一行 n 个非负整数 a1,a2,…,an。
输出格式
两个数:b 数组的最小逆序对数和此时 x 的最小值。
样例输入#1
4
0 1 3 2
样例输出#1
1 0
样例输入#2
9
10 7 9 10 7 5 5 3 5
样例输出#2
4 14
样例输入#3
3
8 10 3
样例输出#3
0 8
数据范围
1≤n≤3⋅105 ,0≤ai≤109