#include<iostream>
#include<cstring>
#define int long long
using namespace std;
const int maxn=500001;
bool prime(int x){
for(int i=2;i*i<=x;i++){
if(x%i==0)return false;
}
return true;
}
int res(int x){
if(x<=2)return x;
return (res(x/2)*res(x/4))%1000000;
}
int a[maxn],len,val=-EOF,ans;
signed main(){
while(true){
a[++len]=getchar();
if(a[len]=='\n'){
len--;
break;
}
}
for(int i=1;i<=len;i++){
a[i]=(a[i]*1000000)%747+747;
}
while(val){
val=0;
for(int i=1;i<=len;i++){
val+=a[i]*(val+1);
val%=1000000007;
}
for(int i=1;i<=len;i++){
a[i]=(a[i]*val)%998244353;
}
if(prime(val)&&prime(res(val))&&val>820817713)break;
}
printf("%lld",val);
return 0;
}