#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1000000007;
vector<vector<pair<long long int, long long int>>> adj;
vector<bool> vis;
int dx8[] = {0, 1, 1, 1, 0, -1, -1, -1}, dy8[] = {1, 1, 0, -1, -1, -1, 0, 1},
    dx4[] = {0, 1, 0, -1}, dy4[] = {1, 0, -1, 0};
inline long long int mexp(long long int x, long long int n, long long int m) {
  long long int res = 1;
  while (n) {
    if (n & 1) res = (res * x) % m;
    n >>= 1;
    x = ((x % m) * (x % m)) % m;
  }
  return res;
}
bool ispow2(long long int x) { return x && (!(x & (x - 1))); }
int gcd(int x, int y) {
  if (x == 0 || y == 0)
    return x + y;
  else
    return gcd(y % x, x);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout << fixed;
  cerr << fixed;
  cout << setprecision(8);
  cerr << setprecision(3);
  int n, x;
  cin >> n >> x;
  vector<bool> v(101, 0);
  for (int i = 0; i < n; ++i) {
    int t;
    cin >> t;
    v[t] = true;
  }
  int ans = 0;
  for (int i = 0; i < x; ++i)
    if (!v[i]) ++ans;
  if (v[x]) ++ans;
  cout << ans << '\n';
  return 0;
}
