#include #define Int int64_t using namespace std; int main() { int N, M; cin >> N >> M; vector a(N); for (int i = 0; i < N; ++i) { cin >> a[i]; } string s; cin >> s; int idx_L = 0; int x = 0, y = 0, cnt = 0; for (auto c : s) { if (c == 'L') { ++cnt; idx_L = max(0, idx_L - 1); } else { --cnt; idx_L = min(N - 1, idx_L + 1); } if (cnt > 0) { x = max(x, cnt); } else { y = max(y, abs(cnt)); } } ++x; ++y; vector ans(N, 0); if (x + y > N) { int sum = 0; for (auto v : a) { sum += v; } ans[idx_L] = sum; } else { int sum_L = 0, sum_R = 0; for (int i = 0; i < x; ++i) { sum_L += a[i]; } for (int i = 0; i < y; ++i) { sum_R += a[N - 1 - i]; } int z = N - (x + y); for (int i = 0; i < z; ++i) { ans[idx_L + 1 + i] = a[x + i]; } ans[idx_L] = sum_L; ans[idx_L + z + 1] = sum_R; } for (int i = 0; i < N; ++i) { cout << ans[i] << (i < N - 1 ? " " : "\n"); } return 0; }