/*퀵정렬*/
//import java.util.*;
//
//public class Main {
//
// static void quicksort(int data[], int start, int end) {
// int pivote;
// if (start < end) {
// pivote = partition(data, start, end);
// quicksort(data, start, pivote - 1);
// quicksort(data, pivote + 1, end);
// }
// }
//
// static int partition(int[] a, int s, int e) {
// int pivote;
// pivote = (s + e) / 2;
// int temp;
//
// while (s < e) {
// while ((a[s] < a[pivote]) && (s < e))
// s++;
//
// while ((a[e] >= a[pivote]) && (s < e))
// e--;
//
// if (s < e) {
// temp = a[s];
// a[s] = a[e];
// a[e] = temp;
//
// if (s == pivote) {
// pivote = e;
// }
// }
// }
// temp = a[pivote];
// a[pivote] = a[e];
// a[e] = temp;
//
// for (int i = 0; i < a.length; i++) {
// System.out.print(a[i] + " ");
// }
// System.out.println(" ");
//
// return e;
// }
//
// public static void main(String[] args) {
// int data[] = { 69, 10, 30, 2, 16, 8, 31, 22 };
// quicksort(data, 0, data.length - 1);
//
// }
//}
//
//
/*병합정렬*/
//public class Main {
// static int arr[] =new int[30];
//
// static void mergesort(int data[], int start, int end) {
// int middle;
// if (start < end) {
// middle=(start+end)/2;
// mergesort(data, start, middle);
// mergesort(data, middle+1, end);
// merge(data,start,middle,end);
// }
// }
//
// static void merge(int[] a, int m, int middle,int n) {
// int i = m;
// int j=middle+1;
// int k=m;
//
// while(i<=middle && j<=n) {
// if(a[i]<=a[j]) {
// arr[k]=a[i];
// i++;
// }
// else {
// arr[k]=a[j];
// j++;
// }
// k++;
// }
//
// if(i>middle) {
// for(int t=j;t<=n;t++) {
// arr[k]=a[t];
// k++;
// }
// }else {
// for(int t=i;t<=middle;t++) {
// arr[k]=a[t];
// k++;
// }
// }
// for(int t=m;t<=n;t++) {
// a[t]=arr[t];
// }
// for(int t=0;t<a.length;t++) {
// System.out.print(a[t]+" ");
// }
// System.out.println("");
//
// }
//
//
//
// public static void main(String[] args) {
// int data[] = { 69, 10, 30, 2, 16, 8, 31, 22 };
// mergesort(data, 0, data.length - 1);
//
// }
//}
//import java.util.*;
//
//public class Main {
//
// public static int binary(int list[],int n, int key){
// int low, middle, high;
//
// low = 0;
// high = n-1;
//
// while(low<=high) {
// middle = (low+high)/2;
// if(key == list[middle]) {
// return middle;
// }
// else if(key>list[middle]) {
// low = middle +1;
// }
// else {
// high = middle -1;
// }
// }
// return -1;
// }
//
// public static void main(String[] args) {
// Scanner s = new Scanner(System.in);
//
// int key;
// int grade[] = {1,2,3,4,5,6,7,8,9};
//
// System.out.print(">>");
// key=s.nextInt();
//
// int result = binary(grade,grade.length,key);
//
// System.out.println("결과:"+result);
//
//
// }
//}
import java.util.*;
public class Main {
public static int binary(int list[], int n, int key) {
int low, middle, high;
low = 0;
high = n - 1;
// list에 있는 값 중에 key값 보다 큰 값이 먼저나오냐 key가 먼저나오냐
while (low < high) {
middle = (low + high) / 2;
if (key > list[middle]) {
low = middle + 1;
}
else {
high=middle-1;
}
}
if (low==high) {
return low;
}
return list.length+1;
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str=s.nextLine();
int size;
int want;
String[] insert = str.split(" ");;
size=Integer.parseInt(insert[0]);
want=Integer.parseInt(insert[1]);
int data[] = new int [size];
for(int i=0;i<size;i++) {
data[i]=s.nextInt();
}//여기 까지입력세팅
int result = binary(data,data.length,want);
System.out.println(result);
}
}
/////////////////////////////////////////////////////////////
/*210310*/
/*code up 2633*/
//import java.util.*;
//
//public class Main {
//
// public static int binary(int list[], int s, int e, int key) {
// int mid;
// while (s <= e) {
// mid = (s+e)/2;
// if(list[mid]<key) {
// s=mid+1;
// }
// else {
// e=mid;
// }
// }
// System.out.println("??");
// return e+1;
// }
//
//
// public static void main(String[] args) {
// Scanner s = new Scanner(System.in);
// String str=s.nextLine();
//
// int size;
// int want;
//
// String[] insert = str.split(" ");;
// size=Integer.parseInt(insert[0]);
// want=Integer.parseInt(insert[1]);
//
// int data[] = new int [size];
// for(int i=0;i<size;i++) {
// data[i]=s.nextInt();
// }
//
// for(int i=0;i<size;i++) {
// System.out.println(data[i]);
// }
//
// int result = binary(data,0,size,want);
// System.out.println(result);
// }
//}
import java.util.*;
public class Main {
public static int binary(int list[], int n, int key) {
int low, mid, high;
low = 0;
high = n;
while (low < high) {
mid = (low + high) / 2;
if(list[mid]<key) {
low=mid + 1;
}else {
high=mid;
}
}
return high+1;
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str=s.nextLine();
int size;
int want;
String[] insert = str.split(" ");;
size=Integer.parseInt(insert[0]);
want=Integer.parseInt(insert[1]);
int data[] = new int [size];
for(int i=0;i<size;i++) {
data[i]=s.nextInt();
}//여기 까지입력세팅
int result = binary(data,data.length,want);
System.out.println(result);
}
}



