#include <bits/stdc++.h>
#define ll long long int
#define ld long double
using namespace std;
const ll N = 50010;
const ll mod = 1e9 + 7;
vector <long long> v;
ll sum[N], squaresum[N];
void mainSolve()
{
ll n;
cin >> n;
int indx = upper_bound(v.begin(), v.end(), n) - v.begin() - 1;
ll ans = (n * sum[indx] - squaresum[indx] + mod) % mod;
cout << ans << '\n';
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int t;
cin >> t;
for (int i = 1; i <= 100000; i++)
{
ll tmp = (i * (i - 1)) / 2;
if (tmp > 1e9)
break;
v.push_back(tmp);
}
for (int i = 1; i < v.size(); i++)
{
sum[i] = sum[i - 1] + v[i];
squaresum[i] = squaresum[i - 1] + v[i] * v[i];
sum[i] %= mod;
squaresum[i] %= mod;
}
while (t--)
{
mainSolve();
}
return 0;
}