#include <bits/stdc++.h>
using namespace std;
int last, cd, lastt, ed;
string s, now = "", wt = "", h;
struct node {
string name;
int size;
int nei[105];
}x;
vector <node> a;
int calc(string ss) {
if (isdigit(ss[0])) {
int x = 0;
for (int i = 0; i < ss.size(); i++) {
x *= 10;
x += ss[i] - '0';
}
return x;
}
string name = "", ans = "";
int lst, cnt = 1;
for (int i = 0; ss[i] != '['; i++) {
name += ss[i];
lst = i;
}
for (int i = lst + 2; cnt; i++) {
if (ss[i] == '[') cnt++;
if (ss[i] == ']') cnt--;
if (cnt) ans += ss[i];
}
int idx = calc(ans);
for (int i = 0; i < a.size(); i++) {
if (a[i].name == name) {
if (idx >= a[i].size) {
cout << "-1";
exit(0);
}
return a[i].nei[idx];
}
}
return 0;
}
int main() {
while (getline(cin, s)) {
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'i' && s[i + 1] == 'n' && s[i + 2] == 't' && s[i + 3] == ' ') {
x.name = "";
wt = "";
for (int j = i + 4; s[j] != '['; j++) {
x.name += s[j];
last = j;
}
int cnt = 1;
for (int j = last + 2; cnt; j++) {
if (s[j] == '[') cnt++;
if (s[j] == ']') cnt--;
if (cnt) wt += s[j];
}
x.size = calc(wt);
for (int j = 0; j < x.size; j++) {
x.nei[j] = 0;
}
a.push_back(x);
break;
}
else if (s[i] == 'c' && s[i + 1] == 'o' && s[i + 2] == 'u' && s[i + 3] == 't' && s[i + 4] == ' ') {
now = "";
wt = "";
for (int j = i + 5; s[j] != '['; j++) {
now += s[j];
last = j;
}
int cnt = 1;
for (int j = last + 2; cnt; j++) {
if (s[j] == '[') cnt++;
if (s[j] == ']') cnt--;
if (cnt) wt += s[j];
}
ed = calc(wt);
for (int j = 0; j < a.size(); j++) {
if (a[j].name == now) {
if (ed >= a[j].size) {
cout << "-1";
return 0;
}
cout << a[j].nei[ed] << "\n";
}
}
break;
}
else if (i == 0) {
now = "";
wt = "";
h = "";
for (int j = 0; s[j] != '['; j++) {
now += s[j];
last = j;
}
int cnt = 1;
for (int j = last + 2; cnt; j++) {
if (s[j] == '[') cnt++;
if (s[j] == ']') cnt--;
if (cnt) wt += s[j];
lastt = j;
}
ed = calc(wt);
for (int j = lastt + 2; j < s.size(); j++) {
h += s[j];
}
cd = calc(h);
for (int j = 0; j < a.size(); j++) {
if (a[j].name == now) {
if (ed >= a[j].size) {
cout << "-1";
return 0;
}
a[j].nei[ed] = cd;
break;
}
}
}
}
}
return 0;
}