#include <bits/stdc++.h>
using namespace std;
const double PI = 2.0 * acos(0.0);
const double eps = 1e-11;
const int _mod = 1000000;
const int save[10][4] = {{0}, {0}, {6, 2, 4, 8}, {1, 3, 9, 7}, {6, 4},
                         {0}, {0}, {1, 7, 9, 3}, {6, 8, 4, 2}, {1, 9}};
int todigit(char c) { return (isdigit(c)) ? (c - 48) : c; }
int toint(string s) {
  int r = 0;
  istringstream sin(s);
  sin >> r;
  return r;
}
long long tolong(string s) {
  long long r = 0;
  istringstream sin(s);
  sin >> r;
  return r;
}
double todouble(string s) {
  double r = 0.0;
  istringstream sin(s);
  sin >> r;
  return r;
}
template <class T>
string toString(T n) {
  ostringstream ost;
  ost << n;
  ost.flush();
  return ost.str();
}
template <class T>
T Abs(T x) {
  return x > 0 ? x : -x;
}
template <class T>
T power(T N, T P) {
  return (P == 0) ? 1 : N * power(N, P - 1);
}
template <class T>
void max(T &a, T b) {
  if (a < b) a = b;
}
template <class T>
void min(T &a, T b) {
  if (b < a) a = b;
}
template <class T>
inline T gcd(T a, T b) {
  if (a < 0) return gcd(-a, b);
  if (b < 0) return gcd(a, -b);
  return (b == 0) ? a : gcd(b, a % b);
}
template <class T>
inline T lcm(T a, T b) {
  if (a < 0) return lcm(-a, b);
  if (b < 0) return lcm(a, -b);
  return a * (b / gcd(a, b));
}
int main() {
  int num, temp, cnt;
  map<int, int> my;
  scanf("%d", &num);
  for (int i = 0; i < num; ++i) {
    scanf("%d", &temp);
    my[temp] = 1;
  }
  cnt = 0;
  for (int i = 1; i <= num; ++i)
    if (!my[i]) cnt++;
  printf("%d\n", cnt);
  return 0;
}
