#include <cstdio>
#include <cstring>
#include <iostream>
#include <map>
#include <algorithm>
using namespace std;
typedef long long ll;
map<ll,ll>mp1;
int cnt;
void init()
{
cnt=2;
mp1[1]=2;
mp1[2]=7;
while(mp1[cnt]<=1e9)
{
cnt++;
mp1[cnt]=mp1[cnt-1]+cnt*2+cnt-1;
}
}
void solve()
{
int n;
cin>>n;
int ans=0;
while(n>=2)
{
int l=1,r=cnt;
while(l<r)
{
int mid=l+r+1>>1;
if(mp1[mid]<=n)
l=mid;
else
r=mid-1;
}
ans++;
n-=mp1[r];
}
cout<<ans<<endl;
}
int main()
{
init();
int t;
cin>>t;
while(t--)
solve();
return 0;
}