#include <bits/stdc++.h> using namespace std; typedef long long ll; #define REP(i,n) for(int i=0,_n=(int)(n);i<_n;++i) #define ALL(v) (v).begin(),(v).end() template<class T1,class T2>ostream& operator<<(ostream& os,const pair<T1,T2>&a){return os<<"("<<a.first<<","<<a.second<< ")";} template<class T>void pv(T a,T b){for(T i=a;i!=b;++i)cout<<(*i)<<" ";cout<<endl;} template<class T>bool chmin(T&a,const T&b){return a>b?(a=b,1):0;} template<class T>bool chmax(T&a,const T&b){return a<b?(a=b,1):0;} ll a(ll n) { if (n <= 1) { return 0; } if (n % 2 == 0) { return a(n/2) + n/2; } else { return 2 * a(n/2); } return 0; } int main2() { ll n; cin >> n; ll ans = a(n); cout << ans << endl; return 0; } int main() { for (;!cin.eof();cin>>ws) main2(); return 0; }