### Friends

Time Limit: 1000 ms
Memory Limit: 65536 KiB

#### Problem Description

You want to plan a big birthday party with your friends. On planning you notice that you have to do a lot of operations with sets of friends. There is one group which consist of Arthur, Biene and Clemens. Then there is a group of friends you know from snowboarding which consists of Daniel, Ernst, Frida and Gustav. If you want to invite them both, the resulting party group consists of g1 + g2 (the result is the union of both groups). Then you can compute the intersection of the two groups g1 * g2, which consists of the empty set. Maybe you want to invite a group g1, but excluding all members of an other group g2, which is written as g1 - g2.

Intersection (*) has precedence over union (+) and set difference (-). All operations are left associative, which means that in A op

Intersection (*) has precedence over union (+) and set difference (-). All operations are left associative, which means that in A op

_{1}B op_{2}C you first have to evaluate A op_{1}B (provided op_{1}and op_{2}have equal precedence).#### Input

The input consists of one or more lines. Each line contains one expression that you have to evaluate. Expressions are syntactically correct and only consist of the characters:

- \'{\' and \'}\'
- the elements \'A\' to \'Z\' meaning friend Arthur to Zora.
- the operations \'+\', \'-\' and \'*\'
- \'(\' and \')\' for grouping operations
- the newline character \'\\n\' marking the end of an expression.

#### Output

Output the resulting set in curly braces \'{\' and \'}\', each on a line of its own. Print elements of sets sorted alphabetically.

#### Sample Input

{ABC} {ABC}+{DEFG}+{Z}+{} {ABE}*{ABCD} {ABCD}-{CZ} {ABC}+{CDE}*{CEZ} ({ABC}+{CDE})*{CEZ}

#### Sample Output

{ABC} {ABCDEFGZ} {AB} {ABD} {ABCE} {CE}

#### Hint

#### Source

1999/2000 University of Ulm Local Contest