#BRCKTCHK. Bracket Check

Bracket Check

Given a string s containing just the characters '(', ')', '{', '}', '[', ']', '<', and '>', determine if the input string is valid.

An input string is valid if:

  1. Open brackets must be closed by the same type of brackets.
  2. Open brackets must be closed in the correct order.
  3. Every close bracket has a corresponding open bracket of the same type.

Input

A single line of string s (1 ≤ |s| ≤ 100.000).

Output

Output "Yes" if the string s is a valid parentheses, otherwise output "No".

Example 1

Input:
([]{})

Output: Yes

</p>

Example 2

Input:
([<]{>})

Output: No

</p>