#include <bits/stdc++.h>
int caseno = 1;
using namespace std;
template <class T>
T GCD(T a, T b) {
  if (a < 0) return GCD(-a, b);
  if (b < 0) return GCD(a, -b);
  while (b) {
    b ^= a ^= b ^= a %= b;
  }
  return a;
}
template <class T>
T LCM(T a, T b) {
  return a / GCD(a, b) * b;
}
inline long long POW(const int &n, const int &k) {
  long long res = 1;
  int i;
  for (i = (0); i < (k - 1); i++) res *= n;
  return res;
}
inline int BigMod(int a, int p, int M) {
  int res = 1, x = a;
  while (p) {
    if (p & 1) res = ((long long)res * x) % M;
    x = ((long long)x * x) % M;
    p >>= 1;
  }
  return res;
}
int main() {
  int i, j, a, b, N, M, K;
  vector<int> V;
  string s;
  scanf("%d%d", &N, &K);
  for (i = (0); i < (100 + 1); i++) V.push_back(0);
  for (i = (0); i < (N); i++) {
    scanf("%d", &a);
    V[a]++;
  }
  int co = 0;
  for (i = (0); i < (K); i++) {
    if (V[i] == 0) co++;
  }
  if (V[K]) co++;
  printf("%d\n", co);
  return 0;
}
