Kreditna
Marko je kao član kluba redovitih letača sakupio mnogo nagradnih milja, te se konačno odlučio počastiti putovanjem u Australiju. Međutim, kako to obično biva, nagradne milje ne pokrivaju sve troškove putovanja, pa ga je gospodin iz avio-kompanije telefonski zamolio da mu Marko e-mailom pošalje broj kreditne kartice (niz od 16 znamenki).
Marko je svjestan da je to suludo, ali gospodin s druge strane telefonske linije inzistira na tome. Marko je kao kompromis ponudio da pošalje broj kartice kriptiran sljedećim algoritmom:
- Marko će pronaći najmanju znamenku u broju, a ako ih ima više, među njima će odabrat prvu s lijeva. Nazovimo ovu znamenku A.
- Zatim će pronaći najveću znamenku u broju, a ako ih ima više, među njima će odabrat zadnju. Nazovimo ovu znamenku B.
- Znamenku A će uvećati za 1, osim ako je već jednaka broju 9.
- Znamenku B će umanjiti za 1, osim ako je već jednaka broju 0.
- Konačno, Marko će znamenkama A i B zamijeniti pozicije.
Na primjer, ako je broj njegove kartice 7691 0027 7960 3269, tada će Marko u e-mailu poslati broj: 7691 8027 7960 3261.
Napišite program koji će gospodinu iz avio-kompanije pomoći da odredi broj Markove kreditne kartice.
Ulaz
U prvom i jedinom redu nalazi se niz od 16 znamenaka '0' - '9', broj koji je Marko poslao u e-mailu.
Napomena: Broj kreditne kartice može početi sa znamenkom '0' i pazite pri ispisu da ne zaboravite '0' na početku ako bude bilo.
Izlaz
Ispišite sve moguće brojeve Markove kreditne kartice, po jedan u svaki red.
Ako ne postoji niti jedan valjani broj kreditne kartice, ispišite "banana".
Ulaz primjera
7691802779603261
Izlaz primjera
7691002779603269
Ulaz primjera
8381950005575690
Izlaz primjera
banana
Ulaz primjera
8446462287549826
Izlaz primjera
1446462287549896
8446462217549896
8446462287549196
Comments