import strutils, sequtils let read = iterator: string {.closure.} = while true: for s in stdin.readLine.split: yield s proc main() = # 0, 0, ..., 0, a_1 + a_2 + ... + a_x , a_{x + 1}, a_{x + 2}, ... # ..., a_y + a_{y + 1} + ... + a_n, 0, 0, ..., 0 let n, m = read().parseInt a = newSeqWith(n, read().parseInt) s = read() var p = 0 q = n - 1 x = 0 y = n - 1 for c in s: if c == 'L': if p == 0: q = max(p, q - 1) y = max(x, y - 1) else: p -= 1 q -= 1 else: if q == n - 1: p = min(q, p + 1) x = min(y, x + 1) else: p += 1 q += 1 # echo p, " ", q, " ", x, " ", y var b = newSeq[int](n) for i in 0..= y: b[q] += a[i] else: b[i] = a[i] echo b.mapIt($it).join(" ") main()