local DBG = true
local function dbgpr(...)
    if DBG then
        io.write("[dbg]")
        print(...)
    end
end

local function dbgpr_t(tbl, use_pairs)
    if DBG then
        local enum = ipairs
        if use_pairs then
            enum = pairs
        end
        dbgpr(tbl)
        io.write("[dbg]")
        for i,v in enum(tbl) do
            io.write(i)
            io.write(":")
            io.write(tostring(v))
            io.write(" ")
        end
        print("")
    end
end
local function factorize(n)
    local nn = n
    local lst = {}
    for i = 2, math.floor(n ^ 0.5) do
        k = 0
        while nn % i == 0 do
            k = k + 1
            nn = nn // i
            table.insert(lst, i)
        end
    end
    if nn ~= 1 then
        table.insert(lst, nn)
    end
    return lst
end

local A, B = io.read("n","n")
local f1 = factorize(A)
local f2 = factorize(B)
local s1 = {}
for _,v in ipairs(f1) do
    s1[v] = true
end
local s2 = {}
for _,v in ipairs(f2) do
    s2[v] = true
end
local smul = {1}
for k,_ in pairs(s1) do
    if s2[k] then
        table.insert(smul, k)
    end
end
print(#smul)
