Колекціонери Піццо
Лавіш Сьоркл (LC) — це престижна кругова вулиця в житловому районі міста. Будинки на LC надзвичайно дорогі, і деякі з них наразі пустують. LC перебуває під суворим контролем міської мафії, яка прагне заселити пустуючі будинки новими власниками, лояльними до мафії. Коли LC буде повністю заселений, кожен власник житиме в одному з будинків на LC. LC має форму кола, де будинки пронумеровані від до , тобто для , -й і -й будинки є сусідніми, а також сусідніми є будинки і .
Власники будинків, як поточні, так і нові, поділяються на кілька категорій залежно від суми, яку вони можуть щомісяця виплачувати мафії за захист. Ці гроші називаються піццо, і зазвичай їх збирає особа під назвою збирач піццо (PC). Мафія наймає групу таких збирачів.
Завдання PC полягає в тому, щоб обходити весь LC рівно один раз на місяць і збирати піццо з вибраних будинків на своєму маршруті. Усі вибрані будинки на маршруті PC повинні мати власників однієї і тієї ж категорії піццо. Маршрут також повинен починатися і закінчуватися в одному і тому ж будинку, що служить перевіркою того, що PC завершив маршрут правильно. Піццо з цього будинку збирається тільки один раз — або на початку, або в кінці маршруту. Під час свого маршруту PC завжди переміщується на фіксовану кількість будинків вперед, поки знову не повернеться в початковий будинок. Тобто, кількість будинків, які PC пропускає при кожному переміщенні, є невід'ємним цілим числом , яке залишається постійним протягом усього маршруту даного PC. При цьому повинно ділити націло.
Мафія хоче найняти якомога більше збирачів PC. Звісно, найняти кілька PC означає, що деяким власникам, ймовірно, доведеться платити піццо більше одного разу на місяць, але мафію це не турбує… Однак виникає ускладнення. Збирачі PC — мирні громадяни і зазвичай не стріляють один в одного. Але якщо два PC виявлять, що на своїх маршрутах вони відвідують однакові будинки, незалежно від порядку їх відвідування, вони можуть почати стріляти один в одного і тим самим привернуть поліцію, чого мафія хоче уникнути будь-якою ціною. Таким чином, два збирачі, які можуть вступити в конфлікт, не можуть бути найняті одночасно.
Загальна сума всіх зібраних піццо також залежить від категорій власників новозаселених будинків. Мафія визначає категорію кожного нового власника будинку. Очевидно, мафія хоче максимізувати свої доходи. Ви були найняті як аналітик, щоб знайти максимально можливу загальну суму всіх зібраних піццо за один місяць, коли LC буде повністю і оптимально заселений. Мафія збирається визначити категорію піццо для кожного нового власника будинку на основі ваших рекомендацій. Кількість будинків на LC є невід'ємною цілою степеню простого числа.
Вхідні дані
Перша рядок містить ціле число — невід'ємна ціла степінь простого числа . Друга рядок містить рядок довжини , який складається тільки з великих літер англійського алфавіту і символу "?". Символи рядка представляють будинки на LC в порядку їх розташування на LC. Символ "?" позначає пустуючий в даний момент будинок, кожен з решти символів представляє категорію піццо власника будинку.
Наступна рядок містить ціле число — кількість різних категорій піццо. Кожен з наступних рядків містить пару чисел і , де — велика англійська літера, а — сума грошей, яку платить власник будинку категорії піццо за один візит PC.
Гарантується, що для кожної категорії, яка зустрічається в , існує пара і , що визначає її грошову вартість, яка виплачується при візиті PC.
Вихідні дані
Виведіть максимально можливу загальну суму всіх зібраних піццо за один місяць, коли LC буде повністю заселений.