C. Выражение с множествами
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
768 мегабайт
ввод
stdin
вывод
stdout

Назовём «выражением с множествами» выражение, операндами которого являются некоторые множества, состоящие из целых чисел между 0 и 999 999 999 включительно. Более формально, все эти множества являются подмножествами универсума U = {x: 0 ≤ x < 109}. Каждое множество в выражении определяется как (возможно, пустой) список различных целых чисел, разделённых запятой (","). Каждый такой список заключается в фигурные скобки ("{" и "}").

Примером корректной записи множеств могут служить "{}", "{0}", "{1,2,3,4}", "{999999999,9,3}".

Разрешены следующие три операции над множествами:

  • Дополнение. Обозначается символом "!". Для произвольного множества отрицание определено как . Например, !{1,5,2}={0,3,4,6,7,8,...,999999999}.
  • Пересечение. Обозначается символом "&". Для двух произвольных множеств пересечение определено как . Например, {0,1,2,3,4}&{1,5,2}={1,2}.
  • Объединение. Обозначается символом "|". Для двух произвольных множеств объединение определено как . Например, {0,1,2,3,4}|{1,5,2}={0,1,2,3,4,5}.

Операции перечислены по убыванию приоритета. Выражение также может содержать некоторое количество пар скобок ("(" и ")"). Отметим, что, исходя из приоритета операций, для любых трёх множеств A|!B&C = A|((!B)&C).

Вам задано выражение с множествами. Вычислите его и выведите количество элементов в получившемся множестве.

Входные данные

Входной файл состоит из нескольких тестовых примеров. Каждый тестовый пример содержится в одной строке и является выражением с множествами. Строка является непустой и её длина не превосходит 107. Общее количество операций (то есть суммарное количество символов "!", "&", "|") не превосходит 106.

Гарантируется, что все выражения являются корректными, то есть удовлетворяют описанию, данному в условии задачи, и что во входном файле отсутствуют пробелы.

Выходные данные

Для каждого тестового примера выведите его номер и количество элементов в множестве, являющемся результатом вычисления соответствующего выражения. Следуйте формату, приведённому в примере к условию задачи.

Примеры
Входные данные
!{1,5,2}
{0,1,2,3,4}&{1,5,2}
{0,1,2,3,4}|{1,5,2}
!{1,2,3}|({1})
({1}|{2})&{1}
Выходные данные
Case 1: 999999997
Case 2: 2
Case 3: 6
Case 4: 999999998
Case 5: 1