12024. Кваліфікаційний турнір
У турнірі взяли участь \(N\) учасників. Учасник з \(i\)-го місця мав псевдонім \(S_i \).
Виведіть псевдоніми перших \(K\) учасників у лексикографічному порядку.
Що таке лексикографічний порядок? Простіше кажучи, лексикографічний порядок - це порядок слів у словнику. Як формальний опис, нижче наведено алгоритм для впорядкування різних рядків \(S\) і \(T\). Нехай \(S_i\) позначає \(i\)-й символ рядка \(S\). Ми пишемо \(S<T\), якщо \(S\) лексикографічно менший за \(T\), і \(S>T\), якщо \(S\) більший.
- Нехай \(L\) — довжина меншого з \(S\) і \(T\). Для \(i=1,2,…,L\) перевірте, чи дорівнює \(S_i\) \(T_i\) .
- Якщо існує таке \(i\), що \(S_i \neq T_i\) , нехай \(j\) буде найменшим таким \(i\). Порівняйте \(S_j\) і \(T_j \). Якщо \(S_j\) за алфавітом менший за \(T_j\) , ми отримуємо \(S<T\); якщо \(S_j\) більше, ми отримуємо \(S>T\).
- Якщо немає \(i\) такого, що \(S_i \neq T_i\) , порівняйте довжини \(S\) і \(T\). Якщо \(S\) коротше за \(T\), ми отримаємо \(S<T\); якщо \(S\) довший, ми отримуємо \(S>T\).
Обмеження
- \(1≤K≤N≤100\)
- \(K\) і \(N\) є цілими числами.
- \(S_i\) — це рядок довжиною 10, що складається з малих літер англійського алфавіту.
- \(S_i \neq S_j\) якщо \(i \neq j\).
Формат вхідних даних
Перший рядок містить цілі числа \(N,K\).
Наступні \(N\) рядків містять \(S_i\).
Формат вихідних даних
У вихідний потік виведіть псевдоніми, розділені символами нового рядка.
Приклад вхідних даних
5 3
abc
aaaaa
xyz
a
def
Приклад вихідних даних
aaaaa
abc
xyz
У цьому турнірі було п’ятеро учасників. Учасники, які зайняли перше, друге, третє, четверте та п’яте місця, мали ніки abc, aaaaa, xyz, a та def відповідно.
Псевдоніми трьох учасників були abc, aaaaa, xyz, тому виведіть їх у лексикографічному порядку: aaaaa, abc, xyz.
Приклад вхідних даних
4 4
z
zyx
zzz
rbg
Приклад вихідних даних
rbg
z
zyx
zzz
Приклад вхідних даних
3 1
abc
arc
agc
Приклад вихідних даних
abc
Коментарі