#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef uint64_t ull; typedef pair P; typedef pair Pid; typedef pair Pdi; typedef pair Pl; typedef pair Pll; typedef pair> PP; typedef pair PPi; constexpr double PI = 3.1415926535897932; // acos(-1) constexpr double EPS = 1e-9; constexpr int INF = 1001001001; constexpr int mod = 1000000007; // constexpr int mod = 998244353; #define chmax(x, y) x = max(x, y) #define chmin(x, y) x = min(x, y) #define chadd(x, y) x = (x + y) % mod int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; int left, right; deque deq; for(int i = 0; i < n; ++i){ if(i == 0) cin >> left; else if(i == n - 1) cin >> right; else{ int foo; cin >> foo; deq.push_back(foo); } } string s; cin >> s; if(n == 2){ for(int i = 0; i < m; ++i){ if(s[i] == 'L'){ left += right; right = 0; } else{ right += left; left = 0; } } cout << left << " " << right << endl; return 0; } for(int i = 0; i < m; ++i){ if(s[i] == 'L'){ left += deq.front(); deq.pop_front(); deq.push_back(right); right = 0; } else{ // s[i] == 'R' right += deq.back(); deq.pop_back(); deq.push_front(left); left = 0; } } cout << left << " "; while(!deq.empty()){ cout << deq.front() << " "; deq.pop_front(); } cout << right << endl; }