#include <bits/stdc++.h>
using namespace std;
const long long long_MAX = 9223372036854775807;
const int intint_MAX = 2147483647;
long long N;
long long a[2100000];
int main() {
  long long i, j, cnt = 0;
  scanf("%I64d", &N);
  long long l = 0, r = long_MAX;
  for (i = 2; i <= 2097151; i++) {
    a[i] = i * i * i;
  }
  while (1) {
    if (l >= r) break;
    long long mid = (l + r) / 2;
    for (j = 2; j <= 2097151 && a[j] <= mid; j++) {
      cnt += (mid / a[j]);
    }
    if (cnt >= N) {
      r = mid;
    } else {
      l = mid + 1;
    }
    cnt = 0;
  }
  cnt = 0;
  for (j = 2; j <= 2097151; j++) {
    cnt += (l / a[j]);
  }
  if (cnt == N) {
    printf("%I64d", l);
  } else {
    printf("-1");
  }
}
