# Find the number -- Problem W (150 points)

Quite complex sets can be formed by taking intervals of numbers and forming the union and intersection of them. The object of this problem is to find if a certain number is in one of these intersections and unions.

Input will be from the file PROBLEM4.DAT and will be a series of lines. Each line will start with an integer (between -2,000,000,000 and 2,000,000,000), followed by a blank, followed by a set expression. Each set expression defines a set, using standard mathematical intervals (a,b) = {x; a < x < b}, (a,b] = {x; a < x <= b}, [a,b) = {x; a <= x < b}, [a,b] = {x; a <= x <= b} (a and b will always be integers between -2,000,000,000 and 2,000,000,000), and union (u), intersection (n) and set difference (-) signs. Brackets will be used as in normal expressions; the expressions will be fully bracketed so you do not need to worry about precedence of operators. There may be any amount of imbedded spaces (not inside numbers, of course), and the only non-space characters which will occur will be digits, -, n, u, (, ), [, ]. For example, (((1, 4) n [2, 6)) u [7, 10)) - (3, 8) represents the set of numbers x such that 2 <= x <= 3 or 8 <= x < 10. You may assume the expression is always valid, but there could be any number of superfluous ( and ) characters around subexpressions. The input will be terminated by a line containing a single 0.

Output must be one line for each line of input, giving the word "Yes" or "No" depending on whether the integer is in the set or not.

### Example Input

```1234567890 (-1234567890 , 1234567890) u (1234567890  ,2000000000)
6 [2,6]n[6,20]
4 (((1,4)n[2,6))u[7,10)) - (3,8)
0
```

```No
Yes
No
```