#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const ll mod=998244353;
struct Matrix {
vector<vector<ll>> a;
inline void init(int n,int m) {
a=vector<vector<ll>>(n,vector<ll>(m,0));
}
friend Matrix operator*(Matrix x,Matrix y) {
auto &a=x.a,&b=y.a;
vector<vector<ll>> ans(a.size(),vector<ll>(b[0].size(),0));
for(int i=0;i<a.size();i++) {
for(int j=0;j<b[0].size();j++) {
ll sum=0;
for(int k=0;k<a[0].size();k++) {
sum=(sum+a[i][k]*b[k][j]%mod)%mod;
}
ans[i][j]=sum;
}
}
return Matrix{ans};
}
void print() {
for(int i=0;i<a.size();i++) {
for(int j=0;j<a[0].size();j++) {
cout<<a[i][j]<<" ";
}cout<<endl;
}
}
};
Matrix qm(Matrix a,ll b) {
Matrix ans;
ans.init(a.a.size(),a.a.size());
for(int i=0;i<ans.a.size();i++) ans.a[i][i]=1;
while(b) {
if(b&1) ans=ans*a;
a=a*a;
b>>=1;
}
return ans;
}
Matrix base,base0;
ll n;
Matrix p0[1024],p1[1024],p2[1024];
void solve() {
cin>>n;
Matrix tmp=p0[n&1023]*p1[n>>10&1023];
int ans=0;
for(int i=0;i<49;i++){
ans=ans+1ll*tmp.a[0][i]*p2[n>>20&1023].a[i][48]%p;
if(ans>=p)ans-=p;
}
cout<<ans<<"\n";
}
/*
*/
signed main() {
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
base=Matrix{
vector<vector<ll>>(49,vector<ll>(49,0))
};
base0=base;
for(int i=0;i<49;i++)base0.a[i][i]=1;
for(int i=0;i<49;i++) {
base.a[i][i]=50;
if(i+7<49)base.a[i][i+7]++;
else base.a[i][i]++;
if(i%7<6)base.a[i][i+1]++;
else base.a[i][i]++;
}
p0[0]=p1[0]=p2[0]=base0;
p0[1]=qm(base,1);
p1[1]=qm(base,1024);
p2[1]=qm(base,1024*1024);
for(int i=2;i<1024;i++){
p0[i]=p0[i-1]*p0[1];
p1[i]=p1[i-1]*p1[1];
p2[i]=p2[i-1]*p2[1];
}
int t=1;
cin>>t;
while(t--)
solve();
}