#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define INF 50000000000009999ll
using ld = long double;
using ull = unsigned long long;
unordered_map<ll,ll> mp;
ll solve(ll n)
{
if(n==1ll)
return 1;
if(mp.count(n))
return mp[n];
mp[n]=max(n,solve(n/2)+solve(n/3)+solve(n/4));
return mp[n];
}
int main()
{
ll n;
cin>>n;
cout<<solve(n);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define INF 50000000000009999ll
using ld = long double;
using ull = unsigned long long;
unordered_map<ll,ll> mp;
ll solve(ll n)
{
if(n==1ll)
return 1;
if(mp.count(n))
return mp[n];
mp[n]=max(n,solve(n/2)+solve(n/3)+solve(n/4));
return mp[n];
}
int main()
{
ll n;
cin>>n;
cout<<solve(n);
return 0;
}