#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;
}