#include using namespace std; const long long MOD = 998244353; int main(){ int N, L, R; cin >> N >> L >> R; vector A(N); for (int i = 0; i < N; i++){ cin >> A[i]; } vector> dp(R + 1, vector(N, 0)); for (int i = 1; i <= N; i++){ for (int j = 1; i * j <= R && j <= A[i - 1]; j++){ dp[i * j][i - 1] = 1; } } for (int i = 1; i <= R; i++){ long long sum = 0; for (int j = 0; j < N; j++){ sum += dp[i][j]; } for (int j = 1; j <= N; j++){ long long m = (sum - dp[i][j - 1]) % MOD; for (int k = 1; i + j * k <= R && k <= A[j - 1]; k++){ dp[i + j * k][j - 1] += m; dp[i + j * k][j - 1] %= MOD; } } } long long ans = 0; for (int i = L; i <= R; i++){ for (int j = 0; j < N; j++){ ans += dp[i][j]; } } ans %= MOD; cout << ans << endl; }