eolymp
bolt
Try our new interface for solving problems
Məsələlər

Parolun axtarılması

Parolun axtarılması

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB

İkinci dünya müharibəsi zamanı şifrələnmiş məlumatı göndərmək imkanı müttəfiqlər üçün kifayət qədər vacib idi. Məlumatlar həmişə onların məlum parolu vasitəsilə kodlaşdırılmasından sonra göndərilirdi. Sabit parolun olması təhlükəli idi, buna görə də onu tez-tez dəyişdirmək lazım gəlirdi. Lakin yeni parolun göndərilməsi mexanizmini işləmək lazım gəlirdi. Kriptoqrafiya komandasında çalışan riyaziyyatçılardan birində məlumatın özündə gizlədilən parolu göndərmək ideyası meydana gəldi. Maraqlı hal onda idi ki, məlumatı alana yalnız parolun uzunluğunu bilmək və sonra onu alınmış mətində axtarmaq kifayət idi. n uzunluqlu parolu n simvoldan ibarət ən çox rast gəlinən altsətrin axtarılması ilə tapmaq olar. Parol tapıldıqdan sonra onunla üst-üstə düşən bütün altsətirlər mətndən silinir. Bundan sonra məlumatı açmaq üçün paroldan istifadə etmək olar.

Lakin Sizin tapşırığınız sadələşdiriləcək. Sizin parolun verilmiş uzunluğuna və kodlaşdırılmış məlumata görə yuxarıda göstərilmiş alqoritmə uyğun parolu tapan proqramını yazmağınız kifayətdir.

Parolun uzunluğu (n = 3), məlumatın mətni baababacb olan misala baxaq. Parol aba olacaqdır. Ona görə ki, bu altsətrin uzunluğu 3-dür, o bütün mətndə ən çox (iki dəfə) rast gəlinir, qalan 6 altsətir (baa, aab, bab, bac, acb) hər biri isə yalnız bir dəfə rast gəlinir.

Giriş verilənləri

Bir neçə testi ehtiva edir. Hər bir test parolun n (0 < n10) uzunluğu və kodlaşdırılmış məlumatın verildiyi yeganə sətri ehtiva edir. Məlumat yalnız latın qrafikasının kiçik hərflərindən ibarətdir. Onun uzunluğu 10^6-dan böyük və n-dən kiçik deyildir.

Çıxış verilənləri

Hər bir test üçün ayrı sətirdə cari parolu vermək lazımdır. Məsələnin şərtini ödəyən bir neçə parol olarsa, onda leksiqrafik kiçik olanı verməli.

Nümunə

Giriş verilənləri #1
3 baababacb
Çıxış verilənləri #1
aba
Giriş verilənləri #2
1 thequickbrownfoxjumpsoverthelazydog
3 thequickbrownfoxjumpsoverthelazydog
4 testingthecodetofindtheerrortestandtestagain
5 thearraycanbetoobigsobecarefulandtherecantberarecasescanbe
Çıxış verilənləri #2
o
the
test
canbe