Entschlüsselung einer zyklischen Verschiebung einer Zeichenkette

Swift Hard strings

Aufgabe «Entschlüsselung einer zyklischen Verschiebung einer Zeichenkette»

Gegeben ist eine verschlüsselte Zeichenkette S, bestehend aus Kleinbuchstaben des lateinischen Alphabets. Sie wurde aus der ursprünglichen Zeichenkette T durch eine zyklische Verschiebung nach rechts um eine bestimmte Anzahl von Positionen k (0 ≤ k < |T|) und anschließende Ersetzung jedes Zeichens durch das nächste im Alphabet (mit zyklischem Übergang: 'z' → 'a') erzeugt. Es ist die ursprüngliche Zeichenkette T mit minimaler Länge zu finden, so dass nach der beschriebenen Transformation S entsteht. Wenn es mehrere solche T gibt, wähle die lexikografisch kleinste. Die Länge von S liegt zwischen 1 und 1000. Es ist garantiert, dass eine Lösung existiert.

Eingabeformat

Eine Zeile S (Kleinbuchstaben des lateinischen Alphabets, Länge von 1 bis 1000).

Ausgabeformat

Eine Zeile — die ursprüngliche Zeichenkette T mit minimaler Länge (und lexikografisch kleinstmögliche unter diesen).

Beispiele

Beispiel 1

EINGABE
za
AUSGABE
yz

Beispiel 2

EINGABE
aaa
AUSGABE
z

Beispiel 3

EINGABE
5 3 0
AUSGABE
None
main.swift