//#define _GLIBCXX_DEBUG #include #include using namespace atcoder; using namespace std; using mint = modint998244353; #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) #define all(a) (a).begin(), (a).end() using ll = long long; const ll INF32 = 2e9; const ll INF64 = 4e18; void printYN(bool ok){ if(ok)cout << "Yes" << endl; else cout << "No" << endl; return; } void solve() { ll Hc, Ac, Sc, Hg, Ag, Sg; cin >> Hc >> Ac >> Sc >> Hg >> Ag >> Sg; if(Sc==Sg){ ll x = (Hc-1)/Ag-(Hg-1)/Ac;// 先に水色が殴れる数. mint ans = 0; mint temp = (mint)(1)/(mint)(10); temp = temp.pow(abs(x)); ans += 1-temp; ans += temp/2; if(x<0)ans = 1-ans; cout << ans.val() << endl; } else { ll x = (Hc-1)/Ag-(Hg-1)/Ac; if(Sc>Sg)x++; mint ans = 0; mint temp = (mint)(1)/(mint)(10); temp = temp.pow(abs(x)); ans += 1-temp; ans += temp/11; if(x<0)ans = 1-ans; cout << ans.val() << endl; } } int main() { int T; cin >> T; rep(i, T)solve(); return 0; }