# This is the input section. ALPHABET = a b c d e f g h i j k l m n o p q r s t u v w x y z INPUT = krcen divet mzita aloba aloba pis ikovy ikovy ikovy sinky bzivy redit ruzen ruzen jisku zlab tanum bovak ivoty zolik ozehl sel citis sokum titcky lebit lusit lusit horsi vatky zatky stofu izivy razit razit razit razit razit tavis ibisk ibisk zoku serum tipat spunt sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sovat sirky ziran skrob penat sipko sipko lovat lovat lovat lovat lovat lovat sipku sipku tepek kytat esity zstvo zstvo zstvo snury sedak ozovy ouzku razet razet razet razet razet razet ehlit banec lachu razic tovnu ozinu ozinu robit robit zrat usutat sefre rarzdy ezitu garny zehna eslus obet nozit nozit lozku lozku lozku lozku lozku kazen kazen ekovy sprt zel fetis fetis lanyz zivin lenky sest kozky kozky pazky azovy azovy asnik asnik pnout pnout pnout pnout snur nlivy nlivy zerd zivel zivel ozdir zebry zert atost atost frask frask mars usnit kdez ichat stevu erlet nasek prota ruzit ruzit ruzit ruzit ruzit pnost pinit pinit sitic ovita ovita outku hluse misek havec nosit nosit nejz sepla sikan outis ibost alist lozit lozit lozit lozit lozit lozit lozit lozit lozit tziro lavat lavat vesel lehat lehat iniky horej azdit azdit azdit azdit azdit asten asten ralok mzity esten nkovy stofa odnen iskot seles seles kazda sizen sizen vovat vovat vovat sed ejsku ejsku skrtl grosu imrat znec ikiovy muzik muzik muzik tarek skoty ozit serit jakaz ozivl resov stivy mnout mnout mnout sermu idist latis latis latis yzovy ouzij lnlost lepej sekov sekov tosek hastr kez tivit tivit tezer virit ivlum zniky zniky zniky rizky rizky rizky yzada lusel jimiz jimiz evnit ksiry drzel drzel drzel drzel drzel kakvat ranis evadz sevco sevco nuz topis lozen lozen lozen lozen lozen lozen lozen lozen lozen slost risel risel ibise mzit rozit mzik ziser imazi imazi zicky zicky zicky ouzky ouzky nonoz rusen rusen rusen rusen sediv sediv sediv sediv dliky rucis jezek susit ubavy lopis hat pariz ouset ouset ouset ouset ouset vstiv telky osten arnik lysel lacky sacky sacky sacky ucovy aloup iznik iznik pryz zisek zisek sisla ofera nezit nezit bzivu razbu bodza ouzit ouzit ouzit ouzit ouzit ouzit ouzit ouzit ouzit ouzit yzaru sipov sipov tacek hoz dusku pusku obliz estit estit estit estit estit oucha smejd rizek rizek rizek pazit pazit pazit ezivo mozen imnut uzito uzito uzito striz nzeta ivotu ivotu zenic zenic choch vyziv evzen stepy sinar lasku lasku rosel rosel sketa ouris picku rizen rizen rizen holis yzama etovy etovy etovy etovy etovy vohut mnoz acahut kavat kavat zlazy krizu jihoz zecky zecky sisat lapky zeliz zeliz dpust ezenu paptko sesti sesti sesti sesti sesti sesti sesti sesti sesti nicky nicky nicky nicky azkar fasiz fasiz sestn sestn sestn sestn sestn sestn skvor napis atasa ysovy icata oukot etrit etrit etrit etrit etrit zisin zidu rstit rstit rstit salek salek kozen vazet vazet vazet vazet vazet knout tavat tavat tavat zencu zencu zencu papkaz suslit azivy nat instr sosty petku latku jezis sstvu ejzak paplda zerak ezimy hnusi eznik eznik eznik eznik eznik eznik jemuz bazit ejvys ejvys asmir totvik vrsen skrty kvary oliba horis arysu kriz kriz lenku risek risek ovzdy ovzdy selma uzita uzita uzita uzita sanum zenin ejsek ejsek skara nosen nosen zelik finis nisek nozin luzek lez hrask zvonov frant livec icovy outov rizak tujic skoda zadej pisec ruzin rohoz satky chot zito osada uznik uznik salen let ousel ousel ousel ezdis dvazu stevy kolaz rpion undat susen sadis sujic zmovy hovor encum sedav oubek rizku rizku rizku ustat ezity ezity ezity ezity ezity ezity ezity razen razen razen razen razen razen razen razen sinto hamiz sifru ezden nimz nimz aslat aslat suslen stsinu nzada epist kavec zovky lenek muzum livit busin obist pout ostit ostit hlase hlase hodis apoty labek aslit aslit aslit retus obovy zluty prset epsit epsit epsit epsit desvu parek luzit luzit luzit odsit racis racis lisku lisku bizis zerze rabak isten isten isten isten isten isten nizky paplek paplek oznos busku vysel skvar volis fesan stkar chres perut zdivy risa chtit lezel lezel lezel krtat krtat krtat nizis razba novat novat bovat bovat bovat bovat bovat bovat outky azanu nosis ouosek ouosek emrat ruzba nasku lomis omysl tnost tnost tnost tnost tnost tnost tnost lzivy sos znost znost znost znost znost znost znost znost znost znost znost znost znost znost znost znost znost znost znost znost sity sity ilost ilost ezaky rymar nasel nasel nasel nasel nasel nasel nasel nasel nasel nasel alaiky desvy pizma zokej kos atinu sneky yuziv zivot inaty nizit nizit simon luzba luzba senk dovky ilink zidov rotez kolen kolen rzity rzity azivu tuser nozky nozky jejiz jejiz olaky siku hemzi zelky zelky izlat znuty zento vysit vysit vysit tkovy tkovy smrnc fesac avkum razma nutis itals rabky rabky sedoh sedoh fovat naset naset naset naset naset naset naset naset naset naset hnedo hnedo hnedo ehoun inavy zstev isimus oznit venky astik astik zerty lisak radis radis radis radis skary sleh popvat sinec serik serik kubat kubat lazit rostu ziren rysin echta zlivy zlivy zlivy zlivy zlivy zlivy zlivy zlivy vnost vnost vnost vnost vnost vnost vnost vnost vnost vnost zivit zivit zivit zivit nupat lizit lizit lizit lizit lizit lizit telek rysec sira kozar estiz ezkat ezkat lisaj pitat ovity ovity ovity ovity ovity ovity ovity ovity ovity ovity ovity ovity ovity ovity ovity ovity ovity mziku mziku mziku mziku astit tencu garaz garaz garaz kotat mlz chron zirov lilcek sosvat sosvat sosvat hrize sedy toven aloby kseft olaku list chyti sik skol jenz sivky sivky ontaz jezto tepit pesec spek vazit vazit vazit vazit vazit hmyzo hmyzo eteovy nevis manez falso falso icemz davek povat povat abaku enaty rusis opust mnuty fenyl zertv rost korys hlask odnoz odnoz enatu tnuta tnuta spion spion penec vazis otoez esnik jichz jichz jichz davku davku sermi atasy izdku livin znout znout sevel ouopat atovy selfu luzby luzby yzivu navec anost anost sipu sipu luzky ravis zinik sprot zehra papmet narus sedoz roubu roubu actvo actvo resel resel uchat uchat kazek picky zenky zenky zenky nasis nasis ekvip udlit nemz tipky ousek anovy pizmo drzky osero tenin mys kopek evans ferme ferme zakum lacha skrt mriz spicl papzba zimum kolky jejz ketyr simat ozdit snura pesak varky varky vesen vesen tesit tesit zhavy mistr mistr mesek selin lizec lhoun zerto zerto orody sostek postu sazen sazen sazen osiky lebky zovac pulir lisit lisit ovoity tnuty tnuty tnuty tnuty tavac klost desen ziven ziven satit skoln jsivy pisit pisit pusek livcu setrn chavy zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat zovat uftak orsit mroz usten usten usten usten usten usten rursik etsit jskum seku seku skety esniz davky vezit hochs isovy opisu opisu opisu opisu ucuhat estak estak nenlum kvira hmozd hmozd hmozd hmozd vniky zizen oupat oupat natoz flasi flasi flasi flasi rzat louz oztik zniku zniku zniku zniku zniku likoz epruz mlcis stnik stnik stnik ekkys ovist ziv sanda radza haras rezto usovy tenec tenec tenec tenec plaz zilek zilek zilek dosel arysa srafa rniku dezto lasen lasen lasen lasen lasen irovy melit yzamo zenit zenit zenit zenit zenit agaety sepot sepot sepot stera oprat zitko sikar lachy staky staky snuru loupy nebot apnel sazer ejsit ichta sip vatin ozary franc rochu kazet chtic chtic sefku bnout bnout bnout bnout ystit adlit papz ichut kazky rnost rnost udlat havat nit tatko zicek zicek kosik jimz jimz lecht zluc lizis gros poust hneda nstit azera azera azera kroby ndlik isera isera ivost ivost ivost ivost ivost ivost ivost ivost ivost ivost ivost ivost ivost ivost ivost ivost ivost tosit zita zenu sicku atous itovy eftik karpa kuraz arnis stvat stvat lacis nesel kdoz atrat sirku desin fales fales sesty serm seda ninsty tovak rozen rozen okazu yslen yslen yslet yslet yslet yslet holes hrisn hrisn hrisn hrisn sirit sirit eptat eptat oubky hrist evsad lstar stnit jspis papsa ezato sipy tazen tazen tazen tazen tazen rizit rizit zir zhavi nemuz spinu loz skost zhar banky pozit pozit yzivy kolak osinu stiky ortaz ortaz linar ilaty nozcu razel razel razel sesta ourat sandy cichy ysnit oubku luzko houze houze houze risit rodis zit zit klivo lasek lasek zebri zebri zebri zebri zebri zebri zebri zebri sikmo sikmo listu titit mziky luset luset luset hovat hovat uskat posto tniky erhak skrtu covat resku resku resku sejdi istec zertu zertu tizit tizit tizit tizit nozec etris rkasa rsten rsten picak sestk sestk sroub racit krtic hozky sevik penez penez plst vysen vysen ichz posty kuner ejimz ibaba osotep sivit alobu vzdus sifro minis usnik skleb zitel zitel tizer esvih znaty azden azden etaze zida antaz udcum luzbu tizen tizen tizen tizen tizen ladez zarek zhnou oulat kosu kodit kodit kodit lat uflaz resit resit resit terky ostat zok muzu muzu tktovy elanz krobu azity azity azity hrise ehnut etren sedes sedes sedes sedes sedes sedom ustis ustis ustis ustis ouzen ouzen ouzen hrabo terez enost enost enost enost enost enost enost enost enost enost enost enost enost enost enost enost enost enost enost enost lisej ehnat ksilt hopis isnik isnik isnik isnik kamos serbe licek licek aredy rosty tezky ousku pausa zivec zivec zlaz srotu salit dusek ester rovky ruzky kvara paplku paplku zerum itost itost itost itost itost itost itost itost itost itost itost zeruv etist budic tniku bnaty sot ratis kavcu movat zichu dlivy dlivy isiten retiz nez nez kazku senec senec senec senec senec senec alovy papcek cnost cnost cnost cnost cnost kokvat labut totven splh panky sniky sniky sniky sirko zitku zitku zitku zitku zitku zrout zrout zrout tiven nuzky estic zelvy padrt bijec bijec bijec bijec bijec bijec bijec bijec bijec bijec papget vazen vazen vazen vazen vazen lizky onsel eftar sovac sovac sovac sovac nazer nazer lastu itkum zoky silha silha patko sipek sipek ubovy esaty ricis lisen vniku skodu jakz fusov papnel pinen pinen pozar aznik aznik luzku uznic ivota desev ojist necht rasku rasku jakoz tisek pasaz ezita ezita ezita sicky sicky ejich sosust tivis chyt elekt razda akziv papzby ouzek ouzek ijiovy osedy perku asima silen silen zenac papcky pisu plat rutrz zerky stanu stanu stanu tonaz sero sofer nozik satet trosu mirar oucis letis znovy zen zen kosar oz sedov sef zidy rouby sirak lizel lizel lizel lizel lizel plet ozden vlast nazit nazit nazit rasit rasit rasit rasit rasit rasit rasit kaluz rarzda drzet drzet drzet drzet drzet drzet lista paplky desel desel desel nanmis dejic retez ousen ousen ousen ousen ousen speh meris meris meris slehy lofik sinou srot elesku plast krtit rzita rzita berky ouorat ouorat izeru seky pohlt ykavy ickar kazko izecu tistn masaz rasen rasen rasen zenec zenec zenec elovu ndlit ndlit ndlit obsit obsit nehoz nikum nikum nikum nikum nikum nstvo nstvo nstvo iliost hyrky emz lezak sir nut pecet sodo kozek rniky lyzar azery azery hresi takum takum zizal dusit lozis lozis chuto chuto chuto cichu oupez pazek zivo hledi ranec zilky leos rocez kozto kuzel sita sita ionaz ionaz ensin zravy zravy vrsit zenis misku senar ticky ticky ticky ticky flaus sperk tosak lizen izdel izdel nybrz tilec echtu sikma oliby zofin izaku istky posuk usnic usnic iprez tarky vorit refyz chodi ychar musis musis houst nasit hrase splha hosik rozec rozec rozec nozir kolit kolit jehoz lisek lisek lisek sitel sitel sitel sitel sitel osivy arada tarat lezet lezet lezet lezet lezet lezet lezet hiros hnhout imavy uzity uzity uzity uzity uzity uzity ustit zehle besel besel frase sostku ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy ickovy haste haste haste haste sery vstev slapa kdyz ngler sev silov zivu elnik elnik hlata dkazu ldner kaz sivku soky hosic skovy skovy skovy skovy skovy skovy istel zid spory varit silin silin silin silin hocis zelet zelet tisku sestr sistu slagr sipky ytist ajdat vazek vazek uruavy asecu sit sit ipkar sikov sikov euros zikat izovy rosit ouorek nadrz inovy inovy inovy inovy inovy inovy inovy inovy nozu zadat stinu stinu hlini amzik vadis sinde esmis snek septa septa septa septa septa libis sikmy ucnik obost busek nzety pnpout zlabu razku razku razku razku razku nuzek lozek lozek lozek lozek lozek lozek ehoz etaz ousec rtoun vasen otovy ritrz tutzit motit motit ninsta tanky vutek lizet lizet lizet lizet lizet lizet lizet elovy elovy hasis hasis prymy ziraf satin setre lis oliky jimuz zstvu seste seste ludek evnik hazis hazis hazis fasis fasis fasis fasis fasis fasis fasis fasis imnul razky razky razky razky razky razky plys stros nasec nasec nasec nasec sefa utavy ustet ustet ustet ustet ustet ustet ustet ustet ustet ustet ustet ustet ustet ustet inzen inzen inzen inzen inzen inzen inzen svihu vazel vazel vazel sermo seros seros rosis rosis tistu rilis rilis rilis mostu mostu tojis hticu pamet bazen most havet necky necky necky nivec yslis yslis yslis yslis sek listy elivy praz icaky iznit papzit litel echut echut bopis kazdy slak ezivu usuiku sicek satec zilko zilko uzivy uzivy uzivy uzivy vanit sirok sirok labky sniku sniku sniku sniku zold zerno soku soku spsady liz vazej zelku vsiml pravy kkysu stovy stovy kovac zlaza nimiz mouha zesin ahoun serpa mosty skody zkovy zkovy zkovy zkovy zkovy zkovy zkovy zkovy zkovy zkovy simra lnost lnost lnost lnost lnost lnost lnost lasit lasit lasit aster kolek otnic pesek zilna tnuto tnuto tnuto tnuto nacez havit simpa kazis kazis odloz zelez zelez zelez zelez zelez zelez zelez zelez zelez zelez zelez zelez zebro zebro radez itkar vasis lysen kozku kozku upuavy plhat vesek osiku edloz msic vatku lapat lapat lapat lapat ohlid jezit jezit catit orysu opisy sencu okruz artak zeton zitky zitky fanou fanou sesrak luzen rusit rusit rusit rusit rusit rusit rocis rocis sefu tipek nsinu chut hnout hnout hnout hnout hnout tonos tacky tacky tacky tacky tacky tacky esita hnedy papnos jis vorec fuser ezaty ezaty telum telum zerti zerti dovat dovat dovat osnik dacky covod emuzu klivy sivec skod zensk posit fesak senky menaz zeznec oslys selmy ustel ustel ustel ustel ustel tista znivy znivy vrzen vrzen silky ndira panek mstit drzen ouosku esus sivat sivat sivat kolda hrusk hrusk sosupa tnout tnout tnout tnout tnout tnout steru siml gulas izata jiz jiz belaz resek resek kacky kasel pust ystof astet nasir stata zlut ipust istra post tesen zluta avzdy koser sefty kazel zitek zitek zitek musku zenat tovat tovat tovat tovat tovat tovat tovat tovat poloz avost avost eleost zivac ramek lebek teraz ovost nzovy sefuv rezit rezit ostak ostak esata siren rasek rasek kacek staku staku otnos ortky nizku zelum zelum papdis ojzis ereaku hrozn tepky serif serif tivat ehavy zeluh vatel vatel vatel vatel vatel vatel vatel vatel cicha slapl rilez yslel yslel yslel yslel yslel zesto novky totura silet selak paplir ejnik ensit ezivy ezivy muz eskat eskat eskat ozaru ozaru naloz naloz sered ivnik rabek zilov zilov zilov obtiz lezis sirek jez rozek uskar nizek izdet izdet izdet izdet izdet izdet izdet izdet vacek razis sibik resen resen mesec zirav zirav silec odnit zlaby setri setri usivy aspar lozky lozky lozky lozky lozky oupis oupis istet anzel anzel zinen stery zisku hruse tovic zirat zirat outek lehac ezata batko sifra ozity azeru azeru azeru azeru izdky zehli zehli zehli zehli zeru rozik groso vsima abavy sok nizat asivy rovat rovat rovat rovat rovat rovat fistr trzen trzen trzen trzen osus vizen hlemy hlemy siro elcin ezeovo ritez besen azrat sostu nasen nasen nasen nasen nasen jezku papdrt milos paplik oudis zer hut sosak kudcu siry losin slivy slivy oldak grosa vykat teziv zivy mazit ryzto prtat prtat ozrat ozrat ozada ozada zihat risku trzel plz aloky sicht razek razek razek niz niz ezist vnout potiz loutl luvis spust isnic rabat rabat rabat rabat rabat rabat rabat razec razec sidit sidit sidit tulky nichz varek varek oznik oznik oznik prst echty echty papsak dycky tazmo ouorky drzis posta pappez siben adsen adist injek rotaz pulit hnuty olnik svary # You shall not change anything below this line. .PHONY: password a = $(1)$(2) b = $(wordlist 2,$(words $(1)),$(1)) c = $(patsubst $(1)%,%,$(filter $(1)%,$(2))) D = ? d = $(1)$(D) F = $(call t,d,$(I)) f = $(if $(2),$(call t,$(3),$(filter $(D),$(2)),$(4),$(5)) $(call t,f,$(ALPHABET),$(patsubst $(1)%,%,$(filter $(1)%,$(2))),$(3),$(4)$(1),$(5) $(1))) h = $(strip $(call t,c,$(ALPHABET),$(1))) n = $(if $(filter %: :%,$(join $(patsubst %,%:,$(3)), $(patsubst %,:%,$(filter $(2),$(I))))),,$(2)) N = $(sort $(call f,,$(F),n)) PASSWORD = $(call z, $(N)) p = $(if $(1),$(if $(3),$(call p,$(call h,$(1)),$(2),$(call h,$(3)),$(4)),$(2)),$(4)) t = $(if $(2),$(call $(1),$(firstword $(2)),$(3),$(4),$(5),$(6)) $(call t,$(1),$(call b,$(2)),$(3),$(4),$(5),$(6))) z = $(if $(1),$(call z,$(call b,$(1)),$(call p,$(2),$(2),$(firstword $(1)),$(firstword $(1))),$(2)),$(2)) help: I = $(call t,m,a a b) help: m = $(call t,a,a a b,$(1)) help: @echo "Everything is OK. Test password is $(PASSWORD)." @echo "Run \`make password' to get the right password." password: I = $(call t,m,$(INPUT)) password: m = $(call t,a,$(INPUT),$(1)) password: @echo $(PASSWORD)