problem

Given a sequence of n integers a1, a2, ..., an and a positive integer k (1 ≤ k ≤ n), then the sum of k consecutive integers Si = ai + ai + Create a program that outputs the maximum value of 1 + ... + ai + k-1 (1 ≤ i ≤ n --k + 1).



input

The input consists of multiple datasets. Each dataset is given in the following format. The input ends on a line containing two zeros.

On the first line, the positive integer n (1 ≤ n ≤ 100000) and the positive integer k (1 ≤ k ≤ n) are written in this order, separated by blanks. The first + i lines after the second line. (1 ≤ i ≤ n) contains the i-th term ai (-10000 ≤ ai ≤ 10000) in the sequence. Of the scoring data, 60% of the points are n ≤ 5000, k ≤ 1000. Meet.

The number of datasets does not exceed 5.

output

The maximum value of Si is output to one line for each data set.

Examples

Input

5 3
2
5
-4
10
3
0 0


Output

11


Input

None


Output

None
import java.util.*;
import java.math.*;

class Main{
  public static void main(String args[]){
    Scanner scan=new Scanner(System.in);
    while(scan.hasNext()){
      int n = scan.nextInt();
      int k = scan.nextInt();
      if(n*k==0) return;

      //0th~k-1st, make sum of them is 0
      //then look k-th num, record 0 - 0th + kth, compare 0 and new value
      //then look (k+1)th num, record (old value - 1st + (k+1)th), compare maxium value and new value
      int table[]=new int [n];
      for(int i=0;i<n;i++){
        table[i]=scan.nextInt();
      }
      
      int res=0;
      int max=0;
      int imax=0;
      for(int i=k;i<n;i++){
        res=res+table[i]-table[i-k];
        if(res>max){
          //System.out.printf("max changed,imax=%d,imaxEnd=%d\n",i-k+1,i);
          max=res;
          imax=i-k+1;
        }
      }
      
      long out=0;
      for(int i=imax;i<imax+k;i++){
        out+=table[i];
      }
      //System.out.printf("imax:%d\n",imax);
      System.out.println(out);

    }
  }//main
}
