Задано рядок та список , який складається з слів, кожне з яких довжини . За одну операцію можна вибрати деякий підрядок рядка , якщо такий зустрічається у якості слова у списку , і вирізати з рядка . Після чого частини рядка , що залишились, якщо такі є, склеюються.
Визначте, за яку мінімальну кількість операцій можна знищити весь рядок . Гарантується, що це можна зробити.
У першому рядку слово . У другому рядку ціле число — кількість слів у списку. Далі рядків, у кожному з яких по одному слову зі списку . Усі слова складаються лише з рядкових латинських літер.
Одне число — мінімальна кількість операцій, необхідних для знищення рядка .
Обмеження
1 \le |S| \le 100
1 \le N \le 100
1 \le |M_i| \le 100
1 \le L \le |S|
Приклад 1