#coding:utf-8
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param s string字符串 
# @return bool布尔型
#
class Solution:
    def isValid(self , s ):
        # write code here
        lst=list(s)
        num1=0
        num2=0
        num3=0
        if s=='(' or s=='{' or s=='[':
            return False
        if lst[0]==')'or lst[0]=='}'or lst[0]==']':
            return False
        if ('(}'in s) or ('(]' in s) or('[)'in s) or ('[}'in s) or ('{)'in s) or ('{]'in s):
            return False
        for i in s:
            if i=='(':
                num1+=1
                continue          
            if i=='{':
                num2+=1
                continue        
            if i=='[' :
                num3+=1
                continue
            if i=='}' and num2:
                num2-=1
            elif i=='}' and num2==0:
                return False
            else:
                pass
            if i==')'and num1:
                num1-=1
            elif i==')' and num1==0:
                return False
            else:
                pass
            if i==']' and num3:
                num3-=1
            elif i==']' and num3==0:
                return False
            else:
                pass
        if num1==0 and num2==0 and num3==0:
            return True
        else:
            return False