import sys def solve(): # 入力をすべて取得 input_data = sys.stdin.read().split() if not input_data: return player = input_data[0] N = int(input_data[1]) Q = int(input_data[2]) if player == "Alice": # Aliceパート: 数列Aを読み込む A = [int(x) for x in input_data[3:3+N]] # 差分を計算 D = [] prev = 0 for a in A: D.append(a - prev) prev = a # 差分を2進数文字列に変換 (先頭の '0b' は除く) S = [bin(d)[2:] for d in D] # 出力 (K と 各文字列) print(len(S), flush=True) for s in S: print(s, flush=True) elif player == "Bob": # Bobパート: Aliceからの出力を読み込む K = int(input_data[3]) S = input_data[4:4+K] # 2進数から差分を復元し、累積和をとってAを復元 A = [] curr = 0 for s in S: d = int(s, 2) curr += d A.append(curr) # 復元した配列を出力 print(*(A), flush=True) if __name__ == '__main__': solve()