#include <bits/stdc++.h>
class PrimeNumberChecker {
 public:
  PrimeNumberChecker() {
    m_checkedNum = 2;
    m_primeNumSet.insert(2);
  }
  ~PrimeNumberChecker() {}
  bool isPrimeNumber(const int& x);

 private:
  std::set<int> m_primeNumSet;
  int m_checkedNum;
};
bool PrimeNumberChecker::isPrimeNumber(const int& x) {
  if (x <= m_checkedNum) {
    return (m_primeNumSet.find(x) != m_primeNumSet.end());
  }
  int min = (int)std::sqrt((double)m_checkedNum + 1);
  int max = (int)std::sqrt((double)x);
  m_checkedNum = x;
  if (min % 2 == 0) min--;
  for (std::set<int>::iterator itr = m_primeNumSet.begin();
       itr != m_primeNumSet.end(); itr++) {
    if ((*itr) > max) {
      m_primeNumSet.insert(x);
      return true;
    }
    if (x % (*itr) == 0) return false;
    if ((*itr) > min) min = (*itr) + 2;
  }
  for (int i = min; i <= max; i += 2) {
    if (x % i == 0) return false;
  }
  m_primeNumSet.insert(x);
  return true;
}
int main(int argc, const char* argv[]) {
  int n;
  std::cin >> n;
  PrimeNumberChecker checker;
  int ret = 0;
  for (int i = 0, x; i < n && std::cin >> x; i++) {
    if (checker.isPrimeNumber(x)) {
      ret++;
    }
  }
  std::cout << ret << std::endl;
  return 0;
}
