#include <bits/stdc++.h>
using namespace std;
int N, s[10], ans;
long long a[10];
void init() {
  scanf("%d", &N);
  for (int i = 1; i <= N; i++) scanf("%I64d", &a[i]);
  sort(a + 1, a + N + 1);
}
void dfs(int t, int k, int c) {
  if (k >= ans) return;
  if (!t) {
    ans = min(ans, k + (c > 1));
    return;
  }
  if (s[t] > 1) k++;
  dfs(t - 1, k + s[t], c + 1);
  for (int i = t + 1; i <= N; i++)
    if (a[i] % a[t] == 0) a[i] /= a[t], dfs(t - 1, k, c), a[i] *= a[t];
}
void doit() {
  for (int i = 1; i <= N; i++) {
    long long x = a[i], j = 2;
    for (; j * j <= x; j++)
      for (; x % j == 0; x /= j) s[i]++;
    if (x > 1) s[i]++;
  }
  ans = 1e9, dfs(N, 0, 0), printf("%d\n", ans);
}
int main() {
  init();
  doit();
  return 0;
}
