链接:http://codeforces.com/problemset/problem/689/C
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll get(ll n)
{
ll ans=0;
for(ll k=2;k*k*k<=n;k++)
ans+=n/(k*k*k);
return ans;
}
int main()
{
ll m;
while(~scanf("%lld",&m))
{
ll l=1,r=1e16;
while(l<=r)
{
ll mid=(l+r)/2;
if(get(mid)>=m)r=mid-1;
else l=mid+1;
}
if(get(l)==m)printf("%lld\n",l);
else printf("-1\n");
}
return 0;
}