CUBES

  • Детские кубики
    CUBES

Описание
Родители подарили Пете набор детских кубиков. Поскольку Петя скоро пойдет в школу, они купили ему кубики с буквами. На каждой из шести граней каждого кубика написана буква.

Теперь Петя хочет похвастаться перед старшей сестрой, что научился читать. Для этого он хочет сложить из кубиков ее имя. Но это оказалось довольно сложно сделать - ведь разные буквы могут находиться на одном и том же кубике и тогда Петя не сможет использовать обе буквы в слове. Правда одна и та же буква может встречаться на разных кубиках.

Задача
Дан набор кубиков и имя сестры. Составьте программу CUBES, которая:

  • Вводит исходные данные из текстового файла CUBES.DAT.

  • Выясняет, можно ли выложить имя сестры с помощью этих кубиков. Если да, то в каком порядке следует выложить кубики

  • Выводит результат в текстовый файл CUBES.SOL.


Формат входных данных
В первой строке входного файла находится число N (1<=N<=100) – количество кубиков в наборе у Пети. Во второй строке записано имя Петиной сестры -  слово, состоящее только из больших латинских букв, не длиннее 100 символов. Следующие N строк  содержат по 6 букв (только большие латинские буквы), которые написаны на соответствующем кубике

Формат выходных данных
В первой строке выходного файла выведите «YES», если выложить имя Петиной сестры данными кубиками можно, «NO» в противном случае.

Если ответ «YES», то во второй строке выведите М различных чисел из диапазона 1..N, где М – количество букв в имени Петиной сестры, i-е число должно быть номером кубика, который следует положить на i-е место при составлении имени Петиной сестры. Кубики нумеруются с 1, в том порядке, в котором они заданы во входном файле. Если решений несколько, введите любое. Разделяйте числа пробелами


Нап
ример:

CUBES.DAT
4
ANN
ANNNNN
BCDEFG
HIJKLM
NOPQRS

CUBES.SOL
NO




CUBES.DAT
5
HELEN
ABCDEF
GHIJKL
MNOPQL
STUVWN
EIUOZK


CUBES.SOL

YES
2  1  3  5  4