#include <bits/stdc++.h>
int pw(int x, int n) {
  int s = 1;
  for (int i = 0; i < n; ++i) s *= x;
  return s;
}
int main() {
  int a, b, n, x;
  scanf("%d %d %d", &a, &b, &n);
  if (a == 0 && b == 0) {
    printf("%d", x);
    return 0;
  }
  if (a == 0 || b == 0 && n == 0) {
    puts("No solution");
    return 0;
  }
  if (b == 0) {
    puts("0");
    return 0;
  }
  if (n == 0) {
    if (a == b) {
      printf("%d\n", x);
      return 0;
    } else {
      puts("No solution");
      return 0;
    }
  }
  if (b % a) {
    puts("No solution");
    return 0;
  }
  if (n == 1) {
    printf("%d\n", b / a);
    return 0;
  }
  if (n % 2 == 0 && a * b < 0) {
    puts("No solution");
    return 0;
  }
  int begin[] = {-1000, -1000, -32, -11, -6, -4, -4, -4, -4, -4, -4};
  for (x = begin[n]; x <= -begin[n]; x++) {
    if (a * pw(x, n) == b) {
      if (n % 2 == 0 && a * b > 0) {
        printf("%d\n", x);
        return 0;
      } else {
        printf("%d\n", x);
        return 0;
      }
    }
  }
  puts("No solution");
  return 0;
}
