#include<bits/stdc++.h>
#define mod 1000000007
using namespace std;
int f[2][10001],n,x,y,p,t,ans;
int main(){
for(cin>>t;t--;cout<<ans<<endl){
memset(f,0,sizeof f),ans=0,f[0][0]=1,cin>>n>>p>>x>>y;
if(x==y){
bool b=true;
for(int i=1;i<=n;i++)
if(i*x%p==0){
b=false;
break;
}
ans=(int)b;
continue;
}
for(int i=0;i<=n;i++){
for(int j=0;j<=n-i;j++){
if(i==0&&j==0) continue;
else f[i&1][j]=((i*x+j*y)%p)?((((i)?(f[i&1^1][j]):0)+((j)?(f[i&1][j-1]):0))%mod):0;
if(i+j==n) ans=(ans+f[i&1][j])%mod;
}
}
}
return 0;
}