Het Caesarcijfer is een klassieke manier om tekstberichten te coderen (versleutelen) en te decoderen (ontsleutelen). Het is vernoemd naar Julius Caesar, die het gebruikte om te communiceren met zijn veldheren.

De versleuteling werkt door elke letter van het alfabet te vervangen door een letter die enkele plaatsen verder in het alfabet voorkomt. Hierbij wordt een circulair alfabet beschouwd, wat betekent dat na de letter Z opnieuw de letter A volgt. Vandaar dat ook de term rotatie of verschuiving gebruikt wordt voor deze operatie. Bijvoorbeeld, bij rot3 (een rotatie over drie posities) wordt de letter B tijdens het versleutelen vervangen door de letter E.

rot3 versleuteling
Bij het versleutelen van een tekst via de Caesarrotatie wordt elke letter vervangen door een letter die een vast aantal plaatsen verder voorkomt in het alfabet. In dit voorbeeld gebruiken we een verschuiving over drie posities, zodat de letter B in de originele tekst wordt vervangen door de letter E in de gecodeerde tekst.

Het ontsleutelen van een tekst gebeurt door de omgekeerde bewerking uit te voeren. In dit geval wordt er dus een rotatie of verschuiving naar links uitgevoerd, in plaats van naar rechts zoals bij de versleuteling. Bijvoorbeeld, bij rot3 wordt de letter E tijdens het ontsleutelen vervangen door de letter B.

rot3 ontsleuteling
Bij het ontsleutelen van een tekst via de Caesarrotatie wordt elke letter vervangen door een letter die een vast aantal plaatsen terug voorkomt in het alfabet. In dit voorbeeld gebruiken we een verschuiving over drie posities, zodat de letter E in de gecodeerde tekst wordt vervangen door de letter B in de gedecodeerde tekst.

Invoer

De eerste regel van de invoer bevat een getal $$n \in \mathbb{N}$$ dat aangeeft over hoeveel posities er geroteerd wordt bij een Caesarrotatie. Daarna volgt een regel die een zin bevat die gecodeerd werd aan de hand van een Caesarrotatie over $$n$$ posities. Hierbij werden enkel de letters van het alfabet geroteerd (zowel hoofdletters als kleine letters). Alle overige karakters (cijfers, leestekens, spaties, …) bleven ongewijzigd in de gecodeerde tekst.

Uitvoer

De gedecodeerde zin.

Voorbeeld

Invoer:

20
Ylluly boguhog ymn.

Uitvoer:

Errare humanum est.