#include<bits/stdc++.h>
using namespace std;
unsigned long long x[1000005];
struct a{
unsigned long long x;
int y;
};
vector<a> q;
int k,n;
int main(){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++){
scanf("%llu",&x[i]);
}
for(int i=1;i<=k;i++){
while(q.size()&&q.back().x<=x[i]) {
q.pop_back();
}
a d;
d.x=x[i];
d.y=i;
q.push_back(d);
}
printf("%d\n",q.size());
for(int i=k+1;i<=n;i++){
if(!q.empty()&&q.front().y==i-k){
q.erase(q.begin(),q.begin()+1);
}
while(q.size()&&q.back().x<=x[i]) {
q.pop_back();
}
a d;
d.x=x[i];
d.y=i;
q.push_back(d);
printf("%d\n",q.size());
}
}