#include<bits/stdc++.h>
using namespace std;
const int maxn=3e6+10;
const long long P = 998244353;
long long Pow(long long x, long long k)
{
long long ret = 1;
for (; k; k >>= 1, x = x * x % P) if (k & 1) ret = ret * x % P;
return ret%P;
}
long long num[maxn];
long long C(long long n,long long m)
{
if(m==1) return n;
if(m==n) return 1;
long long s1=num[n],s2=(num[m]*num[n-m])%P;
return (s1*Pow(s2,P-2))%P;
}
int main()
{
long long n,A,B,k;
cin>>n>>A>>B>>k;
if(k==0)
{
cout<<"1"<<endl;
return 0;
}
num[1]=1;
for(int i=2;i<=n;i++)
{
num[i]=num[i-1]*i;
num[i]%=P;
}
long long ans=0;
for(long long x=0;x<=n;x++)
{
if((k-A*x)%B==0&&(k-A*x)/B<=n)
{
ans+=(C(n,x)*C(n,(k-A*x)/B))%P;
ans%=P;
}
}
cout<<ans<<endl;
return 0;
}