#include <iostream>
#define MaxSize 50
using namespace std;
typedef struct{
char data[MaxSize];
int top;
}SqStack;
void InitStack(SqStack &S){
S.top=-1;
}
int bracketCheck(SqStack &S,char str[],int length){
for(int i=0;i<length;i++){
if(str[i]=='[' || str[i]=='('){
S.top++;
S.data[S.top]=str[i];
}else{
if(S.top==-1){
return -1;
}
char x=S.data[S.top];
S.top--;
if(str[i]==']' && x!='[')
return -1;
if(str[i]==')' && x!='(')
return -1;
}
}
if(S.top==-1){
return 0;
}else{
return -1;
}
}
int main()
{ cout<<"请输入你想匹配括号的数目"<<endl;
int n;
cin>>n;
char c[n];
for(int i=0;i<n;i++){
cin>>c[i];
}
SqStack S;
InitStack(S);
int res=bracketCheck(S,c,n);
cout<<res<<endl;
return 0;
}