奇奇怪怪的操作
题号:NC248201
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小松鼠想出了一些奇奇怪怪的操作,想和你分享分享!

给定一长度为 n 的序列 a_i 和一个数 m,要求进行 k 次操作,定义一次操作如下:

  • 选取 ,将 a_i 加上 ma_j 减去 mi 可以等于 j)。

并且每次操作完后序列中不能出现负数,求 的最大值。

由于有些情况下值可能过大,你需要将答案 输出。

输入描述:

输入共两行。
第一行三个数 ,第二行 n 个数表示 

输出描述:

一行一个数表示答案。
示例1

输入

复制
4 2 2
7 1 9 5

输出

复制
875