#include <bits/stdc++.h>
using namespace std;
bool isprime(long long n) {
  for (long long i = 2; i <= sqrt(n); i++) {
    if (n % i == 0) return false;
  }
  return true;
}
bool prm[10000007];
long long N = 10000000;
void sieve() {
  prm[1] = 1;
  for (long long i = 2; i <= sqrt(N); i++) {
    if (prm[i] == 0) {
      for (long long j = i + i; j <= N; j = j + i) prm[j] = 1;
    }
  }
}
long long bm(long long b, long long p) {
  long long namira;
  if (p == 0) return 1;
  if (p % 2 == 0) {
    namira = bm(b, p / 2);
    return ((namira % 1000000007) * (namira % 1000000007)) % 1000000007;
  } else {
    return ((b % 1000000007) * (bm(b, p - 1) % 1000000007)) % 1000000007;
  }
}
int main() {
  long long a, b, c, n1, n2, n, r, i, j, x;
  scanf("%I64d", &n);
  for (i = 0; i < n; i++) {
    scanf("%I64d", &a);
    r = (a * (a + 1)) / 2;
    x = 1;
    for (j = 0;; j++) {
      r -= (x * 2);
      x = x * 2;
      if (x > a) break;
    }
    printf("%I64d\n", r);
  }
  return 0;
}
