import std.stdio;
import std.conv;
import std.string;
import std.typecons;
import std.algorithm;
import std.array;
import std.range;
import std.math;
import std.regex : regex;
import std.container;
import std.bigint;


void main()
{
  long a, b;
  readf("%s %s\n", &a, &b);
  auto n = min(a, b);

  int[long] cnt;
  foreach (i; 2..n+1) {
    auto x = i .to!long;
    if (x > n) break;
    while (n % x == 0) {
      n /= x;
      cnt[i]++;
    }
  }

  auto m = max(a, b);
  auto res = 1;
  
  foreach (k; cnt.keys) {
    if (m % k == 0) {
      res++;
    }
  }

  res.writeln;
}
