fl.cpp
#include <cstdio>
#include <vector>
#include <utility>
int gcd(int a, int b)
{
if (a == b)
return a;
else if (a > b)
return gcd(a -b, b);
else
return gcd(a, b - a);
}
int findlcm(int a, int b)
{
return a * b / gcd(a, b);
}
int main()
{
int k, bl;
while (scanf("%d/%d", &bl, &k) == 2)
{
std::vector< std::pair<int, int> > egypt;
for (int i = k + 1; i <= 2 * k; i++)
{
int lcm = findlcm(i, k);
int nom = (lcm / k) - (lcm / i);
if (lcm % nom == 0)
egypt.push_back(std::make_pair(lcm / nom, 1));
}
printf("%u\n", egypt.size());
}
}