#include <bits/stdc++.h>
using namespace std;
string a, b;
int ans = 0;
vector<int> A, B;
string cp(string s, int n) {
  string ans = s;
  for (int i = 1; i < n; i++) ans += s;
  return ans;
}
int main() {
  cin >> a >> b;
  for (int i = 1; i <= a.size(); i++)
    if (a.size() % i == 0 && cp(a.substr(0, i), a.size() / i) == a)
      A.push_back(i);
  for (int i = 1; i <= b.size(); i++)
    if (b.size() % i == 0 && cp(b.substr(0, i), b.size() / i) == b)
      B.push_back(i);
  for (int i = 0; i < A.size(); i++)
    for (int j = 0; j < B.size(); j++)
      if (A[i] == B[j] && a.substr(0, A[i]) == b.substr(0, B[j])) ans++;
  cout << ans << endl;
  return 0;
}
