#include <algorithm>
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
typedef long long ll;
ll a[201],p[201];
ll f(ll n)
{
ll x=0,i,t;
for(i=0;i<201;i++)
{
if(n<p[i])
{
x=i-1;
break;
}
}
t=n-p[x];
if(t==0)
return a[x];
ll res=t*(p[x]*2-1-t)/2;
return a[x]+f(t)*2+res;
}
int main()
{
ll n,i,j,t;
p[0]=1;
for(i=1;i<200;i++)
p[i]=p[i-1]*2;
a[0]=a[1]=0;
for(i=2;i<200;i++)
{
t=p[i-1]*(p[i-1]-1)/2;
a[i]=a[i-1]*3+t;
}
while(cin>>n)
{
cout<<f(n+1)<<endl;
}
return 0;
}