def main(): import sys input = sys.stdin.read().split() ptr = 0 N, K = int(input[ptr]), int(input[ptr+1]) ptr +=2 A = list(map(int, input[ptr:ptr+N])) ptr +=N Q = int(input[ptr]) ptr +=1 operations = [] for _ in range(Q): x, v = int(input[ptr])-1, int(input[ptr+1]) operations.append((x, v)) ptr +=2 B = [a for a in A if a <= K] def can_reach_k(): mask = 1 max_bit = K + 1 for a in B: mask |= mask << a mask &= (1 << max_bit) - 1 # 保留到K+1位 if (mask >> K) & 1: return True return False for x, v in operations: old = A[x] A[x] = v if v <= K: if old > K: B.append(v) else: B.append(v) B.remove(old) else: if old <= K: B.remove(old) print(1 if can_reach_k() else 0) if __name__ == "__main__": main()