/*
AUTHOR : Chandan Agrawal
College : Poornima College of Engg. jaipur, Raj
Mail : chandanagrawal23@gmail.com
*/
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
#define fastio ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define MAX 100050
#define ll long long
#define ld long double
#define lli long long int
#define pb emplace_back
#define INF 1000000000
#define mod 998244353
// trignometric function always give value in Radians only
#define PI acos(-1) //3.1415926535897932384626433832795028
#define dsin(degree) sin(degree*(PI/180.0))
#define dcos(degree) cos(degree*(PI/180.0))
#define dtan(degree) tan(degree*(PI/180.0))
#define rsin(radian) sin(radian)
#define rcos(radian) cos(radian)
#define rtan(radian) tan(radian)
#define loop(i,n) for (lli i = 0; i < n; i++)
#define loopitr(xt,vec) for (auto xt : vec)
#define FOR(i,a,b) for (lli i = a; i < b; i+=1)
#define loop_rev(i,n) for (lli i = n-1; i >= 0; i--)
#define FOR_REV(i,a,b) for (lli i = a; i >= b; i--)
#define itr :: iterator it
#define WL(t) while(t --)
#define all(v) v.begin(),v.end()
#define sz(x) int(x.size())
#define F first
#define S second
#define mii map<lli,lli>
#define vi vector<lli>
#define seti set<lli>
#define pii pair<lli,lli>
#define gcd(a,b) __gcd((a),(b))
#define lcm(a,b) (a/gcd(a,b))*b
#define abs(x) ((x < 0)?-(x):x)
template <typename T>
void print(T x){cout<<x<<endl;}
template <typename T1, typename T2>
void print2(T1 x,T2 y){cout<<x<<" "<<y<<endl;}
template <typename T1, typename T2,typename T3>
void print3(T1 x, T2 y,T3 z){cout<<x<<" "<<y<<" "<<z<<endl;}
#define scanarr(a,n) for(lli i=0;i<n;i++) cin>>a[i];
#define scanvector(a,n) for(lli i=0;i<n;i++){ lli x ; cin>>x; a.pb(x);}
#define printarr(a,n) for(lli i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl;
#define printvector(vec) for(auto xt : vec) cout<<xt<<" "; cout<<"\n";
#define printset(st) for(auto xt : st) cout<<xt<<" "; cout<<"\n";
#define FD(N) fixed<<setprecision(N)
#define endl '\n'
#define deb(x) cout<<#x<<" "<<x<<endl;
// chandan1,2
void chandan1(){int y=1;return;}
void chandan2(){
loop(i,10){
lli x=1;
}
return(chandan1());
}
lli find_mod(string s,lli pisano){
lli i,x=0;
for(i=0;i<s.length();i++)
x=(x*10+s[i]-'0')%pisano;
return x;
}
int main(){
fastio
lli t=1;
cin>>t;
//chandan2();
while(t--) {
string n;
cin>>n;
if(n=="0"){
print(n);
continue;
}
lli pisano = 1996488708;
lli val = find_mod(n,pisano);
lli prev = 0;
lli next = 1;
if(val==0)
print(0);
if(val==1)
print(1);
else{
loop(i,val-1){
lli a = prev;
prev = next ;
next += a;
next%=mod;
}
print(next%mod);
}
}
return 0;
}
LyoKQVVUSE9SIDogQ2hhbmRhbiBBZ3Jhd2FsCkNvbGxlZ2UgOiBQb29ybmltYSBDb2xsZWdlIG9mIEVuZ2cuIGphaXB1ciwgUmFqCk1haWwgOiBjaGFuZGFuYWdyYXdhbDIzQGdtYWlsLmNvbQoqLwoKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGU8c3RkaW8uaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgZmFzdGlvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoMCk7Y291dC50aWUoMCk7CiNkZWZpbmUgTUFYIDEwMDA1MAoKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIGxsaSBsb25nIGxvbmcgaW50CgojZGVmaW5lIHBiIGVtcGxhY2VfYmFjawojZGVmaW5lIElORiAxMDAwMDAwMDAwCiNkZWZpbmUgbW9kIDk5ODI0NDM1MwoKLy8gdHJpZ25vbWV0cmljIGZ1bmN0aW9uIGFsd2F5cyBnaXZlIHZhbHVlIGluIFJhZGlhbnMgb25seQojZGVmaW5lIFBJIGFjb3MoLTEpIC8vMy4xNDE1OTI2NTM1ODk3OTMyMzg0NjI2NDMzODMyNzk1MDI4CiNkZWZpbmUgZHNpbihkZWdyZWUpIHNpbihkZWdyZWUqKFBJLzE4MC4wKSkKI2RlZmluZSBkY29zKGRlZ3JlZSkgY29zKGRlZ3JlZSooUEkvMTgwLjApKQojZGVmaW5lIGR0YW4oZGVncmVlKSB0YW4oZGVncmVlKihQSS8xODAuMCkpCgojZGVmaW5lIHJzaW4ocmFkaWFuKSBzaW4ocmFkaWFuKQojZGVmaW5lIHJjb3MocmFkaWFuKSBjb3MocmFkaWFuKQojZGVmaW5lIHJ0YW4ocmFkaWFuKSB0YW4ocmFkaWFuKQoKI2RlZmluZSBsb29wKGksbikgZm9yIChsbGkgaSA9IDA7IGkgPCBuOyBpKyspCiNkZWZpbmUgbG9vcGl0cih4dCx2ZWMpIGZvciAoYXV0byB4dCA6IHZlYykKI2RlZmluZSBGT1IoaSxhLGIpIGZvciAobGxpIGkgPSBhOyBpIDwgYjsgaSs9MSkKI2RlZmluZSBsb29wX3JldihpLG4pIGZvciAobGxpIGkgPSBuLTE7IGkgPj0gMDsgaS0tKQojZGVmaW5lIEZPUl9SRVYoaSxhLGIpIGZvciAobGxpIGkgPSBhOyBpID49IGI7IGktLSkKI2RlZmluZSBpdHIgOjogaXRlcmF0b3IgaXQKI2RlZmluZSBXTCh0KSB3aGlsZSh0IC0tKQoKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBzeih4KSBpbnQoeC5zaXplKCkpCiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCgojZGVmaW5lIG1paSBtYXA8bGxpLGxsaT4KI2RlZmluZSB2aSB2ZWN0b3I8bGxpPgojZGVmaW5lIHNldGkgc2V0PGxsaT4KI2RlZmluZSBwaWkgcGFpcjxsbGksbGxpPgoKI2RlZmluZSBnY2QoYSxiKSBfX2djZCgoYSksKGIpKQojZGVmaW5lIGxjbShhLGIpIChhL2djZChhLGIpKSpiCiNkZWZpbmUgYWJzKHgpICgoeCA8IDApPy0oeCk6eCkKCnRlbXBsYXRlIDx0eXBlbmFtZSBUPgp2b2lkIHByaW50KFQgeCl7Y291dDw8eDw8ZW5kbDt9CnRlbXBsYXRlIDx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDI+CnZvaWQgcHJpbnQyKFQxIHgsVDIgeSl7Y291dDw8eDw8IiAiPDx5PDxlbmRsO30KdGVtcGxhdGUgPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMix0eXBlbmFtZSBUMz4Kdm9pZCBwcmludDMoVDEgeCwgVDIgeSxUMyB6KXtjb3V0PDx4PDwiICI8PHk8PCIgIjw8ejw8ZW5kbDt9CgojZGVmaW5lIHNjYW5hcnIoYSxuKSBmb3IobGxpIGk9MDtpPG47aSsrKSAgICBjaW4+PmFbaV07CiNkZWZpbmUgc2NhbnZlY3RvcihhLG4pIGZvcihsbGkgaT0wO2k8bjtpKyspeyBsbGkgeCA7IGNpbj4+eDsgYS5wYih4KTt9CgojZGVmaW5lIHByaW50YXJyKGEsbikgZm9yKGxsaSBpPTA7aTxuO2krKykgICBjb3V0PDxhW2ldPDwiICI7IGNvdXQ8PGVuZGw7CiNkZWZpbmUgcHJpbnR2ZWN0b3IodmVjKSBmb3IoYXV0byB4dCA6IHZlYykgY291dDw8eHQ8PCIgIjsgICAgY291dDw8IlxuIjsKI2RlZmluZSBwcmludHNldChzdCkgZm9yKGF1dG8geHQgOiBzdCkgY291dDw8eHQ8PCIgIjsgICAgY291dDw8IlxuIjsKCiNkZWZpbmUgRkQoTikgZml4ZWQ8PHNldHByZWNpc2lvbihOKQoKI2RlZmluZSBlbmRsICdcbicKCiNkZWZpbmUgZGViKHgpIGNvdXQ8PCN4PDwiICI8PHg8PGVuZGw7CgovLyBjaGFuZGFuMSwyCnZvaWQgY2hhbmRhbjEoKXtpbnQgeT0xO3JldHVybjt9CnZvaWQgY2hhbmRhbjIoKXsKICAgICAgICBsb29wKGksMTApewogICAgICAgIGxsaSB4PTE7CiAgICB9CiAgICByZXR1cm4oY2hhbmRhbjEoKSk7Cn0KCgpsbGkgZmluZF9tb2Qoc3RyaW5nIHMsbGxpIHBpc2Fubyl7CmxsaSBpLHg9MDsKZm9yKGk9MDtpPHMubGVuZ3RoKCk7aSsrKQogICAgeD0oeCoxMCtzW2ldLScwJyklcGlzYW5vOwpyZXR1cm4geDsKfQoKaW50IG1haW4oKXsKZmFzdGlvCmxsaSB0PTE7CmNpbj4+dDsKLy9jaGFuZGFuMigpOwp3aGlsZSh0LS0pIHsKICAgc3RyaW5nIG47CiAgIGNpbj4+bjsKICAgaWYobj09IjAiKXsKICAgICAgIHByaW50KG4pOwogICAgICAgY29udGludWU7CiAgIH0KICAgbGxpIHBpc2FubyA9IDE5OTY0ODg3MDg7CiAgIGxsaSB2YWwgPSBmaW5kX21vZChuLHBpc2Fubyk7CiAgIGxsaSBwcmV2ID0gMDsKICAgbGxpIG5leHQgPSAxOwogICBpZih2YWw9PTApCiAgICBwcmludCgwKTsKICAgaWYodmFsPT0xKQogICAgcHJpbnQoMSk7CiAgIGVsc2V7CiAgIGxvb3AoaSx2YWwtMSl7CiAgICAgICBsbGkgYSA9IHByZXY7CiAgICAgICBwcmV2ID0gbmV4dCA7IAogICAgICAgbmV4dCArPSBhOwogICAgICAgbmV4dCU9bW9kOwogICB9CiAgIHByaW50KG5leHQlbW9kKTsKICAgfQogICAgCiAgfQpyZXR1cm4gMDsKfQ==