#include <bits/stdc++.h> //g++-9で実行（gcc version 9.3.0），g++だとデフォルトのclang

using namespace std;

//#define int long long                         //intでオーバフローした時の切り替え用
#define debug(x) cerr << #x << ": " << x << endl //エラー出力として変数名と変数の中身表示
#define DEBUG_VEC(v)                   \
    cerr << #v << ":";                 \
    for (int i = 0; i < v.size(); i++) \
        cerr << " " << v[i];           \
    cerr << endl;
#define DEBUG_MAT(v)                          \
    cerr << #v << endl;                       \
    for (int i = 0; i < v.size(); i++)        \
    {                                         \
        for (int j = 0; j < v[i].size(); j++) \
        {                                     \
            cerr << v[i][j] << " ";           \
        }                                     \
        cerr << endl;                         \
    }
#define Sp(p) cout << setprecision(25) << fixed << p << endl; //小数点以下を25桁で表示
#define all(obj) (obj).begin(), (obj).end()
#define pb push_back

//usingエイリアス（別名という意味，型定義のこと）
using ll = long long;
//template <class T> using Vec = std::vector<T>;//エイリアステンプレート

const ll MOD = (ll)1e9 + 7;
//const ll MOD = 998244353;
const ll INF = (ll)1e18 + 1;
const double EPS = 1e-9;
const long double pi = 3.1415926535897932384626433832795028841971L;

//マクロでintをlong longと定義したときはsinged
int main()
{
    cin.tie(0);                  //cinとcoutの同期を切る（高速化)
    ios::sync_with_stdio(false); //iostreamとstdioの同期を切る（高速化)


    ll X;
    cin >> X;
    for(ll A=0;A<INF;A++){
       ll tmp = A*A*A*A*A-X;
       if (tmp>=0){
               for(ll B=0;B<INF;B++){
                   ll tmp2 = B*B*B*B*B;
                   if (tmp2==tmp){
                       cout << A << B << endl;
                       return 0;
                   }                   
                   else if(tmp2>tmp){break;}
               }
       }
       else{
           ll tmp3 = -1*tmp;
           for(ll B=0;B<INF;B++){
                   ll tmp2 = B*B*B*B*B;
                   if (tmp2==tmp3){
                       cout << A << (-1)*B << endl;
                       return 0;
                   }
                   else if(tmp2>tmp3){break;}
               }
       }
    }
    return 0;
}