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