#include #include using namespace std; using namespace atcoder; // using mint = modint1000000007; // const int mod = 1000000007; using mint = modint998244353; const int mod = 998244353; // const int INF = 1e9; // const long long LINF = 1e18; #define rep(i, n) for (int i = 0; i < (n); ++i) #define rep2(i, l, r) for (int i = (l); i < (r); ++i) #define rrep(i, n) for (int i = (n)-1; i >= 0; --i) #define rrep2(i, l, r) for (int i = (r)-1; i >= (l); --i) #define all(x) (x).begin(), (x).end() #define allR(x) (x).rbegin(), (x).rend() #define P pair template inline bool chmax(A& a, const B& b) { if (a < b) { a = b; return true; } return false; } template inline bool chmin(A& a, const B& b) { if (a > b) { a = b; return true; } return false; } mint f(long long x, long long y) { if (x >= 2 && y >= 2) { return f(x - min(x - 1, y - 1), y - min(x - 1, y - 1)); } else if (x >= 2 && y == 1) { mint p = f(1, 1); mint pw = pow_mod(mint(10).inv().val(), x - y, mod); return pw * p + (1 - pw); } else if (x == 1 && y >= 2) { mint p = f(1, 1); mint pw = pow_mod(mint(10).inv().val(), y - x, mod); return pw * p; } else { return mint(10) / 11; } } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int t; cin >> t; mint inv2 = mint(2).inv(); while (t--) { long long hc, ac, sc, hg, ag, sg; cin >> hc >> ac >> sc >> hg >> ag >> sg; long long tc = (hc + ag - 1) / ag; long long tg = (hg + ac - 1) / ac; if (sc > sg) { mint ans = f(tc, tg); cout << ans.val() << endl; } else if (sc < sg) { mint ans = 1 - f(tg, tc); cout << ans.val() << endl; } else { mint ans = f(tc, tg); ans += 1 - f(tg, tc); ans *= inv2; cout << ans.val() << endl; } } return 0; }