#include<stdio.h>
int a[1000001];
int n;
int b_s(int s,int e,int k) // a[s]부터 a[e]까지에서 k값의 위치 찾아라 .
{
//printf("%d %d %d\n", s, e, k);
int mid=(s+e)/2;
if(s>e)
return -1;
if(a[mid]==k)
{
return mid;
}
else if(a[mid]>k)
{
b_s(s,mid-1,k);
}
else
{
b_s(mid+1,e,k);
}
}
int main()
{
int k,i,o;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%d",&a[i]);
}
scanf("%d", &o);
for(i=1; i<=o; i++)
{
scanf("%d",&k);
printf("%d ",b_s(1,n,k));
}
}
*/
/*
#include<stdio.h>
int main()
{
int a[50001],s[50001],i,j,n,temp,cnt=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
s[i]=a[i];
}
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(s[i]==a[j])
{
printf("%d ",j-1);
break;
}
}
}
return 0;
}
#include<stdio.h>
int a[50001],o[50001];
int n;
void q_s(int s,int e)
{
int p=s,l=s,h=e+1,temp;
if(s>=e)
{
return;
}
do
{
do
{
l++;
}while(a[p]>a[l]);
do
{
h--;
}while(a[p]<a[h]);
if(l<h)
{
temp=a[h];
a[h]=a[l];
a[l]=temp;
}
}while(l<h);
temp=a[h];
a[h]=a[p];
a[p]=temp;
q_s(s,h-1);
q_s(h+1,e);
}
int b_s(int b,int q,int k)
{
int mid=(b+q)/2;
if(b>q)
{
return -1;
}
if(a[mid]==k)
{
return mid;
}
else if(a[mid]>k)
{
b_s(b,mid-1,k);
}
else
{
b_s(mid+1,q,k);
}
}
int main()
{
int i,l,k;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%d",&a[i]);
o[i]=a[i];
}
q_s(1,n);
for(i=1;i<=n;i++)
{
printf("%d ",b_s(1,n,o[i])-1);
}
return 0;
}
*/
#include<stdio.h>
int n;
int a[10001];
//k 이상인 수가 처음으로 등장하는 위치
int b_s(int s,int e,int k)
{
int mid=(s+e)/2;
if(s>e)
{
return k-1;
}
if(a[mid]==k)
{
return mid;
}
else if(a[mid]>k)
{
b_s(s,mid-1,k);
}
else
{
b_s(mid+1,e,k);
}
}
int main()
{
int i,k;
scanf("%d %d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
printf("%d",b_s(1,n,k));
}