| Task: | Hacking hashes |
| Sender: | aalto25l_001 |
| Submission time: | 2025-11-19 17:59:25 +0200 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.07 s | details |
| #2 | ACCEPTED | 0.07 s | details |
| #3 | ACCEPTED | 0.07 s | details |
| #4 | ACCEPTED | 0.07 s | details |
| #5 | ACCEPTED | 0.07 s | details |
| #6 | ACCEPTED | 0.07 s | details |
| #7 | ACCEPTED | 0.07 s | details |
| #8 | ACCEPTED | 0.07 s | details |
| #9 | ACCEPTED | 0.07 s | details |
| #10 | ACCEPTED | 0.07 s | details |
| #11 | ACCEPTED | 0.07 s | details |
| #12 | ACCEPTED | 0.07 s | details |
| #13 | ACCEPTED | 0.07 s | details |
| #14 | ACCEPTED | 0.07 s | details |
| #15 | ACCEPTED | 0.07 s | details |
| #16 | ACCEPTED | 0.07 s | details |
| #17 | ACCEPTED | 0.07 s | details |
| #18 | ACCEPTED | 0.07 s | details |
| #19 | ACCEPTED | 0.07 s | details |
| #20 | ACCEPTED | 0.07 s | details |
| #21 | ACCEPTED | 0.07 s | details |
| #22 | ACCEPTED | 0.07 s | details |
| #23 | ACCEPTED | 0.07 s | details |
| #24 | ACCEPTED | 0.07 s | details |
| #25 | ACCEPTED | 0.07 s | details |
| #26 | ACCEPTED | 0.07 s | details |
| #27 | ACCEPTED | 0.07 s | details |
| #28 | ACCEPTED | 0.07 s | details |
| #29 | ACCEPTED | 0.07 s | details |
| #30 | ACCEPTED | 0.07 s | details |
| #31 | ACCEPTED | 0.07 s | details |
| #32 | ACCEPTED | 0.07 s | details |
| #33 | ACCEPTED | 0.07 s | details |
| #34 | ACCEPTED | 0.07 s | details |
| #35 | ACCEPTED | 0.07 s | details |
| #36 | ACCEPTED | 0.07 s | details |
| #37 | ACCEPTED | 0.07 s | details |
| #38 | ACCEPTED | 0.07 s | details |
| #39 | ACCEPTED | 0.07 s | details |
| #40 | ACCEPTED | 0.07 s | details |
| #41 | ACCEPTED | 0.08 s | details |
| #42 | ACCEPTED | 0.07 s | details |
| #43 | ACCEPTED | 0.08 s | details |
| #44 | ACCEPTED | 0.08 s | details |
| #45 | ACCEPTED | 0.07 s | details |
| #46 | ACCEPTED | 0.07 s | details |
| #47 | ACCEPTED | 0.07 s | details |
| #48 | ACCEPTED | 0.07 s | details |
| #49 | ACCEPTED | 0.07 s | details |
| #50 | ACCEPTED | 0.07 s | details |
| #51 | ACCEPTED | 0.08 s | details |
| #52 | ACCEPTED | 0.09 s | details |
| #53 | ACCEPTED | 0.10 s | details |
| #54 | ACCEPTED | 0.11 s | details |
| #55 | ACCEPTED | 0.08 s | details |
| #56 | ACCEPTED | 0.10 s | details |
| #57 | ACCEPTED | 0.07 s | details |
| #58 | ACCEPTED | 0.08 s | details |
| #59 | ACCEPTED | 0.07 s | details |
| #60 | ACCEPTED | 0.11 s | details |
| #61 | ACCEPTED | 0.10 s | details |
| #62 | ACCEPTED | 0.10 s | details |
| #63 | ACCEPTED | 0.10 s | details |
| #64 | ACCEPTED | 0.10 s | details |
| #65 | ACCEPTED | 0.10 s | details |
| #66 | ACCEPTED | 0.10 s | details |
| #67 | ACCEPTED | 0.10 s | details |
| #68 | ACCEPTED | 0.11 s | details |
| #69 | ACCEPTED | 0.08 s | details |
| #70 | ACCEPTED | 0.08 s | details |
| #71 | ACCEPTED | 0.12 s | details |
| #72 | ACCEPTED | 0.11 s | details |
| #73 | ACCEPTED | 0.10 s | details |
| #74 | ACCEPTED | 0.10 s | details |
| #75 | ACCEPTED | 0.12 s | details |
| #76 | ACCEPTED | 0.11 s | details |
| #77 | ACCEPTED | 0.11 s | details |
| #78 | ACCEPTED | 0.10 s | details |
| #79 | ACCEPTED | 0.10 s | details |
| #80 | ACCEPTED | 0.11 s | details |
| #81 | ACCEPTED | 0.12 s | details |
| #82 | ACCEPTED | 0.12 s | details |
| #83 | ACCEPTED | 0.13 s | details |
| #84 | ACCEPTED | 0.12 s | details |
| #85 | ACCEPTED | 0.13 s | details |
| #86 | ACCEPTED | 0.18 s | details |
| #87 | ACCEPTED | 0.13 s | details |
| #88 | ACCEPTED | 0.12 s | details |
| #89 | ACCEPTED | 0.11 s | details |
| #90 | ACCEPTED | 0.12 s | details |
Code
import sys
import random
import string
A, B = [int(x) for x in input().split()]
def F(s):
h = 0
for c in s:
h = (h * A + ord(c)) % B
return h
def sortie(string_1, string_2):
print(string_1, end='')
print(' ', end='')
print(string_2, end='')
sys.exit()
alphabet = list(map(chr, range(97, 123)))
verif = {}
while True:
size = random.randint(4,10)
str_test = ''.join(random.choices(string.ascii_uppercase, k=size))
res = F(str_test)
if res in verif:
if str_test != verif[res]:
sortie(str_test, verif[res])
else:
verif[res] = str_testTest details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 6 6 |
| correct output |
|---|
| dxvdzxfqi oheo |
| user output |
|---|
| WKXQCOXQ UHUQHJW |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 5 10 |
| correct output |
|---|
| yzzzeszzyc uuhdakc |
| user output |
|---|
| JIYYX RXXLS |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 5 2 |
| correct output |
|---|
| oheo yzzzeszzyc |
| user output |
|---|
| XAGAUGA PCGEPFM |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 6 1 |
| correct output |
|---|
| dxvdzxfqi oheo |
| user output |
|---|
| UOJGUTXF TEFQDX |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 10 10 |
| correct output |
|---|
| yzzzeszzyc uuhdakc |
| user output |
|---|
| CAEFLOGFG OIWMYTWNQ |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 3 1 |
| correct output |
|---|
| dxvdzxfqi oheo |
| user output |
|---|
| RGCYYZ MSYSO |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 9 10 |
| correct output |
|---|
| oheo yzzzeszzyc |
| user output |
|---|
| EUFNJMAEH LLSTBHCFMX |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 1 3 |
| correct output |
|---|
| dxvdzxfqi oheo |
| user output |
|---|
| CYZQVQZTXC AELJLWJNA |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 9 1 |
| correct output |
|---|
| dxvdzxfqi oheo |
| user output |
|---|
| OYCK WPXSTQLRNE |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 1 4 |
| correct output |
|---|
| oheo yzzzeszzyc |
| user output |
|---|
| ZJOOL LAAINYT |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 78 30 |
| correct output |
|---|
| dxvdzxfqi uuhdakc |
| user output |
|---|
| ADZTK DLLDFPQ |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 19 7 |
| correct output |
|---|
| dxvdzxfqi uuhdakc |
| user output |
|---|
| ZAFBUUSUN OESCQ |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 16 45 |
| correct output |
|---|
| yrrkt aihwbdczv |
| user output |
|---|
| SDHYE EOOUCTPBZH |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 78 61 |
| correct output |
|---|
| oedtdfgv zgivhgayf |
| user output |
|---|
| TNMMVSP MDSYH |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 52 93 |
| correct output |
|---|
| yzzzeszzyc uuhdakc |
| user output |
|---|
| CYYNNG DUQPKXXRP |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 85 82 |
| correct output |
|---|
| dxvdzxfqi onbkb |
| user output |
|---|
| BQTMD LQIMXA |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 23 33 |
| correct output |
|---|
| yzzzeszzyc aekmllmqu |
| user output |
|---|
| IGKLWOUC KEMHVBQL |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 30 19 |
| correct output |
|---|
| oheo jftb |
| user output |
|---|
| OMYIBU TODCKD |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 66 8 |
| correct output |
|---|
| yzzzeszzyc uuhdakc |
| user output |
|---|
| ETHGTXNVO IBGKMQM |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 10 44 |
| correct output |
|---|
| uuhdakc gvnyskxly |
| user output |
|---|
| CLLIMTCIC MWSJES |
Test 21
Verdict: ACCEPTED
| input |
|---|
| 589 888 |
| correct output |
|---|
| irnrs nvmno |
| user output |
|---|
| LLJDEHWQRZ CMPSJKLVZO |
Test 22
Verdict: ACCEPTED
| input |
|---|
| 49 800 |
| correct output |
|---|
| irnrs nvmno |
| user output |
|---|
| FIFJHLNW GZGGY |
Test 23
Verdict: ACCEPTED
| input |
|---|
| 209 702 |
| correct output |
|---|
| yzzzeszzyc bpuse |
| user output |
|---|
| DQWTSDDLEE DAJHEBO |
Test 24
Verdict: ACCEPTED
| input |
|---|
| 518 670 |
| correct output |
|---|
| nvmno mgmo |
| user output |
|---|
| PKKDLPYHGK XCJLEZDZW |
Test 25
Verdict: ACCEPTED
| input |
|---|
| 961 295 |
| correct output |
|---|
| aekmllmqu wcpqoadrw |
| user output |
|---|
| HQXNOGX HCEWH |
Test 26
Verdict: ACCEPTED
| input |
|---|
| 871 697 |
| correct output |
|---|
| xfwgyq eokm |
| user output |
|---|
| URTXEQQK JFRTAOGLR |
Test 27
Verdict: ACCEPTED
| input |
|---|
| 308 714 |
| correct output |
|---|
| nvmno lcwlpcmzza |
| user output |
|---|
| GZFCKWJOC GLBEVQC |
Test 28
Verdict: ACCEPTED
| input |
|---|
| 426 481 |
| correct output |
|---|
| onbkb kqupmfo |
| user output |
|---|
| CICVC KWPIZGJU |
Test 29
Verdict: ACCEPTED
| input |
|---|
| 730 171 |
| correct output |
|---|
| eqdlmuyo wpvfat |
| user output |
|---|
| LGAJIU AYSOS |
Test 30
Verdict: ACCEPTED
| input |
|---|
| 864 801 |
| correct output |
|---|
| wpvfat onbkb |
| user output |
|---|
| THMIYU HWAPU |
Test 31
Verdict: ACCEPTED
| input |
|---|
| 6442 9170 |
| correct output |
|---|
| wgqgje blui |
| user output |
|---|
| PFRXBXSYEB DCYCN |
Test 32
Verdict: ACCEPTED
| input |
|---|
| 2861 290 |
| correct output |
|---|
| wpvfat onbkb |
| user output |
|---|
| AIIQNQWMRD XCTWYF |
Test 33
Verdict: ACCEPTED
| input |
|---|
| 8589 597 |
| correct output |
|---|
| oheo uuhdakc |
| user output |
|---|
| LPQPDXAZP PBWNM |
Test 34
Verdict: ACCEPTED
| input |
|---|
| 2486 6897 |
| correct output |
|---|
| zlscxfnxo ngvkz |
| user output |
|---|
| QUAVFZRDZ VBDZ |
Test 35
Verdict: ACCEPTED
| input |
|---|
| 386 1958 |
| correct output |
|---|
| vdihr miezzgst |
| user output |
|---|
| ZXREGF LUCFPZRCRZ |
Test 36
Verdict: ACCEPTED
| input |
|---|
| 4581 4498 |
| correct output |
|---|
| uxqojd rhvuifulrn |
| user output |
|---|
| AGBISJ MZBBBJE |
Test 37
Verdict: ACCEPTED
| input |
|---|
| 7286 877 |
| correct output |
|---|
| irnrs iphgzlf |
| user output |
|---|
| PZFUTI QBKPKBG |
Test 38
Verdict: ACCEPTED
| input |
|---|
| 9445 1393 |
| correct output |
|---|
| hdwsfcnq veukbhkw |
| user output |
|---|
| MBCMKUDA EWWIAUW |
Test 39
Verdict: ACCEPTED
| input |
|---|
| 3848 8971 |
| correct output |
|---|
| xshrtktoj fcuzyfii |
| user output |
|---|
| JPZLEKSS FHEXXCLRMP |
Test 40
Verdict: ACCEPTED
| input |
|---|
| 5469 57 |
| correct output |
|---|
| dxvdzxfqi yzzzeszzyc |
| user output |
|---|
| HSPPXX TGMHX |
Test 41
Verdict: ACCEPTED
| input |
|---|
| 40770 64402 |
| correct output |
|---|
| tced hbmnyt |
| user output |
|---|
| ANKQKGFTX SNASKOZ |
Test 42
Verdict: ACCEPTED
| input |
|---|
| 25093 68059 |
| correct output |
|---|
| ljrc wjxknzhykr |
| user output |
|---|
| GCLXRFAZ ERSZ |
Test 43
Verdict: ACCEPTED
| input |
|---|
| 37455 79656 |
| correct output |
|---|
| tppoycpya wviirv |
| user output |
|---|
| HOJPWB KWUNJKPZ |
Test 44
Verdict: ACCEPTED
| input |
|---|
| 11506 49687 |
| correct output |
|---|
| xaupctgiid jcdd |
| user output |
|---|
| OGQJJFBXL SDCEEBRRL |
Test 45
Verdict: ACCEPTED
| input |
|---|
| 83486 43255 |
| correct output |
|---|
| bodw cdmncijoh |
| user output |
|---|
| CBTDQMGY AZWG |
Test 46
Verdict: ACCEPTED
| input |
|---|
| 98903 30455 |
| correct output |
|---|
| xshrtktoj pofnegkmkq |
| user output |
|---|
| UBWXV SIXVOWLWX |
Test 47
Verdict: ACCEPTED
| input |
|---|
| 78385 25806 |
| correct output |
|---|
| fnyjzygwa zyfhqqpkk |
| user output |
|---|
| UTJJJKUIE WYFZQ |
Test 48
Verdict: ACCEPTED
| input |
|---|
| 11350 85178 |
| correct output |
|---|
| tsgztkzvwc rkra |
| user output |
|---|
| JBOSQRPA HQIKLQS |
Test 49
Verdict: ACCEPTED
| input |
|---|
| 1750 42650 |
| correct output |
|---|
| rlmle czxwmutnse |
| user output |
|---|
| XRFUHXNON AUUWJN |
Test 50
Verdict: ACCEPTED
| input |
|---|
| 30097 47375 |
| correct output |
|---|
| zlscxfnxo ayfmd |
| user output |
|---|
| CSIKUHIFKC ZVNPJ |
Test 51
Verdict: ACCEPTED
| input |
|---|
| 494714 129204 |
| correct output |
|---|
| czxwmutnse hudvk |
| user output |
|---|
| ROLSM XOWVFXQY |
Test 52
Verdict: ACCEPTED
| input |
|---|
| 675884 327185 |
| correct output |
|---|
| rlmle rejxztcu |
| user output |
|---|
| TJESEKXT XZLASCHX |
Test 53
Verdict: ACCEPTED
| input |
|---|
| 823296 823560 |
| correct output |
|---|
| ratyx aurscmksx |
| user output |
|---|
| EVPMRDAW RIQBQPJW |
Test 54
Verdict: ACCEPTED
| input |
|---|
| 846854 678908 |
| correct output |
|---|
| rfpuucjk yjndrg |
| user output |
|---|
| EXWPWF WVLZHTFGAB |
Test 55
Verdict: ACCEPTED
| input |
|---|
| 420278 193978 |
| correct output |
|---|
| begabk sqac |
| user output |
|---|
| JUGKKR KAKJ |
Test 56
Verdict: ACCEPTED
| input |
|---|
| 93130 695227 |
| correct output |
|---|
| nkomreccwl dfboyzq |
| user output |
|---|
| OTXAFM GSTYXRBERF |
Test 57
Verdict: ACCEPTED
| input |
|---|
| 984414 95962 |
| correct output |
|---|
| plsmw rufywewnbq |
| user output |
|---|
| CFYJOOERBI TKDTFO |
Test 58
Verdict: ACCEPTED
| input |
|---|
| 87370 612080 |
| correct output |
|---|
| psmbxgyf yzwvwyf |
| user output |
|---|
| AEXAFD FCWINTGUPX |
Test 59
Verdict: ACCEPTED
| input |
|---|
| 365188 833610 |
| correct output |
|---|
| jbbjpkxs asruylwnc |
| user output |
|---|
| ZPVZOTMDI QTIE |
Test 60
Verdict: ACCEPTED
| input |
|---|
| 924244 804799 |
| correct output |
|---|
| bxok beqs |
| user output |
|---|
| TAKXRLI VQMQ |
Test 61
Verdict: ACCEPTED
| input |
|---|
| 3012218 7755483 |
| correct output |
|---|
| rzhfdn bhig |
| user output |
|---|
| QLALF GYTOUVCVIJ |
Test 62
Verdict: ACCEPTED
| input |
|---|
| 8254242 8634301 |
| correct output |
|---|
| gleo mavrtxor |
| user output |
|---|
| AOFQAAGSGP JRXECTUKQT |
Test 63
Verdict: ACCEPTED
| input |
|---|
| 337938 5429289 |
| correct output |
|---|
| hexlssw zxdfne |
| user output |
|---|
| GYAKPZEM WJSOVSSVV |
Test 64
Verdict: ACCEPTED
| input |
|---|
| 5545825 4865884 |
| correct output |
|---|
| copwroka xebbxy |
| user output |
|---|
| MNUAO UVEAC |
Test 65
Verdict: ACCEPTED
| input |
|---|
| 3795375 7727646 |
| correct output |
|---|
| rgde yqleban |
| user output |
|---|
| EIHWJNFRB IVAPVPPDFW |
Test 66
Verdict: ACCEPTED
| input |
|---|
| 2188983 8702106 |
| correct output |
|---|
| zmjbhiiqo gyrickzf |
| user output |
|---|
| ISFRU SMXSVOXU |
Test 67
Verdict: ACCEPTED
| input |
|---|
| 1544663 1956286 |
| correct output |
|---|
| lwvsjair peplyj |
| user output |
|---|
| UAFOTVLFAN QHVGWCHWHI |
Test 68
Verdict: ACCEPTED
| input |
|---|
| 5464835 7522941 |
| correct output |
|---|
| wjctw wqbqsqcdqg |
| user output |
|---|
| JWDRZ EMYRAWJUO |
Test 69
Verdict: ACCEPTED
| input |
|---|
| 2596718 4049688 |
| correct output |
|---|
| nvyasakcug bsbyew |
| user output |
|---|
| GZQLDSKQ CSNXPPVCVW |
Test 70
Verdict: ACCEPTED
| input |
|---|
| 2965922 4020437 |
| correct output |
|---|
| zthes oazfss |
| user output |
|---|
| XYZYX DZZPIKLX |
Test 71
Verdict: ACCEPTED
| input |
|---|
| 56122287 60624959 |
| correct output |
|---|
| hgllxkyp oukmzblohw |
| user output |
|---|
| IDZKDWWEDA ICXM |
Test 72
Verdict: ACCEPTED
| input |
|---|
| 42645140 73661194 |
| correct output |
|---|
| xkdotul jvryawmaj |
| user output |
|---|
| GJMNG XOKVBPTYMA |
Test 73
Verdict: ACCEPTED
| input |
|---|
| 44585330 18926703 |
| correct output |
|---|
| yqmfko hogdxzgt |
| user output |
|---|
| NCRWJ TIVFIUM |
Test 74
Verdict: ACCEPTED
| input |
|---|
| 56325214 7232406 |
| correct output |
|---|
| wvmuumpi weyyifgfw |
| user output |
|---|
| TOKYJLTQW CWNNQCI |
Test 75
Verdict: ACCEPTED
| input |
|---|
| 98889561 92098565 |
| correct output |
|---|
| xcesn xvzzheobbo |
| user output |
|---|
| WREUI BUTMWFR |
Test 76
Verdict: ACCEPTED
| input |
|---|
| 22701272 5642782 |
| correct output |
|---|
| lescyxpmpw hkszwirdqk |
| user output |
|---|
| SGECSLPV AKUECIUJ |
Test 77
Verdict: ACCEPTED
| input |
|---|
| 91304885 96889971 |
| correct output |
|---|
| rnve dxgzxms |
| user output |
|---|
| WZOHZS ELFOXOG |
Test 78
Verdict: ACCEPTED
| input |
|---|
| 7803372 23247950 |
| correct output |
|---|
| aofeuxbryn bgcepuzv |
| user output |
|---|
| IDGGCWL CSWDAQBJ |
Test 79
Verdict: ACCEPTED
| input |
|---|
| 89317875 1136575 |
| correct output |
|---|
| kfdzbbelk esohyirdk |
| user output |
|---|
| MDEJEVFWLU ANKU |
Test 80
Verdict: ACCEPTED
| input |
|---|
| 1060874 37270195 |
| correct output |
|---|
| pkkvrpnjgw aoljv |
| user output |
|---|
| GUGULZS FXCWXL |
Test 81
Verdict: ACCEPTED
| input |
|---|
| 828199235 320792352 |
| correct output |
|---|
| cmqjomgda cyptxxyb |
| user output |
|---|
| XGNWGRTZS SOVPSLWBME |
Test 82
Verdict: ACCEPTED
| input |
|---|
| 193563111 73343920 |
| correct output |
|---|
| gtswukro ziuzhijy |
| user output |
|---|
| NLHCRGAPUR YSYTVOXHX |
Test 83
Verdict: ACCEPTED
| input |
|---|
| 165531091 479126951 |
| correct output |
|---|
| ozbczatbfr nplek |
| user output |
|---|
| VRID XSKTVAZL |
Test 84
Verdict: ACCEPTED
| input |
|---|
| 835051605 652127789 |
| correct output |
|---|
| ypkbe jvzy |
| user output |
|---|
| ASJQCANTBW QXPKSVC |
Test 85
Verdict: ACCEPTED
| input |
|---|
| 551842459 989875543 |
| correct output |
|---|
| ajtuqsqbs tqboquks |
| user output |
|---|
| USHMLHUGT CFNQ |
Test 86
Verdict: ACCEPTED
| input |
|---|
| 911411059 873575358 |
| correct output |
|---|
| bhhhipl bcgsdgu |
| user output |
|---|
| MYDLYFWTM YDLMLI |
Test 87
Verdict: ACCEPTED
| input |
|---|
| 239756971 350744380 |
| correct output |
|---|
| gddvcp osie |
| user output |
|---|
| KVES LLGZKJG |
Test 88
Verdict: ACCEPTED
| input |
|---|
| 316394140 195182397 |
| correct output |
|---|
| jthyube jxvfzsh |
| user output |
|---|
| SFGCS FQOZ |
Test 89
Verdict: ACCEPTED
| input |
|---|
| 698334027 81615941 |
| correct output |
|---|
| ikrcixfxr ugacbxbd |
| user output |
|---|
| XKIMJGCA NDPVXG |
Test 90
Verdict: ACCEPTED
| input |
|---|
| 104725912 462211740 |
| correct output |
|---|
| alzppvu qlyi |
| user output |
|---|
| PZVRCBANJ QFIPZ |
