#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) { int i = x - 1; S[i] = (S[i] == 'Y' ? 'N' : 'Y'); } else { int K = x; vector dp(N + 1); dp[0] = 1; for (int i = 0; i < N; ++i) { vector ndp(N + 1); int people = i + 1; for (int k = 0; k <= i; ++k) { if (dp[k] == 0) continue; // 人 i+1 を正直者にする { int liar = k; int honest = people - liar; bool answer_yes = honest * 2 > people; if (answer_yes == (S[i] == 'Y')) { ndp[k] += dp[k]; if (ndp[k] >= MOD) ndp[k] -= MOD; } } // 人 i+1 を嘘つきにする { int liar = k + 1; bool correct_yes = liar * 2 > people; bool answer_yes = !correct_yes; if (answer_yes == (S[i] == 'Y')) { ndp[k + 1] += dp[k]; if (ndp[k + 1] >= MOD) ndp[k + 1] -= MOD; } } } dp.swap(ndp); } cout << dp[K] << '\n'; } } }