#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#define maxn 1000010
using namespace std;
int n,m;
int b[maxn];
struct node{
int x,id;
bool operator < (const node _T)const{
return x<_T.x;
}
}a[maxn];
int dp[maxn];
int l,r,mid;
int cnt = 0;
int find(int x)
{
l = 1,r = n;
while(l<r)
{
mid = (l+r)>>1;
if(a[mid].x>=x)r=mid;
else l = mid+1;
}
return a[l].x==x?a[l].id:-1;
}
int find2(int x)
{
l = 1,r = cnt;
while(l<r)
{
mid = (l+r)>>1;
if(dp[mid]>=x)r=mid;
else l = mid+1;
}
return l;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)scanf("%d",&a[i].x),a[i].id=i;
sort(a+1,a+1+n