#include <bits/stdc++.h>
constexpr double PI = 3.1415926535897932;
using int32 = std::int_fast32_t;
using int64 = std::int_fast64_t;
using uint32 = std::uint_fast32_t;
using uint64 = std::uint_fast64_t;
using intl32 = std::int_least32_t;
using intl64 = std::int_least64_t;
using uintl32 = std::uint_least32_t;
using uintl64 = std::uint_least64_t;
void yes(bool c) { puts(c ? "yes" : "no"); }
void Yes(bool c) { puts(c ? "Yes" : "No"); }
void YES(bool c) { puts(c ? "YES" : "NO"); }
void pos(bool c) { puts(c ? "possible" : "impossible"); }
void Pos(bool c) { puts(c ? "Possible" : "Impossible"); }
void POS(bool c) { puts(c ? "POSSIBLE" : "IMPOSSIBLE"); }
template <class T>
bool bmaxi(T &a, const T &b) {
  if (b < a) return 0;
  a = b;
  return 1;
}
template <class T>
bool bmini(T &a, const T &b) {
  if (a < b) return 0;
  a = b;
  return 1;
}
template <class T>
bool nmaxi(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool nmini(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
template <typename T>
auto scan(T &d) -> typename std::enable_if<std::is_signed<T>::value>::type {
  d = 0;
  int c = fgetc(stdin);
  bool f = 0;
  while (c < '0' || '9' < c) {
    if (c == '-') f = 1;
    c = fgetc(stdin);
  }
  while (c != ' ' && c != '\n') {
    d = d * 10 + c - '0';
    c = fgetc(stdin);
  }
  if (f) d = -d;
}
template <typename T>
auto scan(T &d) -> typename std::enable_if<!std::is_signed<T>::value>::type {
  d = 0;
  int c = fgetc(stdin);
  while (c == ' ' || c == '\n') c = fgetc(stdin);
  while (c != ' ' && c != '\n') {
    d = d * 10 + c - '0';
    c = fgetc(stdin);
  }
}
void scan(char &d) {
  d = fgetc(stdin);
  while (d == ' ' || d == '\n') d = fgetc(stdin);
}
void scan(double &d) { scanf("%lf", &d); }
void scan(std::string &d) {
  d.clear();
  int c = fgetc(stdin);
  while (c == ' ' || c == '\n') c = fgetc(stdin);
  while (c != ' ' && c != '\n') {
    d.push_back(c);
    c = fgetc(stdin);
  }
}
template <typename F, typename... R>
void scan(F &f, R &...r) {
  scan(f);
  scan(r...);
}
template <typename T>
T input() {
  T d;
  scan(d);
  return d;
}
template <typename T>
auto print(T d) -> typename std::enable_if<std::is_signed<T>::value>::type {
  static int c[20];
  int i = 0;
  bool f = 0;
  if (d < 0) {
    f = 1;
    d = -d;
  }
  while (d) {
    c[i++] = d % 10;
    d /= 10;
  }
  if (!i) c[i++] = 0;
  if (f) fputc('-', stdout);
  while (i--) fputc(c[i] + '0', stdout);
}
template <typename T>
auto print(T d) -> typename std::enable_if<!std::is_signed<T>::value>::type {
  static int c[20];
  int i = 0;
  while (d) {
    c[i++] = d % 10;
    d /= 10;
  }
  if (!i) c[i++] = 0;
  while (i--) fputc(c[i] + '0', stdout);
}
void print(const char d) { fputc(d, stdout); }
void print(const double d) { printf("%f", d); }
void print(const char *c) {
  while (*c != '\0') fputc(*(c++), stdout);
}
template <typename F, typename... R>
void print(F f, R... r) {
  print(f);
  print(r...);
}
template <typename... R>
void println(R... r) {
  print(r...);
  fputc('\n', stdout);
}
int main(void) {
  uint32 n;
  scan(n);
  uint32 c[9] = {};
  while (n--) {
    uint32 t = input<uint32>() / 400;
    if (t >= 8)
      ++c[8];
    else
      c[t] = 1;
  }
  println(std::accumulate(c, c + 9, 0));
  return 0;
}
