#include <bits/stdc++.h>
using namespace std;
const double eps = 1.0e-11;
const double pi = acos(-1.0);
int main() {
  string a, b;
  int res = 0;
  cin >> a >> b;
  int n = (int)(a).size(), m = (int)(b).size();
  for (long long i = 1; i <= min((int)(a).size(), (int)(b).size()); i++) {
    if (n % i == 0 && m % i == 0) {
      bool ok = true;
      for (long long j = 0; j < n / i; j++) {
        if (j) {
          if (a.substr((j - 1) * i, i) != a.substr((j)*i, i)) {
            ok = false;
          }
        }
      }
      for (long long j = 0; j < m / i; j++) {
        if (j) {
          if (b.substr((j - 1) * i, i) != b.substr((j)*i, i)) {
            ok = false;
          }
        }
      }
      if (ok) res += (a.substr(0, i) == b.substr(0, i));
    }
  }
  cout << res << endl;
  return 0;
}
