Тренажёр <<$10_2$-пальцевый набор>>

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

문제

Современный робот-программист должен владеть слепым 10_210\_2-пальцевым методом набора бинарных строк, состоящих из символов <<0>> и <<1>>. В инновационном тренажёре, созданном специально для уже освоивших 10_210\_2-пальцевый набор роботов, предлагается следующее упражнение. В верхней части экрана выводится строка, состоящая из нулей и единиц. Ниже выводятся пары (c_ic\_i,~w_iw\_i), каждая из которых состоит из бинарного слова w_iw\_i и его стоимости c_ic\_i --- количества штрафных баллов, начисляемых за каждое использование слова w_iw\_i при наборе строки.

Робот должен набрать заданную строку в виде последовательности записанных подряд префиксов или суффиксов предложенных ему бинарных слов. Одно и то же слово можно использовать произвольное количество раз, но за каждое использование префикса или суффикса начисляются штрафные баллы, равные стоимости этого слова.

Префиксом слова называется последовательность подряд идущих символов этого слова, начинающаяся с первого символа слова, а суффиксом --- последовательность подряд идущих символов этого слова, заканчивающаяся последним символом слова. Слово целиком является как своим префиксом, так и своим суффиксом.

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

입력

Первая строка входных данных содержит три целых числа mm, nn и LL --- длину заданной строки, количество слов, префиксы и суффиксы которых можно использовать при её наборе, и суммарную длину этих слов (1m300,0001 \leq m \leq 300\\,000; 1n300,0001 \leq n \leq 300\\,000; 1L300,0001 \leq L \leq 300\\,000).

Во второй строке находится заданная строка, состоящая из mm символов <<0>> или <<1>>. Следующие nn строк описывают предлагаемые для использования бинарные слова. Сначала указывается целая стоимость слова в штрафных баллах c_ic\_i (1c_i1091 \leq c\_i \leq 10^9).  Затем в той же строке через пробел следует непустое слово, состоящее из символов <<0>> или <<1>> Длина каждого слова не превосходит значения l_maxl\_{max}, дополнительные ограничения на которое накладываются в некоторых подзадачах.

출력

Выходные данные должны содержать одно целое число --- минимальное количество штрафных баллов, которое потребуется, чтобы набрать заданную строку, или число 1-1, если требуемым образом набрать её невозможно.

힌트

В первом примере можно сначала набрать суффикс первого слова длины два, затем его же суффикс длины один, далее префикс второго слова длины три после чего первое слово целиком.