203018 - 最大子序列模值

从 n 个数中任意挑选一些数(可以一个都不选),把它们加起来,然后对 m 取余数。 问这个余数最大能是多少?

输入

第一行包含两个整数 n 和 m(1 ≤ n ≤ 35,1 ≤ m ≤ 10^9)。 第二行包含 n 个整数 a1, a2, …, an(1 ≤ ai ≤ 10^9)。

输出

输出可能取得的最大值。

样例

输入

4 4
5 2 4 1

输出

3

输入

3 20
199 41 299

输出

19

提示

在第一个样例中,可以选择序列 b = {1, 2},相加的和模 4 之后为 3,其值最大。 在第二个样例中,可以选择序列 b = {3}。

时间限制 1 秒
内存限制 128 MB
统计
上一题 下一题