#include <bits/stdc++.h>
#define INT long long int
#define endl "\n"
using namespace std;
INT n;
char in[100], out[110];
int g(int x)
{
    if( x == 1 ) return 1;
    int ret = 0x3f3f3f3f;
    for(int i = 1 ; i < x ; i++ )
        ret = min( ret, 2*g(i) + (1<<(x-i))-1 );
    return ret;
}
int f(int x)
{
    if( x == 1 ) return 1;
    int ret = 0x3f3f3f3f;
    for(int i = 1 ; i < x ; i++ )
        ret = min( ret, 2*f(i) + g(x-i) );
    return ret;
}
int main()
{
   // for(int i = 1 ; i <= 20 ; i++ )
    {
        //sprintf(in, ".%d.in", i);
        //freopen(in, "w", stdout);
        //n = i;
        cin>>n;
        //cout<<n<<endl;
        //sprintf(out, ".%d.out", i);
        //freopen(out, "w", stdout);
        cout<<f(n)<<endl;
    }
}
