/*
#include<stdio.h>
int main()
{
int i,sum=10;
char st[51]={};
scanf("%s",st);
for(i=1;st[i]!=NULL;i++)
{
if(st[i]==st[i-1])
{
sum=sum+5;
}
else
{
sum=sum+10;
}
}
printf("%d",sum);
return 0;
}
#include<stdio.h>
int main()
{
int n,i,a=0,b=1;
for(i=1;i<=9;i++)
{
scanf("%d",&n);
if(a<n)
{
a=n;
b=i;
}
}
printf("%d\n%d",a,b);
return 0;
}
#include <stdio.h>
int memo[201]={};
int fib(int n)
{
if(memo[n]!=0) return memo[n];
//한 번 계산한 값은 다시 계산하지 않는다.
//시간이 단축된다 !!
if(n==1||n==2) return memo[n]=1;
return memo[n]=(fib(n-1)+fib(n-2));
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",fib(n));
return 0;
}
#include<stdio.h>
int memo[51][51]={};
int fib(int n,int m)
{
if(memo[n][m]!=0) return memo[n][m];
if(n==1||m==1) return memo[n][m]=1;
return memo[n][m]=(fib(n-1,m)+fib(n,m-1))%100000000;
}
int main()
{
int n,m;
scanf("%d %d",&n,&m);
printf("%d",fib(n,m));
return 0;
}
*/
//이분탐색 이진탐색
//binary search
/*
#include<stdio.h>
int a[50];
int bs(int s, int e, int k)
{
int mid=(s+e)/2;
if(s>e) return -1;
if(a[mid]==k) return mid;
else if(a[mid]<k) bs(mid+1,e,k);
else bs(s,mid-1,k);
}
#include<stdio.h>
int a[1000001];
int bs(int s,int e,int k)
{
int mid=(s+e)/2;
if(s>e) return -2;
if(a[mid]==k) return mid;
else if(a[mid]<k) bs(mid+1,e,k);
else bs(s,mid-1,k);
}
int main()
{
int n,m,i,k;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&k);
printf("%d ",bs(0,n-1,k)+1);
}
return 0;
}
*/
#include<stdio.h>
int a[100001],n;
int bs(int s,int e,int k)
{
int mid=(s+e)/2;
if(s>=e)
{
if(a[mid]>=k) return mid;
else return n+1;
}
if(a[mid]>=k) bs(s,mid,k);
else bs(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",bs(1,n,k));
return 0;
}