Submit solution

Points: 1
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Tajna Komisija vredno je radila na pripremi zadataka za Državno takmičenje i došlo je vreme da se zadaci pošalju na mesta održavanja takmičenja. Naravno, zadaci se čuvaju kao stroga tajna, pa se pre slanja šifruju dobro poznatim algoritmom nastalim u laboratorijama Tajne Komisije.

Algoritmom se šifruje tekst dužine NM na sledeći način: Matrica sa N redova i M kolona popunjava se slovima teksta red po red, odozgo na dole. Zatim se nekim kolonama u matrici zamene mesta. Formalno, ključ kojim se šifruje je jedna permutacija brojeva od 1 do M. Ključ predstavljamo nizom (a1, a2 ,... , aM), gde ai predstavlja novu poziciju i-te kolone u matrici. Nakon primene ključa, šifrat (šifrovani tekst) se čita iz matrice istim redosledom kojim je originalni tekst unet u matricu.

Međutim, članovi komisije su malo zaboravni i ne sećaju se ključa koji koriste za šifrovanje zadataka. Naravno, kako je Tajna Komisija veoma odgovorna, ranije je izrađen plan i za ovu situaciju. U tajnom sefu, koji se nalazi negde u zgradi Tajne Komisije (čija lokacija je takođe tajna), sačuvali su jedan tekst sa veoma bitnom osobinom - šifrovanjem tog teksta bilo kojim kljušem ne dobija se leksikografski veći šifrat od šifrata dobijenim šifrovanjem pomoću zaboravljenog ključa.

Ako vam je poznata matrica koja se šifruje i činjenica da se njenim šifrovanjem dobija leksikografski najveći mogući šifrat, odredite ključ.

Ulaz.

(Ulazni podaci se učitavaju sa standardnog ulaza) U ulaznoj datoteci se u prvom redu nalaze dva broja N i M(1 ≤ N, M ≤ 2.000), broj redova i broj kolona matrice koja se šifruje, respektivno. U sledećih N redova nalazi se po M malih slova engleske abecede, koja predstavljaju matricu koja se šifruje.

Izlaz.

(Izlazni podaci se ispisuju na standardni izlaz) U prvom i jedinom redu izlazne datoteke ispisati M brojeva razdvojenih razmakom, ključ kojim se šifruje matrica. Rešenje će biti jedinstveno.

Primer 1.

standardni ulaz      standardni izlaz
4 3
kom
isi
jar
ulz
        
3 1 2

Objašnjenje. Primenom ključa 3 1 2 prva kolona se premešta na treću, druga kolona se premešta na prvu, a treća kolona se premešta na drugu poziciju. Čitanjem iz šifrovane matrice dobija se tekst omksiiarjlzu. Primenom bilo kog drugog ključa dobija se leksikografski manji šifrat.


Comments

There are no comments at the moment.