#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
ll dp[1000005]; // 第i天为晴天的概率
ll mod = 998244353;
ll mulMod(ll a, ll b)
{
return (a % mod) * (b % mod) % mod;
}
ll plusMod(ll a, ll b)
{
return (a % mod + b % mod) % mod;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
ll n, m, p, d, a, b, c;
cin >> n >> m >> p >> d >> a >> b >> c;
dp[0] = 1; // 第一天为晴天
ll ans = 0;
ll k = plusMod(mulMod(d, c), mulMod(1 - d + mod, b)); // 台风天狩猎b和c的期望
// 前m天中第i天是晴天,之前必为晴天
for (int i = 1; i <= m; i++) {
dp[i] = mulMod(dp[i - 1], 1 - p + mod);
ans = plusMod(ans, plusMod(dp[i] * a, (1 - dp[i] + mod) * k));
}
for (int i = m + 1; i <= n; i++) {
dp[i] = plusMod(mulMod(dp[i - 1], 1 - p + mod), mulMod(dp[i - m - 1], p));
ans = plusMod(ans, plusMod(dp[i] * a, (1 - dp[i] + mod) * k));
}
cout << ans << endl;
}