#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
vector<long long> num;
int main() {
  long long i, n, t;
  scanf("%lld", &t);
  for (i = 1;; i++) {
    if ((3 * i * i + i) > 2 * 1000000000) break;
    num.emplace_back((3 * i * i + i) >> 1);
  }
  while (t--) {
    scanf("%lld", &n);
    long long ans = 0;
    while (n > 1) {
      long long v = upper_bound(num.begin(), num.end(), n) - num.begin() - 1;
      n -= num[v];
      ans++;
    }
    printf("%lld\n", ans);
  }
}
