Måns har kommit på ett briljant chiffer för att skydda sig mot elakingar som försöker läsa hans epost. Hans chiffer fungerar på följande vis. Först använder han teckenkodningen ASCII för att representera varje tecken i sitt mail som ett tal mellan 0-127. Sedan väljer han en nyckel som består av $K$ bytes i intervallet 0-127. Om nyckeln består av bytes $a_0, a_1, a_2, ... a_{k - 1}$, och hans email består av bytes $b_0, b_1, b_2, ...$ så består krypteringen av bytes $k_ i = b_ i \oplus a_{(i \mod K)}$, där $\oplus $ är en bitwise XOR över de 8 bitarna i byten, och $i \mod K$ är den sedvanliga modulo-operationen. Slutligen kodar han varje byte som två tecken i bas 16 (hexadecimalt).
Givet Måns krypterade meddelande, bestäm hur det ursprungliga meddelandet såg ut.
Indata består av ett antal rader - det krypterade meddelandet. Observera att eventuella radbrytningar endast är med för att indata ska bli enklare att skriva, de ska inte tas hänsyn till i problemet.
Varje ursprungligt meddelande består av minst 500 och högst 1050 tecken.
Du ska skriva ut, tecken för tecken, Måns ursprungliga meddelande.
$K = 1$, meddelandet består enbart av små bokstäver $a-z$ och mellanslag.
$K = 1$.
$K \le 5$, texten består till 70% av ordet fisk.
$K \le 5$, meddelandet består enbart av små bokstäver $a-z$ och mellanslag.
$K \le 5$
$K \le 10$, meddelandet består enbart av små bokstäver $a-z$ och mellanslag.
$K \le 10$
$K = 15$, ordet "flaggstangsknoppspoleringsmedel" förekommer i texten.
I samtliga fall är det riktig text som krypterats, på antingen engelska, svenska eller tyska. Eventuella diakritiska tecken har tagits bort.
Sample Input 1 | Sample Output 1 |
---|---|
20000000484935021502530d0f1a184b00000000460f1a180d47532d0f1 a180d0f1a180d0f1a1854462f1a180d48532d0f1a184b00000000486379 2d0f1a1854462f1a180d475d45460f1a180d52530d0f1a184b000000004 849350215025340460f1a180d494e4b00000000486335021502530d0f1a 184b00000000464115021502564b000000004f4915021502530d0f1a184 b000000004849352235225d6100000000460f1a180d49150215025f4b00 000000460f1a180d567961442f1a180d4915021502530d0f1a18494a491 5021502530d0f1a1845462f1a180d49150215024c4b20000000460f1a18 0d49150215025d616c2f1a180d0f1a180d0f1a180d0f1a180d1a1502150 25d6120000000000000000000000000000000150f1a180d47792d0f1a18 0d0f1a180d0f1a180d0f1a1818000000004863350215021502150215021 50215021502000d0f1a18456c2f1a180d0f1a180d0f1a180d0f1a180d1a 150215025d6120000000000000000000000000000000150f1a180d47796 1200000004658494b20000000460f1a180d45530d0f1a184b0000000047 4935021502535122633502150253595c49350215025f4b00000000460f1 a180d4949436c2f1a180d494251462f1a180d475d45462f1a180d491502 15024c4b5c40792d0f1a184b5453532d0f1a184b00000000460f1a180d4 5530d0f1a184b00000000486335021502535a5c4935021502530d0f1a18 47460f1a180d0f1a180d4948426c2f1a180d494151462f1a180d4915021 5025335386335021502535a5c4935021502530d0f1a184b00000000460f 1a180d48526120000000465b494b20000000460f1a180d4915021502535 75563792d0f1a184b00000000460f1a180d45530d0f1a184b0000000048 49350215025e024b0f1a180d4415021502524b20000000460f1a180d475 32d0f1a1847460f1a180d49150215025d61200000004863 |
Fisk. Fisk fisk fisk fisk. Fiskfiskfisk? Fisk! Fisk fisk. Fisk? Fisk... fisk; fisk fisk. Fisk + fisk = fisk. Fisk fisk fisk (fisk% fisk) fisk fisk fisk. FISK. fisk fisk fisk, fisk fisk? "Fisk fisk fisk", fisk fisk. Fisk fisk? Fisk fisk fisk. Fiskfiskfiskfisksfisk. Fiskfiskfiskfisksfisk. Fiskfiskfiskfisksfisk. Fiskfiskfiskfisksfisk. Fiskfiskfiskfisksfisk. Fiskfiskfiskfisksfisk. Fisk 1: Fisk fisk, fisk fisk! Fisk :D Fisk 2: Fisk, fisk fisk :( Fisk 1: Fisk... Fisk fisk? :) Fisk 2: Fisk fisk fisk, fisk fisk. Fisk 1: Fisk fisk, fiskfisk ;) Fisk 2: Fisk fisk ^^ Fisk 1: Fisk fisk fisk fisk!! Fisk 2: Fisk fisk fisk <3 Fisk fisk fisk, fisk fisk. Fisk-i-fisk-fisk! Fisk fisk. Fisk, fisk fisk. Fisk. |