#include<stdio.h>
#define MAX 1000000
long long int a[MAX]={0};
long long int max(long long int a,long long int b)
{
return a>b?a:b;
}
long long int split(long long int n)
{
long long int x1,x2,x3,x;
if(n==0)
return 0;
if(n<MAX)
{
if(a[n]==0){
x1=split(n/2);
x2=split(n/3);
x3=split(n/4);
x=x1+x2+x3;
a[n]=max(x,n);
}
return a[n];
}
else
{
x1=split(n/2);
x2=split(n/3);
x3=split(n/4);
x=x1+x2+x3;
return max(x,n);
}
}
int main()
{
long long int n,x;
while(scanf("%lld",&n
)!=EOF
)
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2RlZmluZSBNQVggMTAwMDAwMApsb25nIGxvbmcgaW50IGFbTUFYXT17MH07Cgpsb25nIGxvbmcgaW50IG1heChsb25nIGxvbmcgaW50IGEsbG9uZyBsb25nIGludCBiKQp7CiAgICByZXR1cm4gYT5iP2E6YjsKfSAKCmxvbmcgbG9uZyBpbnQgc3BsaXQobG9uZyBsb25nIGludCBuKQp7CiBsb25nIGxvbmcgaW50IHgxLHgyLHgzLHg7CiAgaWYobj09MCkKICAJcmV0dXJuIDA7CiAgaWYobjxNQVgpIAogIHsKICBpZihhW25dPT0wKXsKICB4MT1zcGxpdChuLzIpOwogIHgyPXNwbGl0KG4vMyk7CiAgeDM9c3BsaXQobi80KTsKICB4PXgxK3gyK3gzOwogIGFbbl09bWF4KHgsbik7CiAgfQogIHJldHVybiBhW25dOwogIH0KICBlbHNlCiAgewogIAkgeDE9c3BsaXQobi8yKTsKICAJeDI9c3BsaXQobi8zKTsKICAJeDM9c3BsaXQobi80KTsKICAJeD14MSt4Mit4MzsKICAJcmV0dXJuIG1heCh4LG4pOwogIH0KfQogCmludCBtYWluKCkKewogICAgbG9uZyBsb25nIGludCBuLHg7CiAgICAgd2hpbGUoc2NhbmYoIiVsbGQiLCZuKSE9RU9GKQogICAgeyAgIG1lbXNldChhLDAsc2l6ZW9mIGEpOwogICAgCQogICAgICAgCXByaW50ZigiJWxsZFxuIixzcGxpdChuKSk7CiAgICB9CiAgICByZXR1cm4gMDsKfQoKCgoKCg==