Олимпиадный тренинг

Задача . 65812


Задача

Темы: Словари
Ваня очень дружелюбный мальчик, поэтому у него очень много друзей. Ваня рад этому, но вот делиться, если он что-то купил, приходится со всеми. Потому Ваня придумал очень гениальный план. Когда его спрашивают, что он купил, при выходе с магазина, он хочет называть только те продукты, которыми ему не жалко поделиться.
Продукты, которыми не жалко поделиться, это продукты, которых Ваня купил минимум K//2 (целочисленное деление K на 2), где K – количество друзей, которые встретили Ваню у магазина.
Определите, какими продуктами Ваня поделится в этот раз с ребятами.

Формат входных данных
На вход в программу на первой строке подаётся K – количество друзей, которые встречают Ваню у магазина (1 <= K <= 10000).
На второй строке подаётся N (1 <= N <= 1000000) – количество продуктов, которые купил Ваня.
Далее, на N строках указаны названия продуктов (одно слово английскими буквами), купленных Ваней, притом продукты, которые были куплены более чем в количестве 1 штуки, идут подряд. Если Ваня купил Apple 3 штуки, то Apple будут идти подряд. Но продукты не отсортированы по алфавиту!

Формат выходных данных
На выходе необходимо вывести в отсортированном по алфавиту порядке названия всех продуктов (каждое название на новой строке), которыми поделится Ваня. Если Ваня не поделится с ребятами продуктами, то вывести «NO» заглавными буквами.
Примеры
Входные данныеВыходные данные
1 4
4
Apple
Orange
Cola
Banana
NO
2 5
6
Apple
Apple
Milk
Cola
Cola
Cola
Apple
Cola

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python1
Комментарий учителя