## {{ page.title }}

**Problem：**

**There are N little kids sitting in a circle, each of them are carrying some java beans in their hand. Their teacher want to select M kids who seated in M consecutive seats and collect java beans from them.**

The teacher knows the number of java beans each kids has, now she wants to know the maximum number of java beans she can get from M consecutively seated kids. Can you help her?

Input

There are multiple test cases. The first line of input is an integer T indicating the number of test cases.

For each test case, the first line contains two integers N (1 ≤ N ≤ 200) and M (1 ≤ M ≤ N). Here N and M are defined in above description. The second line of each test case contains N integers Ci (1 ≤ Ci ≤ 1000) indicating number of java beans the ith kid have.

Output

For each test case, output the corresponding maximum java beans the teacher can collect.

Sample Input

2

5 2

7 3 1 3 9

6 6

13 28 12 10 20 75

Sample Output

16

158

**My answer:**

#include <stdio.h>

#include <stdlib.h>

int main()

{

long i, t, n, m, maxm, f[410], a[410];

scanf("%ld", &t);

f[0] = 0;

while (t--)

{

scanf("%ld%ld", &n, &m);

for (i=1;i<=n;++i)

{

scanf("%ld", &a[i]);

a[i+n] = a[i];

}

for (i=1;i<=m;++i)

f[i] = f[i-1] + a[i];

maxm = f[m];

for (i=m+1;i<=n+m;++i)

{

f[i] = f[i-1] + a[i] -a[i-m];

if (f[i] > maxm)

maxm = f[i];

}

printf("%ld\n", maxm);

}

return 0;

}