/*
* @author:- MAHMUDUL HASAN SAKIB
* DATE & TIME :- 2025-04-06 13:17:42
* BANGLADESH , SYLHET.
*/
#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <chrono>
#include <cmath>
#include <complex>
#include <deque>
#include <forward_list>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iostream>
#include <limits>
#include <list>
#include <map>
#include <memory>
#include <numeric>
#include <optional>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <tuple>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
using namespace std;
#define fi first
#define se second
#define endl '\n'
#define ll long long
#define ull unsigned long long
#define ld long double
#define PI acos(-1.0)
#define pb push_back
#define mp make_pair
#define vi vector<ll>
#define maxn 500005
#define mod 1000000007
#define inf 1000000007
#define pii pair<ll,ll>
#define vii vector<pii>
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()
#define lcm(a,b) ((a*b)/__gcd(a,b));
#define srt(v) sort(v.begin(),v.end())
#define rsrt(v) sort(v.rbegin(),v.rend())
#define setbits(x) __builtin_popcountll(x)
#define rep(i, a, b) for(ll i = (a); i < (b); i++)
#define per(i, a, b) for(int i = (a); i >= (b); i--)
#define rev_str(str) reverse(str.begin(),str.end());
#define print(v) for(auto e:v) cout<<e<<" "; cout<<endl;
#define sum(a) (accumulate((a).begin(), (a).end(), 0LL))
#define printp(v) for(auto e:v) cout<<e.first<<" "<<e.second<<endl;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
bool sortByValue(const pair<int, int>& a, const pair<int, int>& b) {return a.second > b.second;}
const int N= 1e5;
//vi ans(N);
ll ans[N];
//unordered_map<ll,ll>ans;
ll spf[N];
void sieve() {
for (int i = 2; i < N; ++i) {
if (spf[i] == 0) {
for (int j = i; j < N; j += i) {
if (spf[j] == 0) spf[j] = i;
}
}
}
}
ll countDivisors(ll n) {
ll divisors = 1;
for (ll i = 2; i * i <= n; ++i) {
int count = 0;
while (n % i == 0) {
n /= i;
count++;
}
divisors *= (count + 1);
}
if (n>1) {
divisors *= 2;
}
return divisors;
}
// int countDivisors(ll n) {
// int res = 1;
// while (n > 1) {
// int p = spf[n];
// int cnt = 0;
// while (n % p == 0) {
// n /= p;
// cnt++;
// }
// res *= (cnt + 1);
// }
// return res;
// }
void solve(){
ll n;cin>>n;
cout<<ans[n]<<endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
sieve();
// ll mx = 1;
// sieve();
// for(int i=1;i<N;i++){
// ll send = (i*(i+1))/2;
// ll num = countDivisors(send);
// if(num>mx){
// ans[i] = num;
// mx = num;
// }
// else{
// ans[i] = mx;
// }
// }
ll mx = 1;
for (int i=1;i < N;i++) {
ll sum = 1LL*i*(i+1)/2;
ll d = countDivisors(sum);
mx = max(mx, d);
ans[i] = mx;
}
ll t=1;cin>>t;
while(t--){
solve();
}
return 0;
}