#include #include #define rep(i, a, b) for (ll i = (ll)(a); i < (ll)(b); i++) using namespace atcoder; using namespace std; typedef long long ll; using mint = modint998244353; int main() { int p, n; cin >> p >> n; if (n > 10) { return 0; } // dp[i][j][k] := i回のダイスを振り、+jで、深さがkの確率 mint dp[25][25][25]; rep(i, 0, 25) rep(j, 0, 25) rep(k, 0, 25) dp[i][j][k] = 0; dp[0][0][0] = 1; mint pl = (mint)p / 100; mint mi = (mint)1 - pl; rep(i, 0, 2 * n) { rep(j, 0, 2 * n) { rep(k, 0, 2 * n) { if (dp[i][j][k].val() == 0) { continue; } dp[i + 1][j + 1][max(k, j + 1)] += dp[i][j][k] * pl; if (j) dp[i + 1][j - 1][max(k, j - 1)] += dp[i][j][k] * mi; } } } auto debug = [&]() { rep(i, 0, 2 * n) { rep(j, 0, 2 * n) { rep(k, 0, 2 * n) { cerr << i << " " << j << " " << k << " " << dp[i][j][k].val() << endl; } } } }; // debug(); mint ans = 0; rep(i, 0, 2 * n) { ans += dp[2 * n][0][i] * i; } cout << ans.val() << endl; }