VAN DINSKY
Вам потрібно допомогти майбутньому художнику Вінсенту ван Дінському змішати кольори для його картин. Учитель надав Вінсенту книгу з правилами змішування кольорів та кольорову палітру, і попросив отримати набір кольорів, необхідний для створення картини. Вінсенту доведеться експериментувати, поки він не знайде мінімальну кількість змішувань, необхідних для отримання кожного кольору в картині.
Примітки:
Усі назви кольорів складаються з символів a-z 0-9 (нижній регістр).
Правило змішування кольорів складається з трьох кольорів, записаних на одному рядку, що означає "color1 змішаний з color2 дає color3" — наприклад, "yellow cyan green".
Пан ван Дінський не бажає робити випадкові експерименти зі змішування кольорів — якщо він не знайде в книзі, який результат змішування жовтого з зеленим, він ніколи не спробує виконати цю операцію. Він також не вміє робити логічні висновки — наприклад, якщо в книзі сказано, що yellow+cyan=green, yellow+magenta=red і red+cyan=black, він не припустить, що green+magenta=black (якщо книга явно не вказує, який результат змішування green magenta). З іншого боку, він повністю усвідомлює, що порядок кольорів не має значення — змішування yellow green те саме, що змішування green yellow.
Вхідні дані
Вхідні дані мають наступний формат:
Усі правила змішування кольорів з книги.
Порожній рядок.
Один або кілька тестів, кожен з яких складається з двох рядків:
Усі кольори, доступні спочатку на палітрі.
Усі кольори, необхідні для створення картини.
Вихідні дані
Ви повинні вивести один рядок для кожної картини (тобто для кожного набору даних); на цьому рядку, для кожного кольору в картині, вказати мінімальну кількість змішувань, необхідних для отримання бажаного кольору (починаючи з кольорів, доступних спочатку на палітрі; вивести '-1', якщо неможливо отримати бажаний колір).
Ви можете припустити, що вхідні дані коректні, у книзі правил менше ніж 50000 правил змішування кольорів, і менше 1000 кольорів.