#define _CRT_SECURE_NO_WARNINGS
#include <bits/stdc++.h>
#include <iomanip>
using namespace std;
#define ll long long
#define ld long double
const ll max_size = 1e6 + 5;
const ll moD = 1e9 + 7;
ll spf[max_size];
ll power(ll base, ll exp, ll mod)
{
if (exp == 0)
return 1 % mod;
ll half = power(base, exp / 2, mod);
ll ans = (half * half) % mod;
if (exp % 2 == 1)
ans = (ans * base) % mod;
return ans;
}
ll gcd(ll a, ll b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
ll lcm(ll a, ll b)
{
return a / gcd(a, b) * b;
}
void sieve()
{
for (int i = 1; i < max_size; i++)
spf[i] = i;
for (int p = 2; p * p < max_size; p++)
{
if (spf[p] == p)
{
for (int i = p * p; i < max_size; i += p)
{
if (spf[i] == i)
spf[i] = p;
}
}
}
}
vector<pair<ll, ll>> primeFactorization(ll x)
{
vector<pair<ll, ll>> factors;
while (x > 1)
{
ll prime = spf[x];
ll count = 0;
while (x % prime == 0)
{
count++;
x /= prime;
}
factors.emplace_back(prime, count);
}
return factors;
}
void generateDivisors(const vector<pair<ll, ll>> &factors, vector<ll> &divisors, ll current = 1, int index = 0)
{
if (index == factors.size())
{
divisors.push_back(current);
return;
}
ll prime = factors[index].first;
ll exp = factors[index].second;
for (int i = 0; i <= exp; i++)
{
generateDivisors(factors, divisors, current, index + 1);
current *= prime;
}
}
vector<ll> prefixSum(vector<ll> &v)
{
vector<ll> vc(v.size());
vc[0] = v[0];
for (int i = 1; i < v.size(); i++)
{
vc[i] = vc[i - 1] + v[i];
}
return vc;
}
ld Gamma(ld n)
{
return tgammal(n);
}
ld average(vector<ld> &vector)
{
if (vector.empty())
{
return 0.0;
}
ld sum = 0.0;
for (ld e : vector)
{
sum += e;
}
return static_cast<ld>(sum) / vector.size();
}
ll binarySearch(vector<ll> &v, ll target)
{
ll l = 0, r = v.size() - 1;
while (l <= r)
{
ll m = l + (r - l) / 2;
if (v[m] == target)
{
return m;
}
else if (v[m] < target)
l = m + 1;
else
r = m - 1;
}
return -1;
}
ll sum(ll n)
{
return n * (n + 1) / 2;
}
ll analysis(ll m)
{
ll ans1 = (-1 + sqrt(1 + (4 * 2 * m))) / 2;
ll ans2 = (-1 - sqrt(1 + (4 * 2 * m))) / 2;
return max(ans1, ans2);
}
ll factorial(ll n)
{
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main()
{
//ios::sync_with_stdio(false);
//cin.tie(nullptr);
// freopen("mex.in", "r", stdin);
// freopen("mex.out", "w", stdout);
string s;
while (getline(cin, s))
{
deque<char> dq;
string st="";
bool front = false;
for (char c : s)
{
if (c == '[')
{
front = true;
st.clear();
}
else if (c == ']')
{
front = false;
for (int i = st.size() - 1; i >= 0; i--)
dq.push_front(st[i]);
st.clear();
}
else
{
if (front)
st += c;
else
dq.push_back(c);
}
}
for (char c : dq)
cout << c;
cout << '\n';
}
return 0;
}
I2RlZmluZSBfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUwojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGUgPGlvbWFuaXA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGxkIGxvbmcgZG91YmxlCmNvbnN0IGxsIG1heF9zaXplID0gMWU2ICsgNTsKY29uc3QgbGwgbW9EID0gMWU5ICsgNzsKCmxsIHNwZlttYXhfc2l6ZV07CgpsbCBwb3dlcihsbCBiYXNlLCBsbCBleHAsIGxsIG1vZCkKewogICAgaWYgKGV4cCA9PSAwKQogICAgICAgIHJldHVybiAxICUgbW9kOwoKICAgIGxsIGhhbGYgPSBwb3dlcihiYXNlLCBleHAgLyAyLCBtb2QpOwogICAgbGwgYW5zID0gKGhhbGYgKiBoYWxmKSAlIG1vZDsKCiAgICBpZiAoZXhwICUgMiA9PSAxKQogICAgICAgIGFucyA9IChhbnMgKiBiYXNlKSAlIG1vZDsKCiAgICByZXR1cm4gYW5zOwp9CgpsbCBnY2QobGwgYSwgbGwgYikKewogICAgaWYgKGIgPT0gMCkKICAgICAgICByZXR1cm4gYTsKICAgIHJldHVybiBnY2QoYiwgYSAlIGIpOwp9CgpsbCBsY20obGwgYSwgbGwgYikKewogICAgcmV0dXJuIGEgLyBnY2QoYSwgYikgKiBiOwp9Cgp2b2lkIHNpZXZlKCkKewogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBtYXhfc2l6ZTsgaSsrKQogICAgICAgIHNwZltpXSA9IGk7CgogICAgZm9yIChpbnQgcCA9IDI7IHAgKiBwIDwgbWF4X3NpemU7IHArKykKICAgIHsKICAgICAgICBpZiAoc3BmW3BdID09IHApCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGludCBpID0gcCAqIHA7IGkgPCBtYXhfc2l6ZTsgaSArPSBwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoc3BmW2ldID09IGkpCiAgICAgICAgICAgICAgICAgICAgc3BmW2ldID0gcDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKdmVjdG9yPHBhaXI8bGwsIGxsPj4gcHJpbWVGYWN0b3JpemF0aW9uKGxsIHgpCnsKICAgIHZlY3RvcjxwYWlyPGxsLCBsbD4+IGZhY3RvcnM7CiAgICB3aGlsZSAoeCA+IDEpCiAgICB7CiAgICAgICAgbGwgcHJpbWUgPSBzcGZbeF07CiAgICAgICAgbGwgY291bnQgPSAwOwoKICAgICAgICB3aGlsZSAoeCAlIHByaW1lID09IDApCiAgICAgICAgewogICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB4IC89IHByaW1lOwogICAgICAgIH0KICAgICAgICBmYWN0b3JzLmVtcGxhY2VfYmFjayhwcmltZSwgY291bnQpOwogICAgfQogICAgcmV0dXJuIGZhY3RvcnM7Cn0KCnZvaWQgZ2VuZXJhdGVEaXZpc29ycyhjb25zdCB2ZWN0b3I8cGFpcjxsbCwgbGw+PiAmZmFjdG9ycywgdmVjdG9yPGxsPiAmZGl2aXNvcnMsIGxsIGN1cnJlbnQgPSAxLCBpbnQgaW5kZXggPSAwKQp7CiAgICBpZiAoaW5kZXggPT0gZmFjdG9ycy5zaXplKCkpCiAgICB7CiAgICAgICAgZGl2aXNvcnMucHVzaF9iYWNrKGN1cnJlbnQpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGxsIHByaW1lID0gZmFjdG9yc1tpbmRleF0uZmlyc3Q7CiAgICBsbCBleHAgPSBmYWN0b3JzW2luZGV4XS5zZWNvbmQ7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gZXhwOyBpKyspCiAgICB7CiAgICAgICAgZ2VuZXJhdGVEaXZpc29ycyhmYWN0b3JzLCBkaXZpc29ycywgY3VycmVudCwgaW5kZXggKyAxKTsKICAgICAgICBjdXJyZW50ICo9IHByaW1lOwogICAgfQp9Cgp2ZWN0b3I8bGw+IHByZWZpeFN1bSh2ZWN0b3I8bGw+ICZ2KQp7CiAgICB2ZWN0b3I8bGw+IHZjKHYuc2l6ZSgpKTsKICAgIHZjWzBdID0gdlswXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgdi5zaXplKCk7IGkrKykKICAgIHsKICAgICAgICB2Y1tpXSA9IHZjW2kgLSAxXSArIHZbaV07CiAgICB9CgogICAgcmV0dXJuIHZjOwp9CgpsZCBHYW1tYShsZCBuKQp7CiAgICByZXR1cm4gdGdhbW1hbChuKTsKfQoKbGQgYXZlcmFnZSh2ZWN0b3I8bGQ+ICZ2ZWN0b3IpCnsKICAgIGlmICh2ZWN0b3IuZW1wdHkoKSkKICAgIHsKICAgICAgICByZXR1cm4gMC4wOwogICAgfQogICAgbGQgc3VtID0gMC4wOwogICAgZm9yIChsZCBlIDogdmVjdG9yKQogICAgewogICAgICAgIHN1bSArPSBlOwogICAgfQogICAgcmV0dXJuIHN0YXRpY19jYXN0PGxkPihzdW0pIC8gdmVjdG9yLnNpemUoKTsKfQoKbGwgYmluYXJ5U2VhcmNoKHZlY3RvcjxsbD4gJnYsIGxsIHRhcmdldCkKewogICAgbGwgbCA9IDAsIHIgPSB2LnNpemUoKSAtIDE7CiAgICB3aGlsZSAobCA8PSByKQogICAgewogICAgICAgIGxsIG0gPSBsICsgKHIgLSBsKSAvIDI7CiAgICAgICAgaWYgKHZbbV0gPT0gdGFyZ2V0KQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIG07CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKHZbbV0gPCB0YXJnZXQpCiAgICAgICAgICAgIGwgPSBtICsgMTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHIgPSBtIC0gMTsKICAgIH0KICAgIHJldHVybiAtMTsKfQoKbGwgc3VtKGxsIG4pCnsKICAgIHJldHVybiBuICogKG4gKyAxKSAvIDI7Cn0KbGwgYW5hbHlzaXMobGwgbSkKewogICAgbGwgYW5zMSA9ICgtMSArIHNxcnQoMSArICg0ICogMiAqIG0pKSkgLyAyOwogICAgbGwgYW5zMiA9ICgtMSAtIHNxcnQoMSArICg0ICogMiAqIG0pKSkgLyAyOwogICAgcmV0dXJuIG1heChhbnMxLCBhbnMyKTsKfQoKbGwgZmFjdG9yaWFsKGxsIG4pCnsKICAgIGlmIChuID09IDAgfHwgbiA9PSAxKQogICAgICAgIHJldHVybiAxOwogICAgZWxzZQogICAgICAgIHJldHVybiBuICogZmFjdG9yaWFsKG4gLSAxKTsKfQppbnQgbWFpbigpCnsKICAgIC8vaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgLy9jaW4udGllKG51bGxwdHIpOwoKICAgIC8vIGZyZW9wZW4oIm1leC5pbiIsICJyIiwgc3RkaW4pOwogICAgLy8gZnJlb3BlbigibWV4Lm91dCIsICJ3Iiwgc3Rkb3V0KTsKCiAgICBzdHJpbmcgczsKICAgIHdoaWxlIChnZXRsaW5lKGNpbiwgcykpCiAgICB7CiAgICAgICAgZGVxdWU8Y2hhcj4gZHE7CiAgICAgICAgc3RyaW5nIHN0PSIiOwogICAgICAgIGJvb2wgZnJvbnQgPSBmYWxzZTsKCiAgICAgICBmb3IgKGNoYXIgYyA6IHMpCiAgICAgICAgewogICAgICAgICAgICBpZiAoYyA9PSAnWycpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZyb250ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHN0LmNsZWFyKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAnXScpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZyb250ID0gZmFsc2U7CiAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gc3Quc2l6ZSgpIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgICAgICAgICAgICAgICAgZHEucHVzaF9mcm9udChzdFtpXSk7CiAgICAgICAgICAgICAgICBzdC5jbGVhcigpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKGZyb250KQogICAgICAgICAgICAgICAgICAgIHN0ICs9IGM7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgZHEucHVzaF9iYWNrKGMpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3IgKGNoYXIgYyA6IGRxKQogICAgICAgICAgICBjb3V0IDw8IGM7CiAgICAgICAgY291dCA8PCAnXG4nOwogICAgfQogICAgcmV0dXJuIDA7Cn0K