#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
long long findGCD(long long arr[], long long n) {
  long long int result = arr[0];
  for (long long i = 1; i < n; i++) {
    result = gcd(arr[i], result);
    if (result == 1) {
      return 1;
    }
  }
  return result;
}
long long divisor(long long n) {
  long long i, divi = 0, a;
  a = sqrt(n);
  if (a * a == n) divi += 1;
  for (i = 1; i * i < n; i++)
    if (n % i == 0) divi += 2;
  return divi;
}
int main() {
  long long n, i, g;
  cin >> n;
  long long a[n];
  for (i = 0; i < n; i++) cin >> a[i];
  g = findGCD(a, n);
  cout << divisor(g);
}
