#include <bits/stdc++.h>
using namespace std;
long long a, b, n;
long long ceili(long long n, long long d) { return (n + d - 1) / d; }
inline long long chk(long long g) {
  long long l = n / (g + 1) + 1, r = n / g;
  if (r >= l) {
    if (ceili(a, g + 1) <= a / g && ceili(b, g + 1) <= b / g) {
      long long lo = max(l, ceili(a, g + 1) + ceili(b, g + 1));
      long long hi = min(r, a / g + b / g);
      return max(0ll, hi - lo + 1);
    }
  }
  return 0;
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> a >> b;
  n = a + b;
  long long sqn = sqrt(n);
  long long ans = 0;
  for (long long g = 1; g <= sqn; g++) {
    ans += chk(g);
  }
  for (long long k = 1; n / k > sqn; k++) {
    ans += chk(n / k);
  }
  cout << ans;
  return 0;
}
