#include #include #include #include #include #include #include using namespace std; const int N=5E5+5; const int K=12; int n,f[N][K],k,ans,T,A,B,x,g[N]; vector G[N]; void dfs(int x) { int y; f[x][0]=1; for (int i=0;i=2;j--) f[y][j]+=f[x][j-1]-f[y][j-2]; f[y][1]++; find(y); } } int main() { cin>>T; while (T--) { memset(f,0,sizeof(f)); cin>>n>>k>>A>>B; for (int i=1;i<=n;i++) G[i].clear(); for (int i=2;i<=n;i++) { x=((long long)A*i+B)%(i-1)+1; // cerr<