#include <bits/stdc++.h>
using namespace std;
struct para {
  long long x, y, z;
  bool operator<(const para &a) const {
    if (x < a.x) return 1;
    if (x > a.x) return 0;
    if (y < a.y) return 1;
    return 0;
  }
};
const long long MAXN = 5e6, INF = 9e17, MOD = 1e9 + 7;
long long n, m, d = 1, k, ans, a, b = 1;
int main() {
  cin >> n;
  n--;
  while (d <= n) {
    if (n % (d * 2)) {
      n -= d;
      ans += b;
    }
    b = b * 2 + d;
    d *= 2;
  }
  cout << ans;
  return 0;
}
