#include <bits/stdc++.h>
using namespace std;
int a, b, wyn;
int licz(int a, int b) {
  if (a == b) {
    return -1;
  } else if (a < b) {
    return 0;
  }
  int wyn = 0;
  for (int i = 1; i * i <= a - b; i++) {
    if (i * i < a - b) {
      if (a % i == b && (a - b) % i == 0 && i >= b) {
        wyn++;
      }
      if (a % ((a - b) / i) == b && (a - b) % ((a - b) / i) == 0 &&
          (a - b) / i >= b) {
        wyn++;
      }
    } else if (i * i == a - b) {
      if (a % i == b && (a - b) % i == 0 && i >= b) {
        wyn++;
      }
    }
  }
  return wyn;
}
int main() {
  scanf("%d %d", &a, &b);
  int c = licz(a, b);
  if (c == -1)
    printf("infinity");
  else
    printf("%d", c);
}
