Олимпиада
Как известно, не все олимпиады по программированию проводятся по правилам ACM ICPC. Один из альтернативных вариантов (частный случай правил областной олимпиады школьников этого года) состоит в следующем. Множество тестов к задаче делится на непересекающиеся непустые подмножества, называемые подзадачами. Все тесты одной и той же подзадачи оцениваются одинаковым целым количеством баллов (но в разных подзадачах баллы за тесты могут отличаться). Итоговый балл за решение вычисляется как сумма баллов по всем пройденным тестам. Полностью верное решение должно получать ровно 100 баллов. Рассмотрим пример. Пусть у нас есть две подзадачи, первая содержит 6 тестов стоимостью по 5 баллов каждый, вторая — 10 тестов по 7 баллов. Если решение прошло 2 теста из первой подзадачи и 3 теста из второй подзадачи, то оно получает 2*5 + 3*7 = 31 балл. Заметим, что не все целые числа от 0 до 100 могут быть допустимыми результатами участников. Например, 1 балл в данном примере набрать невозможно. Как-то раз в некотором городе прошла олимпиада по описанным правилам. После окончания олимпиады один из её участников, изучая протокол с результатами, почему-то засомневался — а действительно ли могли получиться такие результаты по одной из задач. Участник помнит общее количество тестов, количество подзадач, а также максимальный балл, который можно было набрать по каждой подзадаче. К сожалению, он не помнит, сколько в каждой подзадаче было тестов. Определите, сколько могло быть тестов в каждой подзадаче, чтобы результаты из протокола олимпиады действительно могли быть получены всеми участниками.
Входные данные. Первая строка входных данных содержит три разделенных пробелами целых числа T, S и N, где T — количество тестов, S — количество подзадач, N — количество неповторяющихся результатов участников (1 ≤ T ≤ 100, 1 ≤ S ≤ 10, 1 ≤ N ≤ 100). Вторая строка содержит S разделённых пробелом положительных целых чисел — максимально возможные баллы за каждую подзадачу. Сумма этих чисел гарантированно равна 100. Третья строка содержит N разделенных пробелом упорядоченных по возрастанию неповторяющихся целых чисел в диапазоне от 1 до 100 — различные ненулевые результаты участников из протокола олимпиады.
Выходные данные. В первую строку выходных данных выведите слово "YES" (без кавычек), если решение существует, и "NO", если нет. В случае ответа "YES" в следующей строке выведите S разделенных пробелом целых чисел — количество тестов в каждой подзадаче. Если возможно несколько верных ответов, выведите любой.
Примеры
| |||||||||||||
|