#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, l1, l2, k, num = 0, q = 0, j;
  string s1, s2, s3;
  cin >> s1 >> s2;
  l1 = (s1).size();
  l2 = (s2).size();
  i = 0;
  while (i < l1 && i < l2 && (s1)[i] == (s2)[i]) i++;
  if (i == min(l1, l2)) {
    k = i;
    if (l1 <= l2) {
      for (i = k; i < l2; i++) {
        if (s2[i] != s2[i % k]) {
          q = 1;
          break;
        }
      }
      if (q == 0) {
        for (j = 1; j <= k; j++)
          if (k % j == 0) {
            q = 0;
            for (i = j; i < l1; i++)
              if (s1[i] != s1[i % j]) {
                q = 1;
                break;
              }
            if (q == 0) break;
          }
        for (i = j; i <= k; i += j) {
          if (l1 % i == 0 && l2 % i == 0) num++;
        }
      }
    } else {
      for (i = k; i < l1; i++) {
        if (s1[i] != s1[i % k]) {
          q = 1;
          break;
        }
      }
      if (q == 0) {
        for (j = 1; j <= k; j++)
          if (k % j == 0) {
            q = 0;
            for (i = j; i < l2; i++)
              if (s2[i] != s2[i % j]) {
                q = 1;
                break;
              }
            if (q == 0) break;
          }
        for (i = j; i <= k; i += j) {
          if (l1 % i == 0 && l2 % i == 0) num++;
        }
      }
    }
  }
  cout << num;
  return 0;
}
