Перфокарты

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

На складе фирмы, на базе которой проходит олимпиада по программированию, были обнаружены nn перфокарт. Перфокарта представляет собой полоску из mm клеточек, каждая из которых либо содержит строчную английскую букву, либо является отверстием. 

Жюри олимпиады решило упорядочить все перфокарты так, что если расположить их одну под другой сверху вниз в этом порядке, то получится лозунг олимпиады --- заданная строка ss длины mm

Иными словами, зафиксируем порядок перфокарт, в котором они будут лежать, и рассмотрим произвольную позицию ii (1im1 \le i \le m). Тогда ii-й символ строки ss должен совпадать с символом на ii-й позиции самой верхней перфокарты, содержащей на позиции ii какую-либо букву. Если для какого-то ii ни одной перфокарты с буквой в позиции ii нет, то считается, что требуемую строку ss получить невозможно.

Помогите жюри понять, в каком порядке необходимо расположить перфокарты.

Рис. 1: Порядок карт из второго примера. Выделены те буквы, которые видны сверху

입력

Первая строка содержит два целых числа nn и mm (1n,m100,0001 \le n, m \le 100\\,000), обозначающих число перфокарт и количество клеток соответственно.

Вторая строка содержит строку ss, состоящую из mm строчных английских букв.

В ii-й из следующих nn строк находится описание ii-й перфокарты.

Описание начинается с целого числа k_ik\_i (0k_im0 \le k\_i \le m), обозначающего количество позиций с буквами в этой перфокарте. Гарантируется, что сумма всех значений k_ik\_i не превышает 200,000200\\,000.

Далее следует описание букв на этой перфокарте: k_ik\_i пар a_i,ja\_{i,j}, c_i,jc\_{i,j} (1a_i,jm1 \le a\_{i,j} \le m, c_i,jc\_{i,j} является строчной английской буквой) для всех целых 1jk_i1 \leq j \leq k\_i; каждая пара обозначает наличие символа c_i,jc\_{i,j} на позиции a_i,ja\_{i,j}. Остальные позиции содержат отверстия. Гарантируется, что номера позиций с буквами для одной перфокарты приведены по возрастанию, то есть для любого 1j<k_i1 \leq j < k\_i верно a_i,j<a_i,j+1a\_{i,j} < a\_{i,j+1}.

출력

Если способ упорядочить перфокарты требуемым способом существует, выведите nn целых чисел p_1,p_2,,p_np\_1, p\_2, \ldots, p\_n (1p_in1 \le p\_i \le n), где p_1p\_1 --- номер самой верхней перфокарты, p_2p\_2 --- номер второй сверху перфокарты, и так далее до перфокарты p_np\_n, которая лежит ниже всех. Если возможных ответов несколько, вы можете вывести любой из них.

Если способа упорядочить перфокарты нужным образом не существует, выведите единственное число 1-1.

힌트

  • n100,000n \le 100\\,000
  • m100,000m \le 100\\,000