#include<bits/stdc++.h>
using namespace std;
vector<pair<int, int> > pa;
string solve(string s, string s1) { // xoa cac dau ngoac co chi so s1 trong xau s;
vector<int> dd(s.length(), 1);
for (int i = 0; i < s1.size(); i++) {
for (auto x : pa) {
if (x.first == s1[i] - '0') {
dd[x.second] = 0;
}
}
}
string res = "";
for (int i = 0; i < s.size(); ++i) {
if (dd[i]) res += s[i];
}
return res;
}
void TC () {
string s;
cin >> s;
int m = s.size();
int n = 0;
for (int i = 0; i < m; i++) {
if (s[i] == '(') {
n++;
}
}
int cnt = 0;
stack<pair<int, int> > st;
for (int i = 0; i < m; i++) { // ()()(()())
if (s[i] == '(') {
st.push({cnt, i}); // (1+(2*(3+4)))
pa.push_back({cnt, i});
cnt++;
}
else if (s[i] == ')' && !st.empty()) {
int x = st.top().first;
st.pop();
pa.push_back({x, i});
}
}
// for (auto x : pa) {
// cout << x.first << " " << x.second << endl;
// }
// tao queue luu nhung vi tri can xoa;
queue<string> q;
queue<string> q1; // q1 giong q nhung khong xoa di phan tu dau tien, chi push them vao thoi;
for (int i = 0; i < n; i++) {
q.push(to_string(i));
q1.push(to_string(i));
}
while (q.front().size() < n) { // 123 23 13 12 3 2 1;
string s1 = q.front();
q.pop();
int chusocuoicungs1 = (s1.back() - '0');
for (int i = chusocuoicungs1 + 1; i < n; i++) {
q.push(s1 + to_string(i));
q1.push(s1 + to_string(i));
}
}
map<string, int> ans;
while (!q1.empty()) {
string s1 = q1.front();
q1.pop();
// ans.push_back(solve(s, s1));
ans[solve(s, s1)] = 1;
}
// sort(ans.begin(), ans.end());
// for (auto x : ans) {
// cout << x << endl;
// }
for (auto i : ans) cout << i.first << endl;
}
int main () {
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int T = 1;
//cin >> T;
while (T--) {
TC();
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KIAp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2ZWN0b3I8cGFpcjxpbnQsIGludD4gPiBwYTsKIApzdHJpbmcgc29sdmUoc3RyaW5nIHMsIHN0cmluZyBzMSkgeyAvLyB4b2EgY2FjIGRhdSBuZ29hYyBjbyBjaGkgc28gczEgdHJvbmcgeGF1IHM7Cgl2ZWN0b3I8aW50PiBkZChzLmxlbmd0aCgpLCAxKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgczEuc2l6ZSgpOyBpKyspIHsKCQlmb3IgKGF1dG8geCA6IHBhKSB7CgkJCWlmICh4LmZpcnN0ID09IHMxW2ldIC0gJzAnKSB7CgkJCQlkZFt4LnNlY29uZF0gPSAwOwoJCQl9CgkJfQoJfQoJc3RyaW5nIHJlcyA9ICIiOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBzLnNpemUoKTsgKytpKSB7CgkJaWYgKGRkW2ldKSByZXMgKz0gc1tpXTsKCX0KCXJldHVybiByZXM7Cn0KIAp2b2lkIFRDICgpIHsKCXN0cmluZyBzOwoJY2luID4+IHM7CglpbnQgbSA9IHMuc2l6ZSgpOwoJaW50IG4gPSAwOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspIHsKCQlpZiAoc1tpXSA9PSAnKCcpIHsKCQkJbisrOwoJCX0KCX0KIAoJaW50IGNudCA9IDA7ICAgICAgCglzdGFjazxwYWlyPGludCwgaW50PiA+IHN0OyAgICAgICAgCglmb3IgKGludCBpID0gMDsgaSA8IG07IGkrKykgeyAgLy8gKCkoKSgoKSgpKQoJCWlmIChzW2ldID09ICcoJykgewoJCQlzdC5wdXNoKHtjbnQsIGl9KTsgICAgLy8gKDErKDIqKDMrNCkpKQoJCQlwYS5wdXNoX2JhY2soe2NudCwgaX0pOwoJCQljbnQrKzsKCQl9CgkJZWxzZSBpZiAoc1tpXSA9PSAnKScgJiYgIXN0LmVtcHR5KCkpIHsKCQkJaW50IHggPSBzdC50b3AoKS5maXJzdDsKCQkJc3QucG9wKCk7CgkJCXBhLnB1c2hfYmFjayh7eCwgaX0pOwoJCX0KCX0KLy8JZm9yIChhdXRvIHggOiBwYSkgewovLwkJY291dCA8PCB4LmZpcnN0IDw8ICIgIiA8PCB4LnNlY29uZCA8PCBlbmRsOwovLwl9CgkvLyB0YW8gcXVldWUgbHV1IG5odW5nIHZpIHRyaSBjYW4geG9hOwogCglxdWV1ZTxzdHJpbmc+IHE7CglxdWV1ZTxzdHJpbmc+IHExOyAvLyBxMSBnaW9uZyBxIG5odW5nIGtob25nIHhvYSBkaSBwaGFuIHR1IGRhdSB0aWVuLCBjaGkgcHVzaCB0aGVtIHZhbyB0aG9pOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCQlxLnB1c2godG9fc3RyaW5nKGkpKTsKCQlxMS5wdXNoKHRvX3N0cmluZyhpKSk7Cgl9CiAKCXdoaWxlIChxLmZyb250KCkuc2l6ZSgpIDwgbikgeyAvLyAxMjMgMjMgMTMgMTIgMyAyIDE7CgkJc3RyaW5nIHMxID0gcS5mcm9udCgpOwoJCXEucG9wKCk7CgkJaW50IGNodXNvY3VvaWN1bmdzMSA9IChzMS5iYWNrKCkgLSAnMCcpOwoJCWZvciAoaW50IGkgPSBjaHVzb2N1b2ljdW5nczEgKyAxOyBpIDwgbjsgaSsrKSB7CgkJCXEucHVzaChzMSArIHRvX3N0cmluZyhpKSk7CgkJCXExLnB1c2goczEgKyB0b19zdHJpbmcoaSkpOwoJCX0KCX0KIAoJbWFwPHN0cmluZywgaW50PiBhbnM7Cgl3aGlsZSAoIXExLmVtcHR5KCkpIHsKCQlzdHJpbmcgczEgPSBxMS5mcm9udCgpOwoJCXExLnBvcCgpOwoJCS8vIGFucy5wdXNoX2JhY2soc29sdmUocywgczEpKTsKCQlhbnNbc29sdmUocywgczEpXSA9IDE7Cgl9CgkvLyBzb3J0KGFucy5iZWdpbigpLCBhbnMuZW5kKCkpOwoJLy8gZm9yIChhdXRvIHggOiBhbnMpIHsKCS8vIAljb3V0IDw8IHggPDwgZW5kbDsKCS8vIH0KCWZvciAoYXV0byBpIDogYW5zKSBjb3V0IDw8IGkuZmlyc3QgPDwgZW5kbDsKfQogCmludCBtYWluICgpIHsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCk7CiAKCWludCBUID0gMTsgCgkvL2NpbiA+PiBUOwoJd2hpbGUgKFQtLSkgewoJCVRDKCk7Cgl9CglyZXR1cm4gMDsKfQ==