#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define io ios::sync_with_stdio(0), cin.tie(), cout.tie()
const ll _N = 1e6;
ll T, N, D, As, Cs, Rs, Am, Cm, Rm, maxp, l, r;
class node{
public:
ll S, M, id;
set<ll> dn;
node(): S(0), M(0), id(0){}
node(ll _S, ll _M, ll _id): S(_S), M(_M), id(_id){}
}a[_N];
void dfs(ll fa, ll l, ll r, ll p){
maxp = max(maxp, p);
if (a[fa].dn.empty()) return;
for (ll sn : a[fa].dn){
ll _l = min(l, a[sn].S), _r = max(r, a[sn].S);
if (_r - _l <= D) dfs(sn, _l, _r, ++p);
}
}
void work(){
maxp = 1;
cin >> N >> D >> a[0].S >> As >> Cs >> Rs >> a[0].M >> Am >> Cm >> Rm;
if (N == 1){cout << "1\n"; return;}
for (ll i = 1; i < N; i++) a[i] = node((a[i - 1].S * As + Cs) % Rs, (a[i - 1].M * Am + Cm) % Rm, i), a[a[i].M % i].dn.insert(i);
dfs(0, a[0].S, a[0].S, 1);
cout << maxp << '\n';
}
signed main(){
cin >> T;
for (ll Ti = 1; Ti <= T; Ti++) cout << "Case #" << Ti << ": ", work();
return 0;
}
是 dfs 写错了吗?怎么改