/* وَقُلْ رَبِّ زِدْنِي عِلْمًاً */
#include <iostream>
#include <algorithm>
#include <cmath>
#include <string>
#include <iomanip>
#include <stack>
#include <set>
#include <queue>
#include <deque>
#include <vector>
#include <fstream>
#include <cctype>
#include <utility>
#define ll long long
#define ld long double
#define sz(v) ((int)(v).size())
#define all(v) ((v).begin()),((v).end())
#define setp(n) cout << fixed << setprecision(n)
#define O_o ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define yes cout << "yes\n"
#define no cout << "no\n"
#define fi(nn) for(ll i = 0; i < (nn); i++)
#define fj(nn) for(ll j = 0; j < (nn); j++)
#define fl(nn) for (ll i = nn - 1; i >= 0; i--)
#define ffi(nn,mm) for(ll i = 0; i < (nn); i++)for(ll j = 0; j < (mm); j++)
#define wt ll t;cin>>t;while(t--)
#define null NULL
using namespace std;
int main()
{
O_o
string s;
while (getline(cin, s)) {
bool tr1 = 1, tr2 = 0;
deque<char>v;
fi(sz(s)) {
if (s[i] == '[') {
tr1 = 1;
tr2 = 0;
}
else if (s[i] == ']') {
tr1 = 0;
tr2 = 1;
}
else {
if (tr1) {
v.push_front(s[i]);
}
else if (tr2) {
v.push_back(s[i]);
}
}
}
fi(sz(v)) {
cout << v[i];
}
cout << '\n';
}
return 0;
}
Lyog2YjZjtmC2Y/ZhNmSINix2Y7YqNmR2ZAg2LLZkNiv2ZLZhtmQ2Yog2LnZkNmE2ZLZhdmL2KfZiyAqLwojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxzdGFjaz4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxmc3RyZWFtPgojaW5jbHVkZSA8Y2N0eXBlPgojaW5jbHVkZSA8dXRpbGl0eT4KCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBzeih2KSAgICgoaW50KSh2KS5zaXplKCkpCiNkZWZpbmUgYWxsKHYpICAgICgodikuYmVnaW4oKSksKCh2KS5lbmQoKSkKI2RlZmluZSBzZXRwKG4pIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKG4pCiNkZWZpbmUgT19vIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKI2RlZmluZSB5ZXMgY291dCA8PCAieWVzXG4iCiNkZWZpbmUgbm8gY291dCA8PCAibm9cbiIKI2RlZmluZSBmaShubikgZm9yKGxsIGkgPSAwOyBpIDwgKG5uKTsgaSsrKQojZGVmaW5lIGZqKG5uKSBmb3IobGwgaiA9IDA7IGogPCAobm4pOyBqKyspCiNkZWZpbmUgZmwobm4pIGZvciAobGwgaSA9IG5uIC0gMTsgaSA+PSAwOyBpLS0pCiNkZWZpbmUgZmZpKG5uLG1tKSBmb3IobGwgaSA9IDA7IGkgPCAobm4pOyBpKyspZm9yKGxsIGogPSAwOyBqIDwgKG1tKTsgaisrKQojZGVmaW5lIHd0IGxsIHQ7Y2luPj50O3doaWxlKHQtLSkKI2RlZmluZSBudWxsIE5VTEwKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkKewogICAgT19vCiAgICAgICAgc3RyaW5nIHM7CiAgICB3aGlsZSAoZ2V0bGluZShjaW4sIHMpKSB7CiAgICAgICAgYm9vbCB0cjEgPSAxLCB0cjIgPSAwOwogICAgICAgIGRlcXVlPGNoYXI+djsKICAgICAgICBmaShzeihzKSkgewogICAgICAgICAgICBpZiAoc1tpXSA9PSAnWycpIHsKICAgICAgICAgICAgICAgIHRyMSA9IDE7CiAgICAgICAgICAgICAgICB0cjIgPSAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKHNbaV0gPT0gJ10nKSB7CiAgICAgICAgICAgICAgICB0cjEgPSAwOwogICAgICAgICAgICAgICAgdHIyID0gMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGlmICh0cjEpIHsKICAgICAgICAgICAgICAgICAgICB2LnB1c2hfZnJvbnQoc1tpXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmICh0cjIpIHsKICAgICAgICAgICAgICAgICAgICB2LnB1c2hfYmFjayhzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmaShzeih2KSkgewogICAgICAgICAgICBjb3V0IDw8IHZbaV07CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgJ1xuJzsKICAgIH0KICAgIHJldHVybiAwOwp9