#include <cstdio>
long long dp[300009];
long long M = 998244353;
long long modpow(long long b, int e){
if (e==0) return 1;
else if (e%2==1) return b*modpow(b,e-1)%M;
else {
long long x = modpow(b,e/2);
return x*x%M;
}
}
int main(){
long long N, A, B, K;
scanf("%lld %lld %lld %lld", &N, &A, &B, &K);
dp[0] = 1;
for (int i = 1; i <= N; i++){
dp[i] = (dp[i-1]*(N-i+1))%M*modpow(i,M-2)%M;
//printf("%lld ", dp[i]);
}
long long ans = 0;
for (int i = 0; i <= N; i++){
if ((K-i*A)%B==0LL && (K-i*A)/B<=N&&(K-i*A)/B>=0){
ans += dp[i]*dp[(K-i*A)/B];
ans %= M;
}
}
printf("%lld", ans);
}