#include <bits/stdc++.h>
const int maxn = 5e3 + 10;
using namespace std;
long long a, b, t, p[maxn];
int kk = 0;
void fj(long long x, long long y) {
  if (y == 1) return;
  while (x) {
    p[kk++] = x % y;
    x /= y;
  }
}
int ck(long long x, long long m) {
  long long ans = 0, s = 1, i = 0;
  while (i < kk) {
    ans += p[i++] * s;
    s *= m;
  }
  if (ans == x) return 1;
  return 0;
}
void xin(long long b, long long a, long long t) {
  fj(b, a);
  if (ck(a, t))
    puts("1");
  else
    puts("0");
}
int main() {
  cin >> t >> a >> b;
  if (t == 1) {
    if (a == b && b == 1) {
      puts("inf");
      return 0;
    }
    if (a > b) {
      puts("0");
      return 0;
    }
    long long s = 1;
    if (a != 1)
      while (s < b) s *= a;
    if (s == b)
      puts("1");
    else
      xin(b, a, t);
  } else {
    if (a == b && b == t)
      puts("2");
    else if (a == b)
      puts("1");
    else
      xin(b, a, t);
  }
  return 0;
}
