#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
const int NMAX = 1e5 + 5;
i64 c[NMAX];
int px[NMAX];
bool p[NMAX];
inline char nextch() {
const int BMAX = 1 << 17;
static int bp = BMAX;
static char buff[BMAX];
if (bp == BMAX) {
fread(buff, 1, BMAX, stdin);
bp = 0; }
return buff[ bp++ ]; }
void get(int &arg) {
char ch;
do {
ch = nextch(); }
while (ch < '0' || '9' < ch);
arg = 0;
do {
arg = arg * 10 + ch - '0';
ch = nextch(); }
while ('0' <= ch && ch <= '9'); }
void pinex() {
p[0] = p[1] = 1;
for (int i = 4; i < NMAX; i+= 2)
p[i] = 1;
for (int i = 3; i * i < NMAX; i+= 2) if (!p[i])
for (int j = i * i; j < NMAX; j+= 2 * i)
p[j] = 1;
for (int i = 2; i < NMAX; ++i)
px[i] = 1;
for (int i = 2; i * i < NMAX; ++i)
for (int j = i * i; j < NMAX; j+= i * i)
px[j] = 0;
for (int i = 2; i < NMAX; ++i) if (!p[i])
for (int j = i; j < NMAX; j+= i)
px[j]*= -1;
for (int i = 2; i < NMAX; ++i) if (px[i])
for (int j = i; j < NMAX; j+= i)
c[j]+= (2LL * j / i) * (2LL * j / i + 1) / 2 * i * px[i]; }
int main() {
freopen("sum.in", "r", stdin);
freopen("sum.out", "w", stdout);
int n, t;
pinex();
get(n);
while (n--) {
get(t);
printf("%lld\n", (2LL * t) * (2LL * t + 1) / 2 + c[t]); }
return 0; }