#include using namespace std; const int MOD = 998244353; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, Q; cin >> N >> Q; string S; cin >> S; while (Q--) { int t, x; cin >> t >> x; if (t == 1) { --x; S[x] = (S[x] == 'Y' ? 'N' : 'Y'); continue; } int K = x; vector dp(K + 1); dp[0] = 1; for (int i = 0; i < N; ++i) { vector ndp(K + 1); int n = i + 1; for (int k = 0; k <= min(i, K); ++k) { if (dp[k] == 0) continue; int honest = n - k; if ((honest * 2 > n) == (S[i] == 'Y')) { ndp[k] += dp[k]; if (ndp[k] >= MOD) ndp[k] -= MOD; } if (k < K) { int liar = k + 1; bool ansY = !(liar * 2 > n); if (ansY == (S[i] == 'Y')) { ndp[k + 1] += dp[k]; if (ndp[k + 1] >= MOD) ndp[k + 1] -= MOD; } } } dp.swap(ndp); } cout << dp[K] << '\n'; } }