#include <iostream>
using namespace std;
long int solve(long int n, long int dp[]) {
if(n<=1)
return n;
if(dp[n]!=0)
return dp[n];
long int ans = max(n, solve(n/2, dp)+solve(n/3, dp) + solve(n/4, dp));
return dp[n] = ans;
}
int main() {
long int n;
cin >> n;
long int dp[n+1] = {0};
// map<int, int> mp(n);
cout << solve(n, dp) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxvbmcgaW50IHNvbHZlKGxvbmcgaW50ICBuLCBsb25nIGludCBkcFtdKSB7CglpZihuPD0xKQoJCXJldHVybiBuOwoKCWlmKGRwW25dIT0wKQoJCXJldHVybiBkcFtuXTsKCglsb25nIGludCBhbnMgPSBtYXgobiwgc29sdmUobi8yLCBkcCkrc29sdmUobi8zLCBkcCkgKyBzb2x2ZShuLzQsIGRwKSk7CgoJcmV0dXJuIGRwW25dID0gYW5zOwp9CgppbnQgbWFpbigpIHsKCglsb25nIGludCBuOwoJY2luID4+IG47CgoJbG9uZyBpbnQgZHBbbisxXSA9IHswfTsKCgkvLyBtYXA8aW50LCBpbnQ+IG1wKG4pOwoKCWNvdXQgPDwgc29sdmUobiwgZHApIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==