친구들과 함께 성대한 생일 파티를 계획하려고 한다. 계획을 세우다 보면 친구들의 집합에 대해 여러 연산을 해야 한다는 것을 알게 된다.
g1 과 g2 를 모두 초대하려면, 파티 그룹은 g1 + g2 가 되며 이는 두 그룹의 합집합이다.g1 * g2 로 계산하며, 두 그룹에 공통으로 속한 원소들의 집합이다.g1 을 초대하되 다른 그룹 g2 의 구성원을 모두 제외하려면 g1 - g2 로 쓰며, 이는 차집합이다.교집합(*)은 합집합(+)과 차집합(-)보다 우선순위가 높다. 모든 연산은 왼쪽 결합이다. 즉, A op1 B op2 C 에서 op1 과 op2 의 우선순위가 같다면 먼저 A op1 B 를 계산한다.
입력은 하나 이상의 줄로 이루어진다. 각 줄에는 계산해야 할 식이 하나씩 들어 있다. 식은 문법적으로 올바르며 다음 문자들로만 구성된다.
{ 와 }A 부터 Z 까지의 대문자 (각각 한 명의 친구를 의미한다)+, -, *( 와 )한 줄의 길이는 255자를 넘지 않는다.
각 식의 결과 집합을 중괄호 { 와 } 로 감싸서 한 줄에 하나씩 출력한다. 각 집합의 원소는 알파벳 순으로 정렬하여 출력한다.