시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 512 MB63446.897%

문제

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

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

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

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

입력

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

Во второй строке находится заданная строка, состоящая из $m$ символов <<0>> или <<1>>. Следующие $n$ строк описывают предлагаемые для использования бинарные слова. Сначала указывается целая стоимость слова в штрафных баллах $c_i$ ($1 \leq c_i \leq 10^9$).  Затем в той же строке через пробел следует непустое слово, состоящее из символов <<0>> или <<1>> Длина каждого слова не превосходит значения $l_{max}$, дополнительные ограничения на которое накладываются в некоторых подзадачах.

출력

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

서브태스크

В таблице системы оценивания этой задачи указаны только дополнительные ограничения, накладываемые на различные параметры входных данных. Значение $l_{max}$ задает максимальную длину каждого из предложенных роботу бинарных слов, префиксы и суффиксы которых он может использовать.

번호배점제한
120

$m \le 50$, $n \le 50$, $L \le 500$, $c_i \le 1000$, $l_{max} \le 50$

210

$m \le 5000$, $L \le 5000$, $l_{max} \le 1000$

38

$m \le 10\,000$, $L \le 50\,000$, $l_{max} \le 1000$

48

$m \le 50\,000$, $L \le 50\,000$, $l_{max} \le 2000$

510

$m \le 50\,000$, $n \le 20$, $L \le 50\,000$

65

$m \le 50\,000$, $n \le 200$, $L \le 50\,000$

79

$m \le 50\,000$, $L \le 50\,000$, $c_i=1$

85

$m \le 50\,000$, $L \le 50\,000$, $c_i\le 10$

95

$m \le 50\,000$, $L \le 50\,000$, $c_i\le 100$

105

$m \le 50\,000$, $L \le 50\,000$

115

$m \le 100\,000$, $L \le 100\,000$

125

$m \le 200\,000$, $L \le 200\,000$

135

$m \le 300\,000$, $L \le 300\,000$

예제 입력 1

9 2 8
000110100
1 100
1 11001

예제 출력 1

4

예제 입력 2

9 3 10
010110101
3 0101
10 011
2 100

예제 출력 2

8

예제 입력 3

3 1 3
100
1 101

예제 출력 3

-1

힌트

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

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.