#include <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "debug.cpp"
#else
#define debug(...)
#define debugArr(...)
#endif
#define C make_pair
#define all(a) (a).begin(), (a).end()
#define el '\n'
#define rep(i, n) for (int i = 0, _n = (n); i < _n; ++i)
#define forn(i, a, b) for (int i = (a), _b = (b); i <= _b; ++i)
#define ford(i, a, b) for (int i = (a), _b = (b); i >= _b; --i)
#define fi first
#define se second
#define eb emplace_back
#define MASK(i) (1LL << (i))
#define getbit(x, y) (((x) >> (y)) & 1LL)
#define turnon(x, y) ((x) | MASK(y))
#define turnoff(x, y) ((x) & ~MASK(y))
#define flipbit(x, y) ((x) ^ MASK(y))
#define bitcnt(x) __builtin_popcountll(x)
#define TIME (1.0 * clock() / CLOCKS_PER_SEC)
typedef long double ld;
typedef long long ll;
typedef pair<int, int> ii;
typedef vector<int> vi;
typedef vector<vector<int>> vii;
typedef vector<vii> viii;
inline int readInt(){ char c; while (c = getchar(), c != '-' && !isdigit(c)); int n, s = (c == '-' ? -1 : 1);
n = s < 0 ? 0 : c - 48; while (c = getchar(), isdigit(c)) n = (n << 3) + (n << 1) + c - 48; return n * s; }
inline string readString(){ char c; while (c = getchar(), c == ' ' || c == '\n' || c == '\t');
string s({c}); while (c = getchar(), c != EOF && c != ' ' && c != '\n' && c != '\t') s += c; return s; }
template <class X, class Y> inline bool maximize(X &a, const Y &b){ return (a < b ? a = b, true : false); }
template <class X, class Y> inline bool minimize(X &a, const Y &b){ return (a > b ? a = b, true : false); }
const int MAX = 1e6 + 5;
string s;
int i;
int power[3], sum[3];
void skip() {
while (s[i] == ' ') i++;
}
int inp() {
int ans = 0;
skip();
while (s[i] <= '9' && s[i] >= '0') {
ans = ans * 10 + (s[i] - '0');
i++;
skip();
}
return ans;
}
void pos(int idx) {
if (s[i] == '+') {
i++;
sum[idx] = inp();
} else if (s[i] == '-') {
i++;
sum[idx] = -inp();
} else if (s[i] == '*') {
i++;
power[idx] = inp();
}
}
vi build() {
vi v;
while (s[i] != '[') i++;
i++;
int tmp = inp();
v.push_back(tmp);
if (s[i] == '.') {
i += 2;
int r = inp();
for (int j = tmp + 1; j <= r; j++) v.push_back(j);
} else {
while (s[i] != ']') {
i++;
v.push_back(inp());
}
}
return v;
}
void solve() {
getline(cin, s);
s = " " + s;
i = 4;
sum[1] = sum[2] = 0;
power[1] = power[2] = 1;
pos(1);i++;
skip();i++;
pos(2);
vi a = build(), b = build();
cout << "[";
int sz = a.size() * b.size();
for (int x : a) {
for (int y : b) {
cout << "(" << x * power[1] + sum[1] << "," << y * power[2] + sum[2] << ")";
sz--;
if (sz > 0) cout << ",";
}
}
cout << "]";
}
signed main() {
ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define name "tree"
if (fopen(name".inp", "r")) {
freopen(name".inp", "r", stdin);
freopen(name".out", "w", stdout);
}
#define NAME "TASK"
if (fopen(NAME".inp", "r")) {
freopen(NAME".inp", "r", stdin);
freopen(NAME".out", "w", stdout);
}
solve();
cerr << "Time elapsed: " << TIME << " s.\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojaWZkZWYgTE9DQUwKI2luY2x1ZGUgImRlYnVnLmNwcCIKI2Vsc2UKI2RlZmluZSBkZWJ1ZyguLi4pCiNkZWZpbmUgZGVidWdBcnIoLi4uKQojZW5kaWYKCiNkZWZpbmUgQyAgICAgICAgICAgICAgICBtYWtlX3BhaXIKI2RlZmluZSBhbGwoYSkgICAgICAgICAgIChhKS5iZWdpbigpLCAoYSkuZW5kKCkKI2RlZmluZSBlbCAgICAgICAgICAgICAgICdcbicKI2RlZmluZSByZXAoaSwgbikgICAgICAgIGZvciAoaW50IGkgPSAwLCBfbiA9IChuKTsgaSA8IF9uOyArK2kpCiNkZWZpbmUgZm9ybihpLCBhLCBiKSAgICBmb3IgKGludCBpID0gKGEpLCBfYiA9IChiKTsgaSA8PSBfYjsgKytpKQojZGVmaW5lIGZvcmQoaSwgYSwgYikgICAgZm9yIChpbnQgaSA9IChhKSwgX2IgPSAoYik7IGkgPj0gX2I7IC0taSkKI2RlZmluZSBmaSAgICAgICAgICAgICAgIGZpcnN0CiNkZWZpbmUgc2UgICAgICAgICAgICAgICBzZWNvbmQKI2RlZmluZSBlYiAgICAgICAgICAgICAgIGVtcGxhY2VfYmFjawojZGVmaW5lIE1BU0soaSkgICAgICAgICAgKDFMTCA8PCAoaSkpCiNkZWZpbmUgZ2V0Yml0KHgsIHkpICAgICAoKCh4KSA+PiAoeSkpICYgMUxMKQojZGVmaW5lIHR1cm5vbih4LCB5KSAgICAgKCh4KSB8IE1BU0soeSkpCiNkZWZpbmUgdHVybm9mZih4LCB5KSAgICAoKHgpICYgfk1BU0soeSkpCiNkZWZpbmUgZmxpcGJpdCh4LCB5KSAgICAoKHgpIF4gTUFTSyh5KSkKI2RlZmluZSBiaXRjbnQoeCkgICAgICAgIF9fYnVpbHRpbl9wb3Bjb3VudGxsKHgpCiNkZWZpbmUgVElNRSAgICAgICAgICAgICAoMS4wICogY2xvY2soKSAvIENMT0NLU19QRVJfU0VDKQoKdHlwZWRlZiBsb25nIGRvdWJsZSAgICAgICAgICAgICBsZDsKdHlwZWRlZiBsb25nIGxvbmcgICAgICAgICAgICAgICBsbDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiAgICAgICAgICBpaTsKdHlwZWRlZiB2ZWN0b3I8aW50PiAgICAgICAgICAgICB2aTsKdHlwZWRlZiB2ZWN0b3I8dmVjdG9yPGludD4+ICAgICB2aWk7CnR5cGVkZWYgdmVjdG9yPHZpaT4gICAgICAgICAgICAgdmlpaTsKCmlubGluZSBpbnQgcmVhZEludCgpeyBjaGFyIGM7IHdoaWxlIChjID0gZ2V0Y2hhcigpLCBjICE9ICctJyAmJiAhaXNkaWdpdChjKSk7IGludCBuLCBzID0gKGMgPT0gJy0nID8gLTEgOiAxKTsKICAgIG4gPSBzIDwgMCA/IDAgOiBjIC0gNDg7IHdoaWxlIChjID0gZ2V0Y2hhcigpLCBpc2RpZ2l0KGMpKSBuID0gKG4gPDwgMykgKyAobiA8PCAxKSArIGMgLSA0ODsgcmV0dXJuIG4gKiBzOyB9CiAKaW5saW5lIHN0cmluZyByZWFkU3RyaW5nKCl7IGNoYXIgYzsgd2hpbGUgKGMgPSBnZXRjaGFyKCksIGMgPT0gJyAnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdcdCcpOwoJc3RyaW5nIHMoe2N9KTsgd2hpbGUgKGMgPSBnZXRjaGFyKCksIGMgIT0gRU9GICYmIGMgIT0gJyAnICYmIGMgIT0gJ1xuJyAmJiBjICE9ICdcdCcpIHMgKz0gYzsgcmV0dXJuIHM7IH0KICAgIAp0ZW1wbGF0ZSA8Y2xhc3MgWCwgY2xhc3MgWT4gaW5saW5lIGJvb2wgbWF4aW1pemUoWCAmYSwgY29uc3QgWSAmYil7IHJldHVybiAoYSA8IGIgPyBhID0gYiwgdHJ1ZSA6IGZhbHNlKTsgfQp0ZW1wbGF0ZSA8Y2xhc3MgWCwgY2xhc3MgWT4gaW5saW5lIGJvb2wgbWluaW1pemUoWCAmYSwgY29uc3QgWSAmYil7IHJldHVybiAoYSA+IGIgPyBhID0gYiwgdHJ1ZSA6IGZhbHNlKTsgfQoKY29uc3QgaW50IE1BWCA9IDFlNiArIDU7CgpzdHJpbmcgczsKaW50IGk7CmludCBwb3dlclszXSwgc3VtWzNdOwoKdm9pZCBza2lwKCkgewogICAgd2hpbGUgKHNbaV0gPT0gJyAnKSBpKys7Cn0KCmludCBpbnAoKSB7CiAgICBpbnQgYW5zID0gMDsKICAgIHNraXAoKTsKICAgIHdoaWxlIChzW2ldIDw9ICc5JyAmJiBzW2ldID49ICcwJykgewogICAgICAgIGFucyA9IGFucyAqIDEwICsgKHNbaV0gLSAnMCcpOwogICAgICAgIGkrKzsKICAgICAgICBza2lwKCk7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9Cgp2b2lkIHBvcyhpbnQgaWR4KSB7CiAgICBpZiAoc1tpXSA9PSAnKycpIHsKICAgICAgICBpKys7CiAgICAgICAgc3VtW2lkeF0gPSBpbnAoKTsKICAgIH0gZWxzZSBpZiAoc1tpXSA9PSAnLScpIHsKICAgICAgICBpKys7CiAgICAgICAgc3VtW2lkeF0gPSAtaW5wKCk7CiAgICB9IGVsc2UgaWYgKHNbaV0gPT0gJyonKSB7CiAgICAgICAgaSsrOwogICAgICAgIHBvd2VyW2lkeF0gPSBpbnAoKTsKICAgIH0KfQoKdmkgYnVpbGQoKSB7CiAgICB2aSB2OwogICAgd2hpbGUgKHNbaV0gIT0gJ1snKSBpKys7CiAgICBpKys7CiAgICBpbnQgdG1wID0gaW5wKCk7CiAgICB2LnB1c2hfYmFjayh0bXApOwogICAgaWYgKHNbaV0gPT0gJy4nKSB7CiAgICAgICAgaSArPSAyOwogICAgICAgIGludCByID0gaW5wKCk7CiAgICAgICAgZm9yIChpbnQgaiA9IHRtcCArIDE7IGogPD0gcjsgaisrKSB2LnB1c2hfYmFjayhqKTsKICAgIH0gZWxzZSB7CiAgICAgICAgd2hpbGUgKHNbaV0gIT0gJ10nKSB7CiAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgdi5wdXNoX2JhY2soaW5wKCkpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB2Owp9Cgp2b2lkIHNvbHZlKCkgewogICAgZ2V0bGluZShjaW4sIHMpOwogICAgcyA9ICIgIiArIHM7CiAgICBpID0gNDsKICAgIHN1bVsxXSA9IHN1bVsyXSA9IDA7CiAgICBwb3dlclsxXSA9IHBvd2VyWzJdID0gMTsKICAgIHBvcygxKTtpKys7CiAgICBza2lwKCk7aSsrOwogICAgcG9zKDIpOwogICAgdmkgYSA9IGJ1aWxkKCksIGIgPSBidWlsZCgpOwogICAgY291dCA8PCAiWyI7CiAgICBpbnQgc3ogPSBhLnNpemUoKSAqIGIuc2l6ZSgpOwogICAgZm9yIChpbnQgeCA6IGEpIHsKICAgICAgICBmb3IgKGludCB5IDogYikgewogICAgICAgICAgICBjb3V0IDw8ICIoIiA8PCB4ICogcG93ZXJbMV0gKyBzdW1bMV0gPDwgIiwiIDw8IHkgKiBwb3dlclsyXSArIHN1bVsyXSA8PCAiKSI7CiAgICAgICAgICAgIHN6LS07CiAgICAgICAgICAgIGlmIChzeiA+IDApIGNvdXQgPDwgIiwiOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgIl0iOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCksIGNpbi50aWUoMCksIGNvdXQudGllKDApOwoKICAgICNkZWZpbmUgbmFtZSAidHJlZSIKICAgIGlmIChmb3BlbihuYW1lIi5pbnAiLCAiciIpKSB7CiAgICAgICAgZnJlb3BlbihuYW1lIi5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKG5hbWUiLm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIH0KCiAgICAjZGVmaW5lIE5BTUUgIlRBU0siCiAgICBpZiAoZm9wZW4oTkFNRSIuaW5wIiwgInIiKSkgewogICAgICAgIGZyZW9wZW4oTkFNRSIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihOQU1FIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CgogICAgc29sdmUoKTsKICAgIGNlcnIgPDwgIlRpbWUgZWxhcHNlZDogIiA8PCBUSU1FIDw8ICIgcy5cbiI7CiAgICByZXR1cm4gMDsKfQ==
[(13,-3),(13,-2),(13,-1),(14,-3),(14,-2),(14,-1),(15,-3),(15,-2),(15,-1),(16,-3),(16,-2),(16,-1),(17,-3),(17,-2),(17,-1),(18,-3),(18,-2),(18,-1),(19,-3),(19,-2),(19,-1)]
Time elapsed: 0.006556 s.