#include <bits/stdc++.h>
using namespace std;
const long long int INF = 1000000007;
const int N = 100000 + 7;
int power(int x, unsigned int y) {
  int res = 1;
  while (y > 0) {
    if (y & 1) res = res * x;
    y = y >> 1;
    x = x * x;
  }
  return res;
}
int GCD(int A, int B) {
  if (B == 0)
    return A;
  else
    return GCD(B, A % B);
}
string decToBin(int number) {
  if (number == 0) return "0";
  if (number == 1) return "1";
  if (number % 2 == 0)
    return decToBin(number / 2) + "0";
  else
    return decToBin(number / 2) + "1";
}
int binToDec(string number) {
  int result = 0, pow = 1;
  for (int i = number.length() - 1; i >= 0; --i, pow <<= 1)
    result += (number[i] - '0') * pow;
  return result;
}
void seive(int n) {
  vector<int> primeNums;
  bool prime[n + 1];
  memset(prime, true, sizeof(prime));
  for (int p = 2; p * p <= n; p++) {
    if (prime[p]) {
      for (int i = 2 * p; i <= n; i += p) prime[i] = false;
    }
  }
  for (int i = 2; i <= n; i++) {
    if (prime[i]) {
      primeNums.push_back(i);
    }
  }
}
long long powerMod(long long x, int y, int m) {
  x = x % m;
  long long res = 1;
  while (y > 0) {
    if (y & 1) {
      res = (res * x) % m;
    }
    y = y >> 1;
    x = (x * x) % m;
  }
  return res;
}
long long D, X, Y;
void extendedEuclid(int a, int b) {
  if (b == 0) {
    D = a;
    X = 1;
    Y = 0;
  } else {
    extendedEuclid(b, a % b);
    int temp = X;
    X = Y;
    Y = temp - (a / b) * Y;
  }
}
int main() {
  int n;
  cin >> n;
  int arr[n];
  double sum = 0;
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
    sum += arr[i];
  }
  double avg = sum / n;
  if (avg >= 4.5) {
    cout << 0 << endl;
  } else {
    sort(arr, arr + n);
    double temp = sum;
    for (int i = 0; i < n; i++) {
      int gap = 5 - arr[i];
      for (int j = 0; j < gap; j++) {
        temp++;
        if (temp / n >= 4.5) {
          cout << i + 1 << endl;
          return 0;
        }
      }
    }
  }
  return 0;
}
