#include <iostream>
using namespace std;
int main()
{
long n;
cin>>n;
long long res=0;
long t=2;//用t表示2^k
int count=0;
while(count<n/2)
{
for(long i=1;t*i<=n;i=i+2)//找到2^k*i<=n的所有i
{
res=res+i;
count++;
}
t=t*2;
}
if(n%2==0) //当n为奇数时,序列中的奇数和
{
res=res+n*n/4;
}
else//当n为偶数时,序列中的奇数和
{
res=res+(n+1)*(n+1)/4;
}
cout<<res<<endl;
return 0;
}