#include//sort,二分探索,など #include//固定長bit集合 #include//pow,logなど #include//複素数 #include//両端アクセスのキュー #include//sortのgreater #include//setprecision(浮動小数点の出力の誤差) #include//入出力 #include//集合演算(積集合,和集合,差集合など) #include//map(辞書) #include//iota(整数列の生成),gcdとlcm(c++17) #include//キュー #include//集合 #include//スタック #include//文字列 #include//イテレータあるけど順序保持しないmap #include//イテレータあるけど順序保持しないset #include//pair #include//可変長配列 using namespace std; int main(void){ // Your code here! uint32_t N; cin >> N; uint32_t fidx = N; uint32_t bidx = N; uint8_t* arr = new uint8_t[N * 2 + 1]; while(N--){ int T; char S; cin >> T >> S; if(T) arr[--bidx] = S; else arr[fidx++] = S; } string str = (char *)&arr[bidx]; cout << str << endl; return 0; }