#include <bits/stdc++.h>
using namespace std;
const long long INF = 2e18;
long long mypow(long long x, long long n) {
  long long ans = 1;
  for (long long i = 0; i < n; ++i) ans *= x;
  return ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  long long a, b, n;
  cin >> a >> b >> n;
  if (a == 0 && b != 0)
    cout << "No solution\n";
  else if (n % 2 == 0 && b * a < 0)
    cout << "No solution\n";
  else if (a == b && a == 0)
    cout << 1 << "\n";
  else {
    long double x;
    long double tmp = 1. * b / a;
    if (tmp < 0)
      x = -pow(-1. * b / a, 1. / n);
    else
      x = pow(1. * b / a, 1. / n);
    long long x1 = floor(x), x2 = ceil(x);
    if (a * mypow(x1, n) == b)
      cout << x1 << "\n";
    else if (a * mypow(x2, n) == b)
      cout << x2 << "\n";
    else
      cout << "No solution\n";
  }
  return 0;
}
