#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+9;
int a[maxn],b[maxn],sum[maxn],msum[maxn];
int n,k;
void init(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		b[i]=a[i];
		msum[i]=1e7;
	}
	sort(a+1,a+1+n);
}
bool check(int x){
	msum[0]=0;
	for(int i=1;i<=n;i++){
		if(b[i]>=x)sum[i]=sum[i-1]+1;
		else if(b[i]<x) sum[i]=sum[i-1]-1;
		msum[i]=min(msum[i-1],sum[i]);
	}
	int sum1=0;
	for(int i=k;i<=n;i++){
		sum1=sum[i]-msum[i-k];
		if(sum1>0) return true;
	}
	return false;
}
void solve(){
	int l=1,r=n;
	int ans;
	while(l<=r){
		int mid=(l+r)>>1;
		if(check(mid)){
			ans=mid;
			l=mid+1;
		}else{
			r=mid-1;
		}
	}
	printf("%d\n",ans);
	return;
}
int main(){
	init();
	solve();
	return 0;	
}