rt
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
typedef signed sh;
int mod1=1e9+7,mod2=998244353;
using namespace std;
inline int read(){
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
//深度优先搜索
void dfs(int k){
if(/*条件*/1){
/*输出*/
return;
}
else{
/*递归*/
dfs(k+1);
}
}
//快速幂
int quick_pow(int a, int b, int p=0)
{
if (b == 0)
return 1;
if (b % 2 == 0)
return quick_pow(a * a % p, b / 2, p);
return quick_pow(a * a % p, b / 2, p) * a % p;
}
//翻转字符串
string fz(string a){
string b="";
for(int i=a.size()-1;i>=0;i--){
b+=a[i];
}
return b;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n,x=0;
cin>>n;
while(1){
if(log10(pow(x,x))+1>=n){
cout<<x;
break;
}
x++;
}
return 0;
}