#U2002. 括号的正确性

括号的正确性

背景

括号存在于在很多编程语言中,不同的括号有着不同的含义,例如在 JavaScript 中:

  • {}:花括号通常用于定义对象和块级作用域;
  • []:方括号通常用于定义数组(没错,和 C 语言不一样);
  • ():圆括号通常用于提高运算符的优先级

题目描述

现在 gxj 学长遇到一个问题,由于 JavaScript 中一段字符串可能会很长,其中还包含各种括号,你的任务就是判断这些括号使用的是否合法,例如:

  • ({arr:[1,2,3,4]}) 合法
  • ({arr:[1,2],obj:{a:(1+2)*3}}) 合法
  • ([{]}) 不合法

不需要考虑语法是否正确,只需考虑括号的位置即可,也就是说可以把非括号的字符去掉,例如上面合法的例子可以看成

  • ({[]})
  • ({[]{()}})

Format

Input

一段字符串 s,长度小于 100

Output

一个字符,合法输出 y,不合法输出 n

Samples

({arr:[1,2,3,4]})
y

Limitation

1s, 1024KiB for each test case.