NN = 18 BIT = [0] * (2**NN+1) def addrange(l0, r0, x=1): l, r = l0, r0 while l <= 2**NN: BIT[l] += x l += l & (-l) while r <= 2**NN: BIT[r] -= x r += r & (-r) def getvalue(r): a = 0 while r != 0: a += BIT[r] r -= r&(-r) return a N, Q = map(int, input().split()) A = [int(a) for a in input().split()] X = [] for _ in range(Q): c, x, y = input().split() x, y = int(x), int(y) X.append((c, x, y)) ans = [0] * N for c, x, y in X[::-1]: if c == "A": ans[x-1] += getvalue(x) * y else: addrange(x, y+1) for i in range(N): ans[i] += getvalue(i+1) * A[i] print(*ans)