--!name Five Letters
--!icon game
--!category Games
local am="!$%&()+,-0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnpqrstuvwxyz|"local function z(b)return am:sub(b+1,b+1)end local T,ac,an,ab,aa=0,26,52,78,79 local F=":abacaackaftateayaBEYboteameleetshorideiesledlesodeortOUTOVEuseutsuzzyss:acarihedhesidskeenesornresridtedtestinTORUTE:adageAPTdedderdleeptieuiosMITobeoboOPTOREornULT:aegisonsrierys:affixireootoulTER:agAINamaapeateaveENTgroileINGioslowonyoraREEuas:ahEAD:aideddesledlesmedmesoliredresSLE:akins:alARMBUMderdolephERTgaegaliasibiIENIGNIKEineIVEkydkyllaylesLEYlislotLOWLOYlyloesoftohaONEONGoofoudpesPHATARTERtosums:amassazeBERbitblebosebaeerendentideigoineinoirsissityoraourpedPLEplyuckuse:anGELGERGLEGRYgstiesimaIMEionisejouKLEnasnexnoynulnumodeonstestictistsyvil:aorta:apaceARThidneapalPLEPLYprorontly:aquae:arborcedcoscusdorealeasecaENAetegongotGUEgusiasISElesmedmesMORmysomaoserasRAYROWsedsessontes:asanacothenhesIDEkedkerkewpenperpicsaysedsesSETtertir:atharLASollomsoneriatarTIC:auDIODITgerghtgurntsntyralrasrictosxin:availersertianOID:awAITAKEARDAREashaysFULoke:axialilsiomlesons:azideure:babasbelbesbkaboobysccaccycksCONDGEDLYgelggyilsirnitsizekedKERkeslasldyledleslksllylmslmylsanalndsndynesngsnjonksnnsrbsrburdsredresrfsrgerksrkyrmyrnsRONsalsedsesSICSILSINSISsksssissosteTCHtedtesthethstikTONttyulkwdywlsyedyesyouzar:beACHadsadyaksamsanoansanyARDarsASTatsausautauxbopcksechefsefyensepserseryetsfitgangatgetGINgotgumgunigeINGlaylchliellellsLLYLOWltsNCHndsnesnninnyntsretrgsrksrmsRRYrthrylsetststastelvelzel:bhang:biBLEddydeddesdetghtgotjoukedkerkeslbyleslgellsllyndsnesngeNGOomeotapedrchrdsRTHsontertesteytty:blACKADEahsainAMEancandANKareaseASTAZEeakeatEEDeepENDESSesteusimpINDingINKipsISSitzoatobsOCKocsogsokeondOODOOMotsOWNowsowyuedueruesuffUNTurbursurtush:boARDarsastatsbbyccededdesdgedyseufgeyggygiegusiesilslasleslosltslusmbsndsnednesneyngongsnksnnyNUSobyoedoksomsonsorsOSTOTHotsotyOZEozyraxredrerresricrnernsronsiesomsonssysuntchughuleUNDurnutswedwelwerweswlsxedXERxesyeszos:brACEactadsaesagsaidAINAKEANDansantashASSatsAVEAVOawlawnaysazeEADEAKeamedsEEDenteveewsiaribeICKIDEIEFierigsillimsineINGinkinyiskitsittOADoilOKEomeonconyoodOOKoomothOWNowsuinuituntUSHute:bucksDDYdgeffsggygleILDILTlbslgelkslkyllallsLLYmpsmpynceNCHncongsnkonksNNYntsoysresrghrinrkarkerlsrlyrnsRNTrpsrqarrorrsrryrsaRSTsbysedsesshystsstytchttettsttytylxomYER:bylawrestesway:cabalbbyberBINBLEcaoCHEctiddydesdetdrefesgedgesgeyirnkedkeslfslifllallillslmslvelyxmasMELmeomosmpsmpyNALNDYnednesnidnnannynoeNONntontsntypedperpespizponposputratrdsredresretRGOrobROLromrpirpsRRYrtertsrvesedsessksstestsTCHtertesttyudaulkusaUSEvedvesvil:ceASEcumDARdeddesdisllollsntsresrts:chadsafeaffAINAIRALKAMPantAOSapsardARMarrarsARTaryASEasmatsEAPEATECKEEKeepEERefselaertESSESTevyewsewyICKideIEFILDileILIILLimeimpinaineinoinsipsirkirpitsiveockocsOIROKEompopsORDoreoseouxowsubsUCKuffugsumpumsUNKurnute:cidergarlianchriorriscossytedtestysvetVICVIL:clackadeAIMampamsangankansapsaroaryASHaspASSawsaysEANEAReatefsefteggERKewsICKIFFIMBimeinginkipsitsoakOCKodsogsONEOSEOTHotsOUDoutoveOWNubsuckueduesumpungunk:coACHalsASTatiatsbiabraccickyCOAcosdedderdesdexdonilsinskedkeslasldsleslicllylonLORltsmalmasMBOmbsmedmermesMETMFYMICmmampsnchNDOnednesneyngangonicntooedoksokyolsolyonsopsotspalpedpesprapseRALrdsredrerresrgirksrkyrmsrnsrnurnyrpsstaststesUCHUGHUNTupeupsURTvedvenVERvesvetveywedwerweswlsxedyly:crabsACKAFTagsakeampamsANEankansapeapsASHassateaveAWLazeAZYeakEAMedoedsEEDEEKeelEEPepeeptessESTewsibsickiedieriesIMEimpISPitsoakockoftoneonkonyookoonopsoreOSSoupOWDOWNowsUDEUELuetumbumpuseUSHUSTypt:cubbybedbesBICbitddyffsllslmsltsminpidpparbsrdsredresrieriorlsrlyRRYRSERVErvyshyspstchtertis:cyCLEnicsts:czars:dachaDDYggaILYIRYISYlesllymarmesmnsmpsNCEndynksredresrksrkyrtstastedtestumuntvitwahweswnszed:deadsalsaltansarsaryathbarBITbtsbugBUTcafcalCAYcksCORcoycryedsemsepsersfergasifyignismistityLAYlftlisllsLTAlveMONmosmurnesnimNSEntsnysPOTPTHRBYrmaskstertoxuceVIL:dholeotiows:dialsARYazocedcercesceycksckyctaetsGITkesmedmermesmlynarnednernesngengongsngynksnkyodeolsrgerksRTYSCOscsshysksTCHtesttottyvanvasvedvervesvotvvywanxiezzy:djinn:docksDGEdgydosersgesggoggygmailylceledlesllsllylorltsmedmesneenesngsnnaNORnutomsorspedpespeyrksrmsrsasedsestedtesttyUBTUGHulauseveswdywelwerwnswnywrywseyenzedZENzerzes:drabsAFTagsAINAKEAMAamsankapeawlAWNawsEADEAMeckegsESSewsiedieriesIFTILLilyINKipsIVEollomeONEooloopopsossOVEOWNugsumsUNKupeyadyeryly:dualscalcatceschycksckyctsdeselsetsffskesllsllymbsMMYmpsmpyncenesnksomopedpespleralrasrumskystsSTYvet:dwARFeebellelt:dyadsersingnes:eaGERGLEredrlsRLYrnsRTHsedselsesststenterves:ebbedony:echoslat:edemagedgergesictifyits:eerie:effed:eggedgerret:eiderdosGHT:eject:elandBOWDERECTegyfinideITElesmesopeudeves:emAILbedberceeenderyirsitsmermetojiotePTY:enactdeddowemaEMYJOYnuirolsueTERTRYvoy:eonnisin:epicsochoxy:eqUALuip:erASEectgoticaoderedRORupt:eskerpysSAYter:etherhichoshylude:euros:evadeensENTersertERYictilsoke:ewers:exACTaltamsCELertILEISTitsonspatpelpostolTRAudeult:eyrie:fablecedcercescetciactsdeddeserygotilsINTirsIRYITHkedkerkeskirllsLSEmedmesNCYngsnnyradrceredresrmsrtsstsTALtedtestsoTTYtwaULTunaunsVORwnsxedxesyedzedzes:fearsASTatscalcesedselsetsignintistllallsllylonltsmurNCEndsralriarmirnsrnyRRYtalTCHtedtestidtusudsVERWER:fiatsBERbreefsELDenderyfesFTHFTYGHTlchledlerlesletllellsllylmslmylthNALnchndsnednernesnisnksordredresrmsRSTrthshyststchvedvervesxedxerxeszzy:fjord:flackagsailairakeakyAMEANKapsAREASHaskatsawsayseaseckeereesEETESHICKiedieriesingINTipsirtitsOATOCKoesogsOODOORopsORAossOURoutownowsubsuesuffUIDukeukyumeungunkuorUSHuteyer:foalsamsamyCALCUSgeyggyilsistldslialieliolksllyndsntsodsolsotsrayRCErdsresRGErgorksrmsrteRTHrtsRTYRUMssasseulsUNDuntursveawlsxedxesyer:frailAMEancANKapsatsAUDaysEAKeedeereesESHetsiariedieriesilliskizzockogsondONTOSTothownozeUITumpyer:fudgeelsgalglyguellsLLYmedmesndindsnesnginksNKYNNYranrorrryrzesedsesssystytonzesZZY:gabbybleffeffsgesilyinsitslaslaxlealesllsmbamedmesmeyminMMAmmymutngsnjaolspedpesrissesspsssytedtestorudyUGEuntussuzeuzyvelwkyzedzes:gearsckoeksesemmanesnetnicnieniiNREntsnusodermsrmyssotup:ghatsOSToul:giANTddyftsldsllsltsmpsmpypsyrlsrthstsVENverveszmo:glaceadeandansareASSazeeameanebeeesensialideintitzoatOBEobsoomORYossOVEowsowyueduesueyuonuteutsyph:gnashatsawsome:goadsalsatsdlyersferINGldslemlfsnadnerngsnzoodsodyoeyofsofyonsOSEredresrgerseugeurdutywnsyim:grabsACEADEadsaftailAINamaamsANDansANTAPEAPHASPASSateAVEavyaysazeEATebeEEDEENEETeysidsIEFILLimeimyINDinsiotipeipsistitsoanoatoinOOMopeOSSoszOUPoutOVEowlOWNowsubsueluffumpunt:guanoARDavaESSESTIDEILDileILTiselaglchlfsllsllylpsmbommynnyppyrusshystostsstytsyyot:gypsyresrosrus:haBITcksdesdjiikuilsirsIRYjjikimlalleslfsllslonlosltslvemedmesmmyndsNDYngsnksnkyplyPPYrdsRDYremresrksrmsrpsrpyrryRSHrtsstestyTCHtedtertesulsuntVENvesvocweswksyeszanzedzel:headsadyalsapsARDarsARTATHatsaveAVYDGEedselsftyirsistlixLLOllslmslpsNCEnnanryrbsrdsresrmsronrosrtzwedwerwesxedxes:hicksdesghsjabkedkerkeslarllsllyltslumndsnesngentsppoppyredrerrestchvedves:hoagyardaryBBYboscksdesganistkeykumldsledlesleyllalloLLYmedMERmesmeynednesNEYnksnkyNORochodsoeyofsoksokyopsotspedpesrdernsRSErstsedsesstsTELtlyundursUSEvelverwdywlsyas:hubbydudffsffylksllollsMANmesmicmidMORmpsmusnchnksntsrlsRRYrtssksskyssytch:hydraenamenmiemnsoidpedpes:ichorilyingons:idEALeasiomiotledlerlesolsyll:igloo:ileumeusiaciasium:imAGEagoamsbuepelPLY:inaneaptcurcusDEXDIEdrieptertferfixfosfragotkedlayletNERnesPUTsetterTROure:iratekedonsONY:islaylesletSUE:itchyems:iviesORY:jacksdeddesilskesmbsmespanpesreduntwanwedzzy:jeansepsershadlloLLYmmynnyrksrkyststtyWEL:jibesffyggshadmmyngonksnninnsves:jockshnsinsINTistkedKERkesllyltsnahuleustwlsyed:judasDGEICEICYkedkeslepmbompsmpynconksnkyntantororststes:kabobfirpokppaputratRMAshatesuriyakzoo:kebabelsepsmptrbsrnstchyedyes:khadiakians:kiangcksddyleyllslnslosltsndandsngsnksnkyoskrkstesTTYwis:klickutz:knackaveeadeedeeleeselleltIFEishitsobsOCKollotsOWNows:koalaansbeshlsineoksoky:kraalaftaitillonaoneoon:kudosdusdzurtarustch:kvass:kylie:laBELbiaBORcedcescksDENdledysgangerharirdirsitykeskhsllymasmbsmedmesmiampsnaiNCEndsnesnkypelpinpserchRGErgorksrvaSERssoststchtedTERtestexthethittetusudsUGHvasverweswnsybyyedYERyupzar:leachadsafsafyaksakyansantapsaptARNASEashASTAVEdgeechekserseryftsftyGALgergesggymmaMONmurndsnsentoonepertchveeVELVERviswdsxis:lianaarsbelcitcksdaregeensferfesftsgerGHTgnekedkenkeslacmanmbombsmesmeyMITmosmpsnacndynednenNERnesngongsnksonspidrasslespsststertesthetrevedvenVERvesvid:llamaano:loachadsafsamsamyansathbarBBYbedbesCALchsckscoscumcusdesDGEessftsftygiaGICgoshaninsllynerngsoksomsonsonyopsopyOSEotspesrdsresrrySERsesssyttettoTUSughupeuseusyutsvedVERvesWERweswlyYAL:lubedbescidcksCKYcredicgerllsmenmpsmpyNARNCHngengingspinpusrchredresridrksstsstytes:lviii:lxiii:lyceeINGmphnchRICsisssa:macawcedcerceschocksconCROdamdesdlygesGICgisgmagusidsilsinsizeJORKERkeslarleslikllsltsmasmbambommammynednesNGAngengongynianicnkyNLYnnaNORnsentanuspesPLErasRCHresrgeriarksrlsrlyrriRRYRSHrtssersksSONsseststaiTCHtedtertesteythsttettstzoulsunduvevenvinviswesxedxesximxisYBEyesYORyoszerzes:meadsalsalyansantanyatsatyccaDALdiadiceksetsldsleelonltsmedmesmosndsnesnusowsRCYresRGERITrleRRYsassicsonSSYTALtedTERtestreTROweszzo:miaowCROddydgeDSTGHTkedkeslchlerleslialkslkyllslosmedmesmicnasncendsnednernesngenimnisnksNORntsntyNUSredresrthrzaserssystsstytertestrettsxedxerxeszen:moansatschacksdaldedDELdemdesgulireISTjoslarldsldylesllellsllyltoltsmmaMMYnadnasNEYngonksnosnteNTHochodsODYongonsonyorsoseotspedpesRALrayrelresronrphseyssyteltestetthstifTORTTOuldultundUNTurnUSEusyUTHvedvervesVIEwedwerxie:mucincksckycusddydraffsftiggylchlesllsmmammympsnchonsralrkysedsesshySICskystsstytedtesttszzy:mynahrrhths:nabobchocrediriadilsiraIVEKEDmedmermesncendunnannyppyrcsrdoressalSTYtaltesttyVALvelvesvvywab:nearscksedsedygusighonsrdsRVErvystsVERvesvisvuswelWLYwsywtsXUS:niCHEcksdusECEftyGHTgrahillesmesnernesNJAnnynonNTHppyqabsustesxedxes:noBLEblydesISEISYmadncenesoksonaonsosepalrmsRTHsedsesseyTCHtedtesunsvaevasVEL:nubbydesdgekedkesllsmbsnesRSEtty:nylonmph:oakenkesredsessistesths:obeaheseeysitsoes:ocCUREANherhretaltetuli:oddlyiumorsour:offalfedFERTEN:ogiveledres:ohmic:oiledler:okapiays:oldenDERdieigoIVEogy:omEGAensits:onIONSET:oomphzedzes:opalsensERAineiumtedTIC:oralsangBITcasDERGANielris:otHERter:ouNCEststdotedTERtretro:ovalsaryateensersertineoidule:owINGletnedNER:oxbowIDEime:ozone:pacedcerceschacksctsDDYdreeangangedgergesilsinsINTirsisaiseledlesllylmslmylsyNDAnedNELnesngangsNICnsyntontsntypalpaspawPERpesppappirasredresrkarksrkyrryrsertsRTYrvoseoshasseSTASTEstsstytasTCHtertesthstiotsyttyUSEvanvedveswedwnsyedyeeyer:peACEACHaksakyalsARLarsaseatsatyavycancksDALdesekselsepsersevekoeledltsnalncenneNNYonsonypesppyrchrilrisrksrkyrmsrryskysosstoststaltesTTYwee:phageASEialloxONEonyOTOyla:piANOcksckycotECEedsersetaetyggygmykaskeslaflarledlesllsLOTmpsNCHnednesngsnkonksnkynnannynonntontsonsouspedPERpespitquestetasTCHthytonttavotXELxieZZA:plACEageaidAINaitANEankansANTasmATEatsatyaysAZAEADeaseatebeebsenaiedieriesodsonkopsotsowsoysuckugsumbumeumpumsunkush:poachdgyemsesyetsINTisekedKERkeskeyLARledlesliolkallsloslypmmyncendsochofsolsopsorspesppyRCHredresrgyrnsrtartssedsersessitsseststtyuchUNDursutsWER:pramsangANKatsawnayseenepsESSeysICEicyIDEiediesimaIMEimiimoINTionIORiseismivyIZEOBEodsofsoleOMOomsONEongOOFopsOSEotoOUDOVEowlOXYudeune:psalmeudoasyop:pubesbicbiscksdgedgyffsffykedkeskkalisllslpslpyLSEmasmpsNCHnksnkynnyntspaepalPILPPYreergerrsRSEshyttstty:pygmylonresxis:qibla:quackadsaffailakealmarkartashasiaysEENellernERYESTEUEICKidsIETiffilliltinsintipsireirkITEitsoinotaOTE:raBBIbidcedcercescksDARdiiDIOdixdonftsgedgesidsilsinsINYISEitajahjaskedkesLLYmiemismpsmusNCHndsndyNGEngynksntsperphePIDresspsspytantedtesTIOttyvedvelVENvervesyedyonzedZOR:reACHACTadsADYALMalsamsapsarmarsBELbusbutcapcceccoctactocurdesdiddoxduxedsedyefsekselseveFERfitgalIGNinsLAXLAYlicmitnalNEWninntsPAYpelPLYpotrunSETsinststchTROtryusevelvue:rheuminoyme:rialsbescercescincksDERdesDGEffsFLEftsGHTGIDgorledlesmesndsngsnksnseotspenSENsersessksSKYtestzyVALvenVERvesvetyal:roachadsamsarsASTbedbesBINbleBOTcksCKYdeodesGUElesllsmpsndoofsoksomsomyostotspedperpespeysessintastorUGEUGHUNDuseUTEutsvedVERwanwdywedwerYAL:rubelbesblecksddyffsGBYinsledLERlesmbamenmmyMORmpsnesngsnicnnyntsnuppeeRALsesstssty:saberbinblebotbrabreckscradhuDLYfedfesgasgeshibidsigailsINTkesLADlahlallatlesllylmiLONlsaltsLTYlvelvomanmbamesndsNDYppyranreerinrisssytedtestintyrUCEucyunautevedvervesvinvorvoyvvywedxesyed:scabsadsaldALEalpalyampamsansantapeAREARFarparsARYatsaupENEENThmohwaionoffoldoneOOPootOPEOREornourOUTowlramRAPreeREWrimripRUBrumubaudsuffullumsute:sealsamsamyarsatsbumctsdandgedumedsedyeksemsepsersgueineIZElfsllslvamisndsnnaNSEntentipalpiaptaresrfsrgerifrinRUMRVErvotaettsTUPVENverwedWERxedxesxts:shabuackADEADYAFTagsahsAKEakoakyALEAMEamsankAPEardAREARKARPartAVEawlayseafearedseenEEPEEREETeikELFELLewniediesIFTillimsINEinsINYipsireirkIRTivaoalOCKoesogiojioneOOKOOTopsOREornORTotsOUTOVEownowsowyredrewrubruguckunsuntushutsyeryly:sibyldeddesdleEGEeveftsghsGHTgmagnslexlkslkyllsLLYlosltsltylvamasnesnewngengsnksnuspesredrenresrissalssytartedtesxerxesXTHXTYzedzes:skankATEeeteinewsidsiedieriesiffILLimpimsinkinsintipsIRTitsiveuasulkULLunkype:slabsACKagsainakeamsangantapsASHATEatsatyaveaysedseekEEPeeteptICEICKIDEimeimsimyinginkipsitsobsoopOPEopsoshothotsowsugsumpumsungunkurpursushyly:smACKALLARTASHearELLeltILEirkiteithitsockOKEokyoteuts:snACKafuagsAILAKEakyapsarearfarlEAKeerickideiffipeipsobsoodookoopootoreortoutowsowyubsuckuff:soaksapsapyarsBERcksdasddydomfasftsftyggyilslanLARledlesLIDlislonlosLVEmanmesnarnesngsNICnnyothotyppyresRRYrtsughuksulsUNDupsupyursuseUTHwedwer:spACEacyadeallamsangankansAREARKarsasmateatsawnEAKEAReckecsEEDELLeltENDENTermewsICEICYiedieliesiffIKEikyILLiltINEinsinyireirtITEitsitzlatlayLITOILOKEoofookoolOONoororeORTotsoutratRAYreerigritrogrueudsunkurnursurt:squabUADuatuawuibuid:stabsACKAFFAGEagsaidAINairAKEalealkALLAMPANDankaphAREARKarsARTashATEaveayseadEAKEALEAMeedEELEEPEEReinelaeleemsentepsERNewsICKIFFileILLiltINGinkintipeirkirsoatOCKoicOKEOLEomaompONEonyoodooloopopsOREorkORMORYoutOVEowsRAPRAWRAYreprewriaRIProprumrutubsUCKudsUDYUFFumpungunkunsUNTupaYLE:suaveckscredsyedeGARITEitslcilfalkslkyllallymacmpsNNYnupPERpesprarasrfsRGErlySHItra:swabsagsainaleamiAMPankansapsardarmartashathatsaysEAREATedeEEPEETELLEPTIFTigsillimsineINGipeirlisholeoonoopORDoreORNung:sylphlvancsnodRUP:tabbybesBLEbooborcitcksckycoselsffygesilsintiraKENkerkeskinlasleslislkslkyLLYlonlusmalmedmermesmmyngangongsngynkanksnsypaspedperpespirpisrdyresrnsrotrpsrryrsirtssksSTESTYtertesttyuntupewnyxedxesxisxon:teACHalsamsarsaryaseatschschyDDYemsensenyETHlcolexllsllympiMPOmpsmptnchndsnetngennononnorNSENTHntspeepidresrmsrnsrryrseslastastsstytraxts:thaneANKawsebeEFTEMEEREermetaICKIEFIGHillINGINKinsIRDoleongornousREErewrobROWrumudsugsUMBumpunkyme:tiarabiacksDALdesersffsGERGHTkesldeledlerlesllsltsmedMERmesmidneanesngengsnnyntspisppypsyredresrosTANtertheTLEtrezzy:toadsadyASTDAYddyffsgasilsKENkeslesllsmbsmesnalnednernesngsnicnneolsonsOTHotspazPICposqueRCHrsortertsrusTALtedtemtesUCHUGHursutswedWELWERwnsXICxinyed:trACEACKACTADEagiAILAINAITampamsapsASHaveawlayseadEATeedeeseksENDessewseysiadIALIBEiceICKiedieriesikeillimsineiosipeipsiteOLLOOPopeothotsOUToveuceUCKuerULYumpUNKussUSTUTHyedyst:tsars:tubalbasbbybedberbescksffsftslipllemmyMORnasnednernesnicnnyrdsrfsrnsrntrpssksTORtusxes:twainangeakeedeepEETerkerpICEigsillineinsirlISTits:tyINGkespedpesposredresros:udder:ulamaceremanarTRA:umbelberbra:unaryboxCLEcutDERdidduefedfitifyIONITEitsITYlitnieseetagtiewedzip:upendpedPERSET:urateBANgedgesine:usAGEersherINGUALurpury:uteriileTER:uvealula:vacaygalGUEguslesletLIDlorlseLUELVEmpsndanespespidporranrasrnarusryssesULT:veersGANilsinslarldtlumnalnomntsNUErbsRGERSErsorturveststchxedxes:vialsbescarcesDEOewsgilgorLLAllimesnesNYLolaolsperRALreortuRUSsasSITsorSTATALvasVIDxen:vlogs:voCALcesDKAGUEICEidsilelarlesltsmittedTERtesuchwedwel:vroom:vulva:vying:wackockydedderdesdisferftsgedgergesGONhooifsifuilsISTitsivekedkenkerkesleslksllsllyltzndsnednesntsrdsresrmsrnsrpsrtsrtyshyspsSTETCHTERttsvedvervesxedxenxes:wealdansarsaryavebbyberdelDGEebsedsedyeksenyepsepyftsIGHIRDirslchldsllsltsnchndssts:whackALEangarfealEATEELelkelpetsiffILEimsineinyipsirlirrishiskistITEizzOLEompooporl:wicksdendesDOWDTHeldfesghtldslesllsltsmpsmpyncenchndsndynednesngsnkspedperpesredressedspsspyTCHthethyttyves:wokenldslfsMANmbsnksnkyodsODYoedolsolyoshozyrdsrdyrksRLDrmsrmyRRYRSERSTRTHUNDvenwed:wrackapsATHeakECKensestingISTITEitsONGoteothungyly:xenonricrox:xliiivii:xviii:xxiiiviixiixivxvi:xylem:yaCHThoongsrdsrnswns:yeahsarnarsASTllslpssestis:yiELDpes:yodelgasgicgiskaikedkelkeslksUNGUTH:yuccackymmyrts:zairekatman:zebrarosstytas:zilchngsppoppy:zloty:zombinalnednesoms"local A=0 for ap in F:gmatch("%u%u%u")do A=A+1 end local function au(R)local w=F:find(":"..R:sub(1,2),1,true)if not w then return false end local as=F:find(":",w+1,true)or#F+1 local h=F:sub(w+3,as-1):lower()local Z,b=R:sub(3),1 while true do local Y=h:find(Z,b,true)if not Y then return false end if Y%3==1 then return true end b=Y+1 end end local function I(i)for aA,h in F:gmatch(":(%l%l)([^:]*)")do for Z in h:gmatch("%u%u%u")do i=i-1 if i==0 then return aA..Z:lower()end end end end local function ay(h,q)local y,K={},{}for b=1,5 do local d,p=h:sub(b,b),q:sub(b,b)if d==p then y[b]="C"else K[p]=(K[p]or 0)+1 end end for b=1,5 do if not y[b]then local d=h:sub(b,b)if(K[d]or 0)>0 then y[b]="P";K[d]=K[d]-1 else y[b]="A"end end end return y end local function ar(e)local c=os.date("*t",e)return os.time({year=c.year,month=c.month,day=c.day,hour=12})//86400 end local _=os.time({year=2026,month=1,day=1,hour=12})//86400 local function P()local e=os.time()if not e or e<1700000000 then return nil end return ar(e)end local a={played=0,won=0,streak=0,best=0,dist={0,0,0,0,0,0},last=0,pp=0,pw=0}local l={day=0,g={}}local n={idx=0,g={}}local L,r,f="practice","",n.g local j,H="",nil local v,D=1,1 local o,x="menu",1 local ao={"QWERTYUIOP<"," ASDFGHJKL>","  ZXCVBNM  "}local function ad(h)return table.concat(h)end local function ak(w)local e={}for R in(w or""):gmatch("%l%l%l%l%l")do e[#e+1]=R end return e end local function aj()local c=a.dist snail.save(table.concat({"F1",a.played,a.won,a.streak,a.best,c[1],c[2],c[3],c[4],c[5],c[6],a.last,l.day,ad(l.g),n.idx,ad(n.g),a.pp,a.pw},";"))end local function ax()local w=snail.load()if type(w)~="string"or w:sub(1,3)~="F1;"then return end local J={}for aC in(w..";"):gmatch("([^;]*);")do J[#J+1]=aC end local m=function(b)return tonumber(J[b])or 0 end a.played,a.won,a.streak,a.best=m(2),m(3),m(4),m(5)for b=1,6 do a.dist[b]=m(5+b)end a.last,l.day,l.g=m(12),m(13),ak(J[14])n.idx,n.g=m(15),ak(J[16])a.pp,a.pw=m(17),m(18)end local function B(h,q)return#h>0 and(h[#h]==q or#h>=6)end local function al()local c=P()if c and a.last>=c-1 then return a.streak end return 0 end local function O(E)L=E j,H="",nil if E=="daily"then local c=P()if l.day~=c then l.day,l.g=c,{}end r=I(c*337%A+1)f=l.g else if n.idx<1 or n.idx>A or B(n.g,I(n.idx))then n.idx,n.g=math.random(A),{}end r=I(n.idx)f=n.g end v,D=1,1 o="game"aj()end local function at()local S=f[#f]==r if L=="daily"then a.played=a.played+1 if S then a.won=a.won+1 a.dist[#f]=a.dist[#f]+1 a.streak=(a.last==l.day-1)and a.streak+1 or 1 if a.streak>a.best then a.best=a.streak end else a.streak=0 end a.last=l.day else a.pp=a.pp+1 if S then a.pw=a.pw+1 end end end local function aB()if#j<5 then H="Five letters, please";return end if not au(j)then H="Not in the word list";return end f[#f+1]=j j=""if B(f,r)then at()end aj()end local function N(d,p)return ao[p]:sub(d,d)end local function af(c)local d=v repeat d=(d-1+c)%11+1 until N(d,D)~=" "v=d end local function ag(c)local p=(D-1+c)%3+1 for ah=0,10 do for ap,d in ipairs({v-ah,v+ah})do if d>=1 and d<=11 and N(d,p)~=" "then v,D=d,p;return end end end end local function ae()local e={}local c=P()if c then local X="Today's word, #"..(c-_+1)if l.day==c and B(l.g,I(c*337%A+1))then X=X.." (done)"end e[#e+1]={X,"daily"}else e[#e+1]={"Today's word: needs the clock","noclock"}end e[#e+1]={"Practice word","practice"}e[#e+1]={"Statistics","stats"}e[#e+1]={"How to play","help"}return e end function key(i)if o=="menu"then local C=ae()if i=="up"then x=(x-2)%#C+1 elseif i=="down"then x=x%#C+1 elseif i=="ok"then local q=C[x][2]if q=="daily"then O("daily")elseif q=="practice"then O("practice")elseif q=="stats"or q=="help"or q=="noclock"then o=q end end return end if o~="game"then if i=="top"or i=="ok"then o="menu"end return end H=nil local s=B(f,r)if i=="top"then if not s and#j>0 then j=j:sub(1,-2)else o="menu"end return end if s then if i=="ok"then if L=="practice"then O("practice")else o="stats"end end return end if i=="left"then af(-1)elseif i=="right"then af(1)elseif i=="up"then ag(-1)elseif i=="down"then ag(1)elseif i=="ok"then local g=N(v,D)if g=="<"then j=j:sub(1,-2)elseif g==">"then aB()elseif#j<5 then j=j..g:lower()if#j==5 then v,D=11,2 end end end end local function aq()local s=B(f,r)local V={}local t={}for y=1,6 do local k={"...",nil,nil,nil,nil,nil,"..."}local h=f[y]if h then local E=ay(h,r)for b=1,5 do local g=h:sub(b,b)local G=g:byte()-97 local ai=E[b]=="C"and 3 or(E[b]=="P"and 2 or 1)if ai>(V[g]or 0)then V[g]=ai end if E[b]=="C"then k[b+1]=z(T+G)elseif E[b]=="P"then k[b+1]=z(ac+G)else k[b+1]="{"..g:upper().."}"end end elseif y==#f+1 and not s then for b=1,5 do local g=j:sub(b,b)k[b+1]=g~=""and("{"..g:upper().."}")or"o"end else for b=1,5 do k[b+1]="o"end end t[#t+1]=table.concat(k)end t[#t+1]="..........."if s then local k={"..."}for b=1,5 do k[#k+1]=z(T+r:byte(b)-97)end k[#k+1]="..."t[#t+1]=table.concat(k)return table.concat(t,"/")end for p=1,3 do local k={}for d=1,11 do local g=N(d,p)local W=not s and d==v and p==D local u if g==" "then u="."elseif g==">"then u=z(W and ab+2 or ab)elseif g=="<"then u=z(W and aa+2 or aa)else local aw=g:lower()local G=g:byte()-65 local U=V[aw]or 0 if W then u=z(an+G)elseif U==3 then u=z(T+G)elseif U==2 then u=z(ac+G)elseif U==1 then u="."else u="{"..g.."}"end end k[d]=u end t[#t+1]=table.concat(k)end return table.concat(t,"/")end function draw()if o=="menu"then snail.title("Five Letters")local C=ae()if x>#C then x=#C end for b,av in ipairs(C)do snail.row(av[1],b==x)end snail.gap()snail.small("Streak "..al()..", best "..a.best..".")snail.hint("BACK leave OK choose UP/DN move")return end if o=="stats"then snail.title("Statistics")local az=a.played>0 and(a.won*100//a.played)or 0 snail.text("Daily words: played "..a.played..", won "..a.won.." ("..az.."%)")snail.text("Streak "..al()..", best "..a.best)snail.gap()local Q=1 for b=1,6 do if a.dist[b]>Q then Q=a.dist[b]end end for b=1,6 do local m=a.dist[b]snail.text(b.."  "..string.rep("#",(m*20+Q-1)//Q).." "..m)end snail.gap()snail.small("Practice words: played "..a.pp..", won "..a.pw..".")snail.hint("BACK back OK back")return end if o=="help"or o=="noclock"then snail.title(o=="help"and"How to play"or"Today's word")if o=="help"then snail.text("Find the hidden five-letter word in six tries.")snail.text("Pick letters with the arrows and OK, then the tick to check your word.")snail.text("Black square: the right letter in the right place.")snail.text("Grey ring: in the word, but somewhere else.")snail.text("Plain box: not in the word at all.")snail.text("Ruled-out letters leave the keyboard. BACK rubs out a letter.")else snail.text("The daily word needs the date. Connect to Wi-Fi once so the clock gets set, then come back.")snail.text("Practice words work any time.")end snail.hint("BACK back OK back")return end local s=B(f,r)local S=s and f[#f]==r if L=="daily"then snail.title("Five Letters #"..(l.day-_+1))else snail.title("Five Letters - practice")end local M if H then M=H elseif S then M=({"Genius!","Magnificent!","Impressive!","Splendid!","Great!","Phew!"})[#f].." Solved in "..#f..(#f==1 and" guess"or" guesses")elseif s then M="Out of guesses. The word was:"else M="Guess "..(#f+1).." of 6"end snail.status(M)snail.board(aq())if s then snail.hint(L=="practice"and"BACK options OK next word"or"BACK options OK statistics")elseif#j>0 then snail.hint("BACK rub out OK type L/R move UP/DN move")else snail.hint("BACK options OK type L/R move UP/DN move")end end function start()math.randomseed(os.time())ax()local c=P()if c and not(l.day==c and B(l.g,I(c*337%A+1)))then O("daily")end end
