N, K, T = map(int, input().split()) A = list(input().split()) B = list(map(int, input().split())) C = [(B[i], i) for i in range(N)] C.sort() C = [C[i][1] for i in range(N)] ls = [] for i in range(N): if A[i] == 'A': res = B[i] - (T % (2 * K)) if res < 0: res = 2 * 0 - res if res > K: res = 2 * K - res ls.append(res) else: res = B[i] + (T % (2 * K)) if res > K: res = 2 * K - res if res < 0: res = 2 * 0 - res ls.append(res) ls.sort() ans = [0] * N for i in range(N): ans[C[i]] = ls[i] print(*ans)