Masala B
Sirli xabar va “tez-tez uchraydigan sonlar” qoidasi
Anvar– mohir kod buzuvchi. U har qanday shifrlangan xabarni sonlarning tez-tez uchrashini topish orqali yechish mumkin deb o‘ylaydi. Haqiqiy texnika bu emas, lekin Anvar uchun yetarli.
U dushman xabarini qo‘lga kiritdi. Xabar \(N\) ta butun sondan iborat, va har bir son \(C\) dan kichik yoki teng.
Anvarning fikricha, xabarni “frequency analysis” qilish degani – sonlarni ko'p uchraydiganidan kam uchraydiganiga qarab tartiblash.
Aniqroq qilib aytganda:
- Xabarni shunday tartiblangki, har qanday ikkita son \(X\) va \(Y\) uchun:
- Agar \(X\) soni original xabarda \(Y\) sonidan ko‘proq uchragan bo‘lsa, \(X\) soni oldin keladi
- Agar \(X\) va \(Y\) sonlari bir xil marta uchragan bo‘lsa, qaysi biri original xabarda dastlab kelsa, shunisi oldin turadi
Birinchi qatorda ikkita butun son - \(N, C\) , mos ravishda xabarning uzunligi va sonlarning maksimal qiymati kiritiladi. \((1\le N \le 1000, 1\le C\le 10^9)\)
Ikkinchi qatorda \(N\) butun son kiritiladi.
Xabarni Anvar uslubida tartiblab chop eting.
| # | input.txt | output.txt |
|---|---|---|
| 1 |
10 5 5 3 5 2 3 5 2 4 2 3 |
5 5 5 3 3 3 2 2 2 4 |