#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;
}