//一个暴力的题目让我做了将近一个半小时,郁闷啊……
//开始算法不对,开始我以为只需要找但个数的次幂和当前数与三个质数的乘积最小值就行了,后来分析一下错了
//只能暴力了,直接从后向前一个一个分别和三个数乘找出最小的,但是wa了,后来终于明白我的min太小了,至少要设到2^60次方,
//16进制要15个f,小了就会错误。谨记。
#include<stdio.h>
__int64 Min(__int64 a,__int64 b)
{
return a<b?a:b;
}
int main()
{
__int64 cnt=1,i;
__int64 p1,p2,p3;
__int64 num,min;
__int64 k,p[100000];
scanf("%I64d%I64d%I64d%I64d",&p1,&p2,&p3,&num);
k=Min(p1,Min(p2,p3));
p[0]=1;
p[1]=k;
while(cnt<=num)
{
min=0xfffffffffffffff;
cnt++;
for(i=cnt-1;i>=0;i--)
{
if(p1*p[i]<=p[cnt-1])
break;
}
if(min>p1*p[i+1])
min=p1*p[i+1];
for(i=cnt-1;i>=0;i--)
{
if(p2*p[i]<=p[cnt-1])
break;
}
if(min>p2*p[i+1])
min=p2*p[i+1];
for(i=cnt-1;i>=0;i--)
{
if(p3*p[i]<=p[cnt-1])
break;
}
if(min>p3*p[i+1])
min=p3*p[i+1];
p[cnt]=min;
}
// for(i=0;i<=num;i++)
printf("%I64d/n",p[num]);
return 0;
}