2090 - 求最大的和
Description

一个序列上有 n 个整数,现在你要取 m 个数,且这 m 个数中任意两个位置差要大于等于 k,现在求所选数的和的最大值是多少?

Input

第一行三个数 n, m, k 分别表示 n 个数,取 m 个,且 m 个中任意两个位置差要大于等于 k。 

接下来一行,有 n 个整数,表示序列上的每个数。

Output

共一行,为一个整数,表示答案。

Examples

Input

4 2 2
3 4 -5 1

Output

5
Hint

40% 的数据,1 ≤ n ≤ 100, 1 ≤ m ≤ 20 ;

100% 的数据,1 ≤ n ≤ 10^4 , 1 ≤ m ≤ 100, m ≤ n,答案保证小于 int 范围。

题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 33
通过次数 7