There is a fence in front of Polycarpus's home. The fence consists of n planks of the same width which go one after another from left to right. The height of the i-th plank is hi meters, distinct planks can have distinct heights.

<image> Fence for n = 7 and h = [1, 2, 6, 1, 1, 7, 1]

Polycarpus has bought a posh piano and is thinking about how to get it into the house. In order to carry out his plan, he needs to take exactly k consecutive planks from the fence. Higher planks are harder to tear off the fence, so Polycarpus wants to find such k consecutive planks that the sum of their heights is minimal possible.

Write the program that finds the indexes of k consecutive planks with minimal total height. Pay attention, the fence is not around Polycarpus's home, it is in front of home (in other words, the fence isn't cyclic).

Input

The first line of the input contains integers n and k (1 ≤ n ≤ 1.5·105, 1 ≤ k ≤ n) — the number of planks in the fence and the width of the hole for the piano. The second line contains the sequence of integers h1, h2, ..., hn (1 ≤ hi ≤ 100), where hi is the height of the i-th plank of the fence.

Output

Print such integer j that the sum of the heights of planks j, j + 1, ..., j + k - 1 is the minimum possible. If there are multiple such j's, print any of them.

Examples

Input

7 3
1 2 6 1 1 7 1


Output

3

Note

In the sample, your task is to find three consecutive planks with the minimum sum of heights. In the given case three planks with indexes 3, 4 and 5 have the required attribute, their total height is 8.
//Author: Mo Abjal, MJP Rohilkhand University Bareilly, UP, India 2018.
import java.util.*;
import java.io.*;
import java.text.*;
import java.math.*;
public class Main{
	public static StringTokenizer token = new StringTokenizer("");
	public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	public static PrintWriter output = new PrintWriter(System.out);
	public static void main(String[] args) throws Exception {		
		int N = ni();
		int K = ni();
		Integer A[] = ai(N);
		Integer sum[] = new Integer[N+1];
		sum[0] = 0;
		if(N==1) {output.println(1); output.close(); return;}
		for(int i=1;i<=N;i++){
			sum[i] = sum[i-1] + A[i-1];
		}
		//for(int i=0;i<=N;i++) output.print(sum[i]+" ");
		int min=Integer.MAX_VALUE,loc=0;
		for(int i=0;i<=N-K;i++){
			if((sum[i+K]-sum[i])<min){
				min = sum[i+K]-sum[i];
				loc = i+1;
			}
		}
		output.println(loc);
		output.close();
	}
	//Scanning Inputs and Converting data library
	//Parse Integer
	public static Integer pi(String str){
		return Integer.parseInt(str);
	}
	//Parse Long
	public static Long pl(String str){
		return Long.parseLong(str);
	}
	//Converting Integer into String
	public static String ps(Integer N){
		return Integer.toString(N);
	}
	//Taking Integer Input
	public static Integer ni() throws IOException{
		if(!token.hasMoreElements()){
			token = new StringTokenizer(br.readLine());
		}
		return Integer.parseInt(token.nextToken());
	}
	//Taking Long Input
	public static Long nl() throws IOException{
		if(!token.hasMoreElements()){
			token = new StringTokenizer(br.readLine());
		}
		return Long.parseLong(token.nextToken());
	}
	//Taking String Input
	public static String ns() throws IOException{
		return new StringTokenizer(br.readLine()).nextToken();
	}
	//Taking Integer Array
	public static Integer[] ai(int N) throws IOException{
		Integer A[] = new Integer[N];
		token = new StringTokenizer(br.readLine());
		for(int i=0;i<A.length;i++){
			A[i] = pi(token.nextToken());
		}
		return A;
	}
	//Taking Long Array
	public static long[] al(int N) throws IOException{
		long A[] = new long[N];
		token = new StringTokenizer(br.readLine());
		for(int i=0;i<N;i++){
			A[i] = Long.parseLong(token.nextToken());
		}
		return A;
	}
	//Taking 2D Char Array
	public static char[][] acc(int N,int M) throws IOException{
		char C[][] = new char[N][M];
		for(int i=0;i<N;i++){
			token = new StringTokenizer(br.readLine());
			String s = token.nextToken();
			for(int j=0;j<M;j++){
				C[i][j] = s.charAt(j);
			}
		}
		return C;
	}
	//Taking String Array
	public static String[] as(int N) throws IOException{
		String S[] = new String[N];
		token = new StringTokenizer(br.readLine());
		for(int i=0;i<S.length;i++){
			S[i] = token.nextToken();
		}
		return S;
	}

	//Calculating factorial
	public static long fact(long N){
		long fact = 1;
		for(int i=1;i<=N;i++){
			fact = fact * i;
		}
		return fact;
	}
	public static BigInteger factB(int N){
		BigInteger b = new BigInteger("1");
		for(int i=1;i<=N;i++){
			b = b.multiply(BigInteger.valueOf(i));
		}
		return b;
	}
	//Making Paares of given size
	public static long mp(long N,long size){
		long mul=1;
		long temp = N;
		for(long i=N;i>N-size;i--){
			mul = mul*temp--;
		}
		long fact = fact(size);
		if(mul/fact==0) return 1;
		return mul/fact;
	}
	public static long sod(long N){
		long sum = 0;
		while(N>0){
			long x = N%10;
			sum = sum + x;
			N = N/10;
		}
		return sum;
	}
}



//Copyright Reserved - Mo Abjal.