#include <bits/stdc++.h>
using namespace std;
bool check(string a, string b) {
  for (int i = 0; i < a.size();) {
    for (int j = 0; j < b.size(); j++, i++) {
      if (a[i] != b[j]) return false;
    }
  }
  return true;
}
int main() {
  string a, b;
  cin >> a >> b;
  map<string, int> mp;
  string s;
  for (int i = 0; i < a.size(); i++) {
    s += a[i];
    if (a.size() % (i + 1) == 0) {
      if (check(a, s)) mp[s]++;
    }
  }
  int cnt = 0;
  s.clear();
  for (int i = 0; i < b.size(); i++) {
    s += b[i];
    if (b.size() % (i + 1) == 0) {
      if (check(b, s))
        if (mp.find(s) != mp.end()) cnt++;
    }
  }
  cout << cnt << endl;
  return 0;
}
