从 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}。