#include <iostream>
#include <vector>
#include <string>
#include <locale>
#include <sstream>
using namespace std;
struct colon_is_space : std::ctype<char> {
colon_is_space() : std::ctype<char>(get_table()) {}
static mask const* get_table()
{
static mask rc[table_size];
rc[','] = std::ctype_base::space;
rc['['] = std::ctype_base::space;
rc[']'] = std::ctype_base::space;
return &rc[0];
}
};
void printList(const vector<int>& numbers,const bool& reversed,const int& startList,const int& endList)
{
cout << "[";
bool second = false;
if(reversed)
{
for (int i=endList-1; i>=startList;--i)
{
if(second) cout << ",";
cout << numbers[i];
second = true;
}
}
else
{
for (int i=startList; i<endList;++i)
{
if(second) cout << ",";
cout << numbers[i];
second = true;
}
}
cout << "]" << "\n";
}
void swapBool(bool& someBool)
{
someBool = !someBool;
}
bool deleteElem(const bool& reversed,int& startList,int& endList)
{
bool deleted;
if(reversed) --endList;
else ++startList;
(endList>=startList)? deleted=true : deleted=false;
return deleted;
}
int main()
{
using std::string;
using std::cin;
using std::locale;
ios::sync_with_stdio(false);
cin.tie(NULL);
int testcases;
cin >> testcases;
vector<int> numbers;
for (int i=0;i<testcases;++i)
{
string command;
int sizeOfList;
cin >> command >> sizeOfList;
cout << "command "<< command << " sizeOfList "<< sizeOfList << endl;
string line;
cin>>line;
bool reversed = false;
bool shouldPrint = true;
int startList=0;
int endList=sizeOfList;
for(int j=0;j<command.size();++j)
{
if(command.at(j) == 'R') swapBool(reversed);
else
{
if (deleteElem(reversed,startList,endList) == false)
{
cout << "error\n";
shouldPrint = false;
break;
}
}
}
if (shouldPrint)
{
stringstream ss(line);
ss.imbue(locale(ss.getloc(), new colon_is_space));
}
numbers.clear();
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bG9jYWxlPgojaW5jbHVkZSA8c3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBjb2xvbl9pc19zcGFjZSA6IHN0ZDo6Y3R5cGU8Y2hhcj4gewogIGNvbG9uX2lzX3NwYWNlKCkgOiBzdGQ6OmN0eXBlPGNoYXI+KGdldF90YWJsZSgpKSB7fQogIHN0YXRpYyBtYXNrIGNvbnN0KiBnZXRfdGFibGUoKQogIHsKICAgIHN0YXRpYyBtYXNrIHJjW3RhYmxlX3NpemVdOwogICAgcmNbJywnXSA9IHN0ZDo6Y3R5cGVfYmFzZTo6c3BhY2U7CiAgICByY1snWyddID0gc3RkOjpjdHlwZV9iYXNlOjpzcGFjZTsKICAgIHJjWyddJ10gPSBzdGQ6OmN0eXBlX2Jhc2U6OnNwYWNlOwogICAgcmV0dXJuICZyY1swXTsKICB9Cn07Cgp2b2lkIHByaW50TGlzdChjb25zdCB2ZWN0b3I8aW50PiYgbnVtYmVycyxjb25zdCBib29sJiByZXZlcnNlZCxjb25zdCBpbnQmIHN0YXJ0TGlzdCxjb25zdCBpbnQmIGVuZExpc3QpCnsKICAgIGNvdXQgPDwgIlsiOwogICAgYm9vbCBzZWNvbmQgPSBmYWxzZTsKIAogICAgaWYocmV2ZXJzZWQpCiAgICB7CiAgICAgICAgZm9yIChpbnQgaT1lbmRMaXN0LTE7IGk+PXN0YXJ0TGlzdDstLWkpCiAgICAgICAgewogICAgICAgICAgICBpZihzZWNvbmQpIGNvdXQgPDwgIiwiOwogICAgICAgICAgICBjb3V0IDw8IG51bWJlcnNbaV07CiAgICAgICAgICAgIHNlY29uZCA9IHRydWU7CiAgICAgICAgfSAgIAogICAgfQogICAgZWxzZQogICAgewogICAgICAgIGZvciAoaW50IGk9c3RhcnRMaXN0OyBpPGVuZExpc3Q7KytpKQogICAgICAgIHsKICAgICAgICAgICAgaWYoc2Vjb25kKSBjb3V0IDw8ICIsIjsKICAgICAgICAgICAgY291dCA8PCBudW1iZXJzW2ldOwogICAgICAgICAgICBzZWNvbmQgPSB0cnVlOwogICAgICAgIH0gICAKICAgIH0KICAgIGNvdXQgPDwgIl0iIDw8ICJcbiI7Cn0KIAp2b2lkIHN3YXBCb29sKGJvb2wmIHNvbWVCb29sKQp7Cglzb21lQm9vbCA9ICFzb21lQm9vbDsKfQogCmJvb2wgZGVsZXRlRWxlbShjb25zdCBib29sJiByZXZlcnNlZCxpbnQmIHN0YXJ0TGlzdCxpbnQmIGVuZExpc3QpCnsKICAgIGJvb2wgZGVsZXRlZDsKICAgIGlmKHJldmVyc2VkKSAtLWVuZExpc3Q7CiAgICBlbHNlICsrc3RhcnRMaXN0OwogICAgKGVuZExpc3Q+PXN0YXJ0TGlzdCk/IGRlbGV0ZWQ9dHJ1ZSA6IGRlbGV0ZWQ9ZmFsc2U7CiAgICByZXR1cm4gZGVsZXRlZDsKfQogCmludCBtYWluKCkgCnsKCXVzaW5nIHN0ZDo6c3RyaW5nOwogICAgdXNpbmcgc3RkOjpjaW47CiAgICB1c2luZyBzdGQ6OmxvY2FsZTsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICAKICAgIGludCB0ZXN0Y2FzZXM7CiAgICBjaW4gPj4gdGVzdGNhc2VzOwogCiAgICB2ZWN0b3I8aW50PiBudW1iZXJzOwogICAgZm9yIChpbnQgaT0wO2k8dGVzdGNhc2VzOysraSkKICAgIHsKICAgICAgICBzdHJpbmcgY29tbWFuZDsKICAgICAgICBpbnQgc2l6ZU9mTGlzdDsKICAgICAgICBjaW4gPj4gY29tbWFuZCA+PiBzaXplT2ZMaXN0OwogCQljb3V0IDw8ICJjb21tYW5kICI8PCBjb21tYW5kIDw8ICIgc2l6ZU9mTGlzdCAiPDwgc2l6ZU9mTGlzdCA8PCBlbmRsOwogCQlzdHJpbmcgbGluZTsKCQljaW4+PmxpbmU7CiAgICAgICAgYm9vbCByZXZlcnNlZCAgICA9IGZhbHNlOwogICAgICAgIGJvb2wgc2hvdWxkUHJpbnQgPSB0cnVlOwogICAgICAgIGludCBzdGFydExpc3Q9MDsKICAgICAgICBpbnQgZW5kTGlzdD1zaXplT2ZMaXN0OwogICAgICAgIGZvcihpbnQgaj0wO2o8Y29tbWFuZC5zaXplKCk7KytqKQogICAgICAgIHsKICAgICAgICAgICAgaWYoY29tbWFuZC5hdChqKSA9PSAnUicpIHN3YXBCb29sKHJldmVyc2VkKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoZGVsZXRlRWxlbShyZXZlcnNlZCxzdGFydExpc3QsZW5kTGlzdCkgPT0gZmFsc2UpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY291dCA8PCAiZXJyb3JcbiI7CiAgICAgICAgICAgICAgICAgICAgc2hvdWxkUHJpbnQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoc2hvdWxkUHJpbnQpIAogICAgICAgIHsKICAgICAgICAJc3RyaW5nc3RyZWFtIHNzKGxpbmUpOwogICAgICAgIAlzcy5pbWJ1ZShsb2NhbGUoc3MuZ2V0bG9jKCksIG5ldyBjb2xvbl9pc19zcGFjZSkpOwoKICAgICAgICB9CiAgICAgICAgbnVtYmVycy5jbGVhcigpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=
NApSREQKNApbMSwyLDMsNF0KREQKMQpbNDJdClJSRAo2ClsxLDEsMiwzLDUsOF0KRAowCltd
4
RDD
4
[1,2,3,4]
DD
1
[42]
RRD
6
[1,1,2,3,5,8]
D
0
[]