x=c(as.integer(charToRaw(readLines("stdin"))),0) l=length w=which(x==33)[1] if(!is.na(w)){z=x[-(1:w)];x=x[1:(w-1)]} i=o=0 k=j=1 p=rep(0,99) while(i<l(x)){ i=i+1 y=x[i] j=j+(y==62)-(y==60) p[j]=p[j]+(y==43)-(y==45) if(y==46)o=c(o,p[j]) if(y==44){p[j]=z[k];k=k+1} if(y==91&&p[j]==0){m=1;while(m>0){i=i+1;m=m+(x[i]==91)-(x[i]==93)}} if(y==93&&p[j]!=0){m=1;while(m>0){i=i-1;m=m-(x[i]==91)+(x[i]==93)}} } cat(rawToChar(as.raw(o[-1])))
Note that non-ascii characters in the above source code will be escaped (such as \x9f).