#abc281d. [abc281_d]Max Multiple

[abc281_d]Max Multiple

Problem Statement

给定一个非负整数序列 A=(a1,a2,ldots,aN)A=(a_1,a_2,\\ldots,a_N)

SS 为所有可以由 AAKK 个不同索引位置的数相加得到的非负整数的集合。

找到 SS 中最大的能被 DD 整除的数。如果 SS 中没有能被 DD 整除的数,则输出 -1

约束条件

  • 1leqKleqNleq1001 \\leq K \\leq N \\leq 100
  • 1leqDleq1001 \\leq D \\leq 100
  • 0leqaileq1090 \\leq a_i \\leq 10^9
  • 输入中的所有值都是整数。

输入

输入通过标准输入给出,格式如下:

NN KK DD a1a_1 ldots\\ldots aNa_N

输出

输出一个整数,表示答案。

示例输入 1

4 2 2
1 2 3 4

示例输出 1

6

以下是从 AA 中选择两个数的所有方式:

  • 选择 a1a_1a2a_2,它们的和为 1+2=31+2=3
  • 选择 a1a_1a3a_3,它们的和为 1+3=41+3=4
  • 选择 a1a_1a4a_4,它们的和为 1+4=51+4=5
  • 选择 a2a_2a3a_3,它们的和为 2+3=52+3=5
  • 选择 a2a_2a4a_4,它们的和为 2+4=62+4=6
  • 选择 a3a_3a4a_4,它们的和为 3+4=73+4=7

因此,我们有 S=3,4,5,6,7S=\\{3,4,5,6,7\\}SS 中最大的能被 22 整除的数是 66,因此应该输出 66

示例输入 2

3 1 2
1 3 5

示例输出 2

-1

在这个例子中,S=1,3,5S=\\{1,3,5\\}SS 中没有任何数能被 22 整除,因此应该输出 -1