#include <bits/stdc++.h>
using namespace std;
bool check(string a, int v) {
  string c = a.substr(0, v);
  for (int j = v; j < a.size(); j = j + v) {
    string d = a.substr(j, v);
    if (d != c) {
      return 0;
    }
  }
  return 1;
}
int main() {
  string a, b;
  cin >> a >> b;
  int n = a.size(), m = b.size();
  vector<int> A;
  for (int i = 1; i <= n; i++) {
    if (n % i == 0) {
      if (check(a, i)) {
        A.push_back(i);
      }
    }
  }
  for (int i = 1; i <= m; i++) {
    if (m % i == 0) {
      if (check(b, i)) {
        A.push_back(i);
      }
    }
  }
  int ans = 0;
  sort(A.begin(), A.end());
  for (int i = 0; i < A.size() - 1; i++) {
    if (A[i] == A[i + 1]) {
      if (a.substr(0, A[i]) == b.substr(0, A[i])) {
        ans++;
      }
    }
  }
  cout << ans;
  return 0;
}
