#include #include using namespace std; __int64 x[100001]={0}; void set(__int64 p1,__int64 p2,__int64 p3,__int64 n) { __int64 a=1,b=1,c=1,k=2,s[3]; x[1]=1; while(k<=n+1) { s[0]=x[a]*p1;s[1]=x[b]*p2;s[2]=x[c]*p3; sort(s,s+3); x[k]=s[0]; if(n+1==k)printf("%I64d\n",x[k]); if(s[0]==x[a]*p1) a++; if(s[0]==x[b]*p2) b++; if(s[0]==x[c]*p3) c++; k++; } } int main() { __int64 p1,p2,p3,i; while(scanf("%I64d%I64d%I64d%I64d",&p1,&p2,&p3,&i)!=EOF) set(p1,p2,p3,i); return 0; }