#include using namespace std; using i64 = long long; const i64 mods[3] = { 998244353, 1000000007, 1000000009, }; i64 ways[3][15010]; int n, k, q; int a[15010]; void add(int x) { if (x == 0) return; for (int c = 0; c < 3; c ++) { for (int j = k; j >= x; j --) (ways[c][j] += ways[c][j - x]) %= mods[c]; } } void del(int x) { if (x == 0) return; for (int c = 0; c < 3; c ++) { for (int j = x; j <= k; j ++) (ways[c][j] += mods[c] - ways[c][j - x]) %= mods[c]; } } int main() { ways[0][0] = ways[1][0] = ways[2][0] = 1; scanf("%d%d", &n, &k); for (int i = 1; i <= n; i ++) scanf("%d", &a[i]), add(a[i]); scanf("%d", &q); while (q --) { int p, x; scanf("%d%d", &p, &x); del(a[p]); add(a[p] = x); printf("%d\n", ways[0][k] || ways[1][k] || ways[2][k]); } return 0; }