#include <bits/stdc++.h>
using namespace std;
const int max_n = 20222, mod = 998244353;
int n, k, q, A[max_n], a[max_n];
int dp[max_n];
int solve() {
  int q1 = 0, q2 = 1;
  memset(dp, 0, sizeof(dp));
  dp[0] = 1;
  for (int i = 0; i < n; ++i) {
    for (int j = min(i + 1, k); j >= max(1, k - (n - i - 1)); --j) {
      dp[j] = (dp[j] + 1LL * dp[j - 1] * a[i]) % mod;
    }
  }
  return dp[k];
}
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 0; i < n; ++i) {
    scanf("%d", &A[i]);
  }
  scanf("%d", &q);
  while (q--) {
    copy(A, A + n, a);
    int tp, x;
    scanf("%d%d", &tp, &x);
    if (tp == 1) {
      int pos, d;
      scanf("%d%d", &pos, &d);
      --pos;
      a[pos] = d;
    } else {
      int l, r, d;
      scanf("%d%d%d", &l, &r, &d);
      --l;
      for (int i = l; i < r; ++i) {
        a[i] += d;
      }
    }
    for (int i = 0; i < n; ++i) {
      a[i] = ((x - a[i]) % mod + mod) % mod;
    }
    printf("%d\n", solve());
  }
  return 0;
}
