#include <bits/stdc++.h>
using namespace std;
#define int long long
using vec_int = vector<int>;
using P = pair<int,int>;
using ll = long long;
#define rep(i, n) for(int i = 0; i < (int)(n); i++)

int charToInt(char c){
    char zero_num = '0';
    return (int)c - (int)zero_num;
}

signed main(){
    string S; cin>>S;
    //string T="";

    int flipped = 0;

    deque<char> d;

    rep(i,S.size()){
        char s = S.at(i);
        if(S.at(i)=='R'){
            flipped += 1;
            continue;
        }else{
            if(flipped%2==0){
                if(d.size()>0){
                    if(d.back()==s){
                        d.pop_back();
                    }else{
                        d.push_back(s);
                    }
                }else{
                    d.push_back(s);
                }
            }else{
                if(d.size()>0){
                    if(d.front()==s){
                        d.pop_front();
                    }else{
                        d.push_front(s);
                    }
                }else{
                    d.push_front(s);
                }
            }
        }
    }
    if(flipped%2==0){
        while(d.size()>0){
            cout<<d.front();
            d.pop_front();
        }
    }else{
        while(d.size()>0){
            cout<<d.back();
            d.pop_back();
        }
    }
    cout<<endl;

    /*
    while(d.size()>0){

    }
    if(flipped%2==1){
        reverse(T.begin(), T.end());
    }
    */





    return 0;
}
#include "bits/stdc++.h"
using namespace std;

int main()
{
    bool prepend = false;
    string S;
    cin >> S;
    deque<char> ans;
    for (int i = 0; i < S.length(); i++)
    {
        if (S[i] == 'R')
        {
            prepend = !prepend;
            continue;
        }

        if (prepend)
        {
            // if(i > 0){ //安全装置
            //     if(S[i] == ans[ans.size()-1]) {//
            //         ans.pop_back();
            //         continue;
            //     }
            // }

            ans.push_front(S[i]);
            // if(ans.size() > 1 && ans[0] == ans[1]){
            //     ans.pop_front();
            //     ans.pop_front();
            // }
        }
        else
        {
            // if(S[i] == ans[0]){
            //     ans.pop_front();
            //     continue;
            // }
            ans.push_back(S[i]);
            // if(ans.size() > 1 && ans[ans.size()] == ans[ans.size() - 1]){
            //     ans.pop_back();
            //     ans.pop_back();
            // }
        }
    }
    if (prepend)
        reverse(ans.begin(), ans.end());

    string T;
    for(char c: ans){
        if(T.size() && T.back() == c)
            T.pop_back();
        else T.push_back(c);
    }

    // for (int i = 0; i < ans.size(); i++)
    // {

    //     cout << ans[i];
    // }
    // cout << endl;
    cout << T << endl;
}