#include using namespace std; int main() { int N,M; cin >> N >> M; assert(2 <= N && N <= 200000); assert(1 <= M && M <= 200000); //左右にバッファを持たせた配列 vector A(M + N + M,0); for(int i = M; i < M + N; ++i) { cin >> A[i]; assert(0 <= A[i] && A[i] <= 10000); } string S; cin >> S; assert(S.size() == M); //数列のindex、閉区間[l,r]で管理 int l = M, r = M+N-1; for(char c:S){ if(c=='L'){ A[l+1] += A[l]; A[l] = 0; l++;r++; } else{ A[r-1] += A[r]; A[r] = 0; l--;r--; } } for(int i = l; i <= r; ++i) cout << A[i] << " "; cout << endl; return 0; }