G. Оптимизатор
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Рассмотрим программу, написанную на каком-то странном языке программирования. Переменные в этом языке имеют идентификаторы длиной от $$$1$$$ до $$$4$$$ символов, и каждый символ — это либо латинская буква (строчная или прописная), либо цифра. Дополнительное условие: первый символ в идентификаторе не может быть цифрой.

В программе используются четыре типа операций, обозначаемых символами: $, ^, # и &.

Каждая строка программы записана в одном из следующих форматов:

  • <lvalue>=<rvalue>, где <lvalue> и <rvalue> — корректные идентификаторы переменных;
  • <lvalue>=<arg1><op><arg2>, где <lvalue>, <arg1> и <arg2> — корректные идентификаторы переменных, а <op> — символ операции.

Программа исполняется последовательно, строка за строкой, и результат исполнения записан в переменной res. Если res в ходе программы никогда не переприсваивается, результат — это значение res до исполнения программы.

Две программы называются эквивалентными, если вне зависимости от смысла операций $, ^, # и & (но, очевидно, одна и та же операция с одним и тем же набором аргументов должна давать один и тот же результат) и значений переменных до запуска программы значение res после исполнения первой программы равно значению res после исполнения второй программы (программы исполняются независимо).

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

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

В первой строке записано одно целое число $$$n$$$ ($$$1 \le n \le 1000$$$) — количество строк в программе.

Затем следуют $$$n$$$ строк — сама программа. Каждая строка задается в формате, описанном в условии, и не содержит пробелов.

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

В первой строке выведите $$$k$$$ — минимальное количество строк в эквивалентной программе.

Затем выведите $$$k$$$ строк без пробелов — эквивалентную программу ровно из $$$k$$$ строк в том же формате, который описан в условии.

Примеры
Входные данные
4
c=aa#bb
d12=c
res=c^d12
tmp=aa$c
Выходные данные
2
aaaa=aa#bb
res=aaaa^aaaa
Входные данные
2
max=aaaa$bbbb
min=bbbb^aaaa
Выходные данные
0