rt,WA on #3
#include<bits/stdc++.h>
using namespace std;
string op,a,n;
map<string,int>s;
map<pair<string,int>,int>k;
int dfs(int x,string a){
if((a[x]>='a'&&a[x]<='z')||(a[x]>='A'&&a[x]<='Z')){
int j;
string name="";
for(j=x;;j++){
if(a[j]=='[')break;
name+=a[j];
}
int i=dfs(j+1,a);
return k[{name,i}];
}else if(a[x]>='0'&&a[x]<='9'){
int num=0;
for(int j=x;;j++){
if(a[j]<'0'||a[j]>'9')break;
num=num*10+a[j]-'0';
}
return num;
}
}
int main(){
while(cin>>op){
n="";
if(op=="int"){
int i;
cin>>a;
for(i=0;;i++)if(a[i]=='[')break;else n+=a[i];
int spc=dfs(i+1,a);s[n]=spc;
for(i=0;i<spc;i++)k[{n,i}]=0;
}else if(op=="cout"){
int i;
cin>>a;
for(i=0;;i++)if(a[i]=='[')break;else n+=a[i];
int xb=dfs(i+1,a);
if(xb>=s[n]){cout<<-1;return 0;}
cout<<k[{n,xb}]<<endl;
}else{
int i;
cin>>a;
for(i=0;;i++)if(op[i]=='[')break;else n+=op[i];
int xba=dfs(i+1,op),xbb=0;
if(xba>=s[n]){cout<<-1;return 0;}
if(a[0]>='0'&&a[0]<='9'){
for(i=0;i<a.size();i++)
if(a[i]>='0'&&a[i]<='9')xbb*=10,xbb+=a[i]-'0';
k[{n,xba}]=xbb;
}else{
string n2;
for(i=0;;i++)if(a[i]=='[')break;else n2+=a[i];
xbb=dfs(i+1,a);
if(xbb>=s[n2]){cout<<-1;return 0;}
k[{n,xba}]=k[{n2,xbb}];
}
}
}
return 0;
}