big

big

Background

Description

你需要在[0,2^n)中选一个整数 x,接着把 x 依次异或 m 个整数a1~am。
在你选出 x 后,你的对手需要选择恰好一个时刻(刚选完数时、异或一些数后或是最后),将 x 变为(⌊2𝑥 2𝑛 ⌋ + 2𝑥)mod 2𝑛。
你想使 x 最后尽量大,而你的对手会使 x 最后尽量小。
你需要求出 x 最后的最大值,以及得到最大值的初值数量。

Format

Input

第一行两个整数 n,m。第二行 m 个整数 a1~am

Output

第一行输出一个整数,表示 x 最后的最大值。
第二行输出一个整数,表示得到最大值的初值数量。

Sample

Input

2 3
1 2 3

Output

1
2

Explanation

x=0 时得到 0,x=1 时得到 1,x=2 时得到 1,x=3 时得到 0。

Limitation

对于 20%的数据,n<=10,m<=100。
对于 40%的数据,n<=10,m<=1000。
对于另外 20%的数据,n<=30,m<=10。
对于 100%的数据 n<=30,m<=100000,0<=ai<2^n。
1s, 256000KiB for each test case.

Hint

Source

CDQZ TEST

信息

难度
9
分类
Trie树 点击显示
标签
递交数
1
已通过
1
通过率
100%
上传者