package main

var mBrac = map[rune]rune{
	'}': '{',
	']': '[',
	')': '(',
}

func isValid(s string) bool {
	// store all brackets
	slice := make([]rune, 0)
	for _, v := range s {
		if len(slice) == 0 {
			slice = append(slice, v)
			continue
		}
		// not match
		if slice[len(slice)-1] != mBrac[v] {
			slice = append(slice, v)
			// match
		} else {
			slice = slice[:len(slice)-1]
		}
	}
	if len(slice) != 0 {
		return false
	}
	return true
}