小红取数(A组,B组)
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红拿到了一个数组,她想取一些数使得取的数之和尽可能大,但要求这个和必须是  的倍数。
你能帮帮她吗?

输入描述:

第一行输入两个正整数  和  
第二行输入  个正整数 
1 \le n, k \le 10^3
1 \le a_i \le 10^{10}

输出描述:

如果没有合法方案,输出 -1。
否则输出最大的和。
示例1

输入

复制
5 5
4 8 2 9 1

输出

复制
20

说明

取后四个数即可