#include<bits/stdc++.h>
using namespace std;
#define ll long long
string o,p;
struct Vary
{
ll maxn;
ll num[110];
}v[110];
ll cnt;
map<string,ll> name;
ll value(ll a)
{
string x="\0";
ll b=0;
if(p[a]>='0'&&p[a]<='9')
{
for(;a<p.length();a++)
{
if(p[a]==']') return b;
b*=10;
b+=(ll)p[a]-48;
}
}
for(;a<=p.length();a++)
{
if(p[a]=='[')
{
b=value(a+1);
if(b==-1) return b;
break;
}
x+=p[a];
}
if(b>=v[name[x]].maxn) return -1;
else return v[name[x]].num[b];
}
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
while(cin>>o>>p)
{
if(o=="int")
{
string x="\0";
ll t;
for(ll i=0;i<p.length();i++)
{
if(p[i]=='[')
{
t=value(i+1);
if(t==-1)
{
cout<<-1<<"\n";
return 0;
}
break;
}
x+=p[i];
}
cnt++;
name[x]=cnt;
v[cnt].maxn=t;
}
else if(o=="cout")
{
cout<<value(0)<<"\n";
}
else
{
swap(o,p);
string x="\0";
ll t,m=0;
for(ll i=0;i<p.length();i++)
{
if(p[i]=='[')
{
t=value(i+1);
if(t==-1)
{
cout<<-1<<"\n";
return 0;
}
break;
}
x+=p[i];
}
if(t>=v[name[x]].maxn)
{
cout<<-1<<"\n";
return 0;
}
if(o[0]>='0'&&o[0]<='9')
{
for(ll i=0;i<o.length();i++)
{
m*=10;
m+=(ll)o[i]-48;
}
}
else
{
swap(o,p);
m=value(0);
if(m==-1)
{
cout<<-1<<"\n";
return 0;
}
}
v[name[x]].num[t]=m;
}
}
return 0;
}