#include <bits/stdc++.h>
using namespace std;
const long long Inf = 1000000000000000000LL;
bool okMult(long long a, long long b) {
  if (a == 0 || b == 0) return true;
  return a <= Inf / b;
}
bool okAdd(long long a, long long b) { return a <= Inf - b; }
int ck(long long t, long long a, long long b) {
  long long now = 1, sum = 0;
  while (b) {
    long long wei = b % a;
    if (okMult(now, wei)) {
      long long num = now * wei;
      if (okAdd(num, sum)) {
        sum += num;
      } else {
        return 0;
      }
    } else {
      return 0;
    }
    b /= a;
    if (b) {
      if (okMult(now, t)) {
        now *= t;
      } else {
        return 0;
      }
    }
  }
  if (sum == a) {
    return 1;
  } else {
    return 0;
  }
}
bool isExp(long long a, long long b) {
  while (b != 1) {
    if (b % a != 0) {
      return false;
    }
    b /= a;
  }
  return true;
}
int main() {
  long long t, a, b;
  scanf("%I64d%I64d%I64d", &t, &a, &b);
  if (t > 1) {
    if (a == b) {
      if (t == a) {
        puts("2");
      } else {
        puts("1");
      }
    } else {
      printf("%d\n", ck(t, a, b));
    }
  } else {
    if (a == 1) {
      if (b == 1) {
        puts("inf");
      } else {
        puts("0");
      }
    } else {
      if (b >= a && isExp(a, b)) {
        puts("1");
      } else {
        printf("%d\n", ck(t, a, b));
      }
    }
  }
  return 0;
}
