-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbookworm_ai.cpp
115 lines (110 loc) · 41.5 KB
/
bookworm_ai.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include "bookworm_ai_methods.h"
#include <stdio.h>
#include <string.h>
#define NDEBUG
#include <assert.h>
#include <windows.h>
static const char SCRAMBLE[NUM_SCRAMBLE * WORD_LEN + 1] = "aahedaarghabacaabackabaftabaseabashabateabbasabbesabbeyabbotabeamabeleabetsabhorabideablerablesabodeaboilabomaaboonabortaboutaboveabuseabutsabyssacariacerbacetaachedachesachooacidsacidyacingaciniacmesacnesacoldacornacredacresacridactedactinactoracuteadageadaptaddedadderaddleadeemadeptadieuadiosaditsadmanadmenadmitadmixadobeadoboadoptadoreadornadownadozeadultaduncadzesaedesaegisaeonsaerieafarsaffixafireafootaforeafoulafritafteragainagapeagarsagateagaveagazeageneagentagersaggeraggieaggroaghasagileagingagismagistagleeagletagleyaglowagoneagonyagoraagreeaguesaheadaholdaidedaideraidesailedaimedaimeraioliairedairerairnsairtsaisleaitchaiveralackalamoalandalanealansalantalarmalaryalatealbasalbumalderalephalertalgaealgalalgasalginaliasalibialienalignalikealinealistalivealiyaallayalleyallodallotallowalloyallylalmasalmesaloesaloftalohaaloinalonealongaloofaloudalphaaltaralteraltosalumsalwayamassamazeamberambitambleambryamebaameeramendamensamentamiceamiciamideamidsamiesamigaamigoamineaminoaminsamirsamissamityammosamniaamoksamoleamongamortamourampleamplyampulamuckamuseanconanearanentangelangerangleangryangstanileanilsanimaanimeanimianionaniseankleannalannasannexannoyannulanodeanoleantasantedantesanticantisantreantsyanvilaortaapaceapartapeekapersaperyaphidapianapingapishapneaapodsaportappalappelappleapplyapresapronapsesapteraptlyaquaeaquasarborarcedardorarealareasarenaareteargalargilargleargonargotargueargusarhatariasarielarilsarisearlesarmedarmerarmetarmoraroidaromaarosearrasarrayarrisarrowarsesarsonartelartsyarumsarvalarylsascotasdicashedashenashesasideaskedaskeraskewaspenasperaspicassaiassayassetasterastiratlasatollatomsatomyatoneatonyatriaatripattaratticaudioauditaugeraughtaugurauntsauntyauraeauralauraraurasaureiauresauricaurisaurumautosauxinavailavantavastavensaversavertavianavionavisoavoidavowsawaitawakeawardawareawashawfulawingawnedawokeaxelsaxialaxileaxilsaxingaxiomaxionaxiteaxledaxlesaxmanaxoneaxonsazansazideazidoazoteazurebaaedbaalsbabasbabelbabesbaboobabulbaccabacksbaconbaddybadgebadlybaffsbaffybagelbaggybahtsbailsbairnbaithbaitsbaizebakedbakerbakesbalasbaldsbaldybaledbalerbalesbalksbalkyballybalmsbalmybalsabanalbancobandsbandybanedbanesbangsbanjobanksbannsbantybarbebarbsbardebardsbaredbarerbaresbarfsbargebaricbarksbarkybarmsbarmybarnsbarnybaronbarrebaryebasalbasedbaserbasesbasicbasilbasinbasisbasksbassibassobassybastebastsbatchbatedbatesbathebathsbatikbatonbattsbattubattybaudsbaulkbawdsbawdybawlsbayedbayoubazarbazoobeachbeadsbeadybeaksbeakybeamsbeamybeanobeansbeardbearsbeastbeatsbeausbeautbeauxbebopbecksbedelbedewbedimbeechbeefsbeefybeepsbeersbeerybeetsbefitbefogbeganbegatbegetbeginbegotbegumbegunbeigebeingbelaybelchbelgabeliebellebellsbellybelowbeltsbemasbenchbendsbendybenesbennebennibennybentsberetbergsbermebermsberryberthberylbesetbesombesotbestsbetasbetelbethsbetonbettabevelbevorbezelbezilbhootbialibialybibbsbiblebicesbiddybidedbiderbidesbidetbiersbiffsbiffybightbiglybigotbijoubikedbikerbikesbikiebilbobilesbilgebilgybilksbillsbillybimasbimbobinalbindibindsbinesbingebingobinitbintsbiomebiotabipedbipodbirchbirdsbirksbirlebirlsbirrsbirsebirthbisesbisksbisonbiterbitesbitsybittsbittybizesblabsblackbladeblahsblainblameblamsblandblankblareblaseblastblateblatsblawnblawsblazebleakblearbleatblebsbleedbleepblendblentblessblestbletsblimpblimyblindbliniblinkblipsblissbliteblitzbloatblobsblockblocsblokeblondbloodbloombloopblotsblownblowsblowyblubsbluedbluerbluesbluetblueybluffblumebluntblurbblursblurtblushboardboarsboartboastboatsbobbybocceboccibochebocksbodedbodesboffoboffsboganbogeyboggybogieboglebogusboilsboingboitebolarbolasboldsbolesbollsbolosboltsbolusbombebombsbondsbonedbonesboneybongobongsbonksbonnebonnybonusbonzeboobybooedboogybooksboomsboomyboonsboorsboostboothbootsbootyboozeboozyboralborasboraxboredborerboresboricborneboronbortsbosksboskybosombosonbossybosunbotasbotchbotelbothybottsboughbouleboundbourgbournbousebousyboutsbovidbowedbowelbowerbowlsbowseboxedboxerboxesboyarboylaboyosbozosbracebrachbractbradsbraesbragsbraidbrailbrainbrakebrakybrandbrankbransbrantbrashbrassbratsbravabravebravibravobrawlbrawnbrawsbraysbrazebreadbreakbreambredebreedbreesbrensbrentbrevebrewsbriarbribebrickbridebriefbrierbriesbrigsbrillbrimsbrinebringbrinkbrinsbrinybriosbriskbritsbrittbroadbrockbroilbrokebromebromobroncbroodbrookbroombroosbrosebrosybrothbrownbrowsbruinbruitbrumebruntbrushbruskbrutebubbybuckobucksbuddybudgebuffibuffobuffsbuffybuggybuglebuildbuiltbulbsbulgebulgybulksbulkybullabullsbullybumpsbumpybunchbuncobundsbundtbungsbunkobunksbunnsbunnybuntsbuoysburanburasburbsburdsburetburghburgsburinburkeburlsburlyburnsburntburpsburroburrsburrybursaburseburstbusbybusedbusesbushybusksbustsbustybutchbuteobutlebuttebuttsbuttybututbutylbuxombuyerbwanabylawbyresbytesbywaycabalcabbycabercabincablecabobcacaocachecacticaddycadescadetcadgecadgycadiscadrecafescaffscagedcagercagescageycaidscainscairdcairncajoncakedcakescakeycalfscalifcalixcalkscallacallscalmscalvecalyxcamascamelcameocamescampicampscampycanalcandycanedcanercanescanidcannacannycanoecanoncansocanstcantocantscantycapedcapercapescaponcaposcaputcaratcarbocarbscardscaredcarercarescaretcarexcargocarkscarlecarlscarnscarnycarobcarolcaromcarpicarpscarrscarrycarsecartecartscarvecasascasedcasescaskscastecastscasuscatchcatercatescattycauldcaulkcaulscausecavedcavercavescaviecavilcawedceasececumcedarcededcedercedesceilscelebcellacellicellocellscelomceltscensecentocentsceorlcerciceredceresceriacericcestaceteschadschafechaffchainchairchalkchampchamschangchantchaoschapechapschaptchardcharecharkcharmcharrcharschartcharychasechasmchatschawschayscheapcheatcheckcheekcheepcheerchefschelachemochertchesschestchethchevychewschewychiaochiaschickchicochicschidechiefchielchildchilechilichillchimbchimechimpchinachinechinochinschipschirkchirmchirochirpchirrchitschivechivychockchoirchokechokychompchookchopschordchorechosechottchowschubschuckchufachuffchugschumpchumschunkchurlchurnchurrchutechymecidercigarciliacinchcinescionscircacirescirriciscocissycistscitedcitercitescivetcivicciviecivilcivvyclachclackcladecladsclagsclaimclampclamsclangclankclansclapsclaptclaroclaryclashclaspclassclastclaveclaviclawsclayscleanclearcleatcleekclefscleftclepecleptclerkclewsclickcliffcliftclimbclimeclineclingclinkclipscliptcloakclockclodsclogsclompcloneclonkclonsclootclopscloseclothclotscloudclourcloutcloveclowncloysclozeclubscluckcluedcluesclumpclungclunkcoachcoactcoalacoalscoalycoaptcoastcoaticoatscobbscobbycobiacoblecobracocascoccicockycocoacocoscodascodeccodedcodencodercodescodexcodoncoedscoffscogoncoifscoigncoilscoinscoirscokedcokescolascoldscoledcolescoliccolincollycologcoloncolorcoltscolzacomaecomalcomascombecombocombscomercomescometcomfycomiccomixcommacommycompocompscomteconchcondoconedconesconeycongacongecongoconicconinconksconkyconnscontecontoconuscoochcooedcooeecooercooeycoofscookscookycoolscoolycoombcoopscooptcootscopalcopedcopencopercopescopracopsecoralcorbycordscoredcorercorescorgicoriacorkscorkycormscornscornucornycorpscorsecoseccosescosetcoseycosiecostacostscotancotedcotescottacouchcoudecoughcouldcountcoupecoupscourtcouthcovedcovencovercovescovetcoveycovincowedcowercowlscowrycoxaecoxalcoxedcoxescoyedcoyercoylycoypucozencozescozeycoziecraalcrabscrackcraftcragscrakecrampcramscranecrankcrapecrashcrasscratecravecrawlcrawscrazecrazycreakcreamcredocreedcreekcreelcreepcremecrepecreptcrepycresscrestcrewscribscrickcriedcriercriescrimecrimpcripecrispcroakcrocicrockcrocscroftcronecronycrookcrooncropscrorecrosscroupcrowdcrowncrowscrozecruckcrudecrudscruelcruetcrumbcrumpcruorcruracrusecrushcrustcryptcubbycubebcubedcubercubescubiccubitcuddycuffscuingcuishcukesculchculetcullscullyculmsculpaculticultscumincupelcupidcuppacuppycurbscurchcurdscurdycuredcurercurescuretcurfscuriacuriecuriocurlscurlycurnscurrscurrycursecurstcurvecurvycuseccushycuskscuspscutchcutercutescuteycutiecutincutiscuttycutupcyanscycadcyclecyclocydercyniccystsczarsdacesdachadadasdaddydadosdaffsdaffydaggadahlsdailydairydaisydalesdallydamandamardamesdamnsdampsdancedandydangsdaniodarbsdareddarerdaresdaricdarksdarnsdartsdashidashydateddaterdatesdatosdattodatumdaubedaubsdaubydauntdautsdavendavitdaweddawendawnsdazeddazesdeadsdeairdealsdealtdeansdearsdearydeashdeathdeavedebardebitdebtsdebugdebutdecafdecaldecaydecksdecordecosdecoydecrydedaldeedsdeedydeemsdeepsdeersdeetsdefatdeferdefisdefogdegasdegumdeicedeifydeigndeilsdeismdeistdeitydekesdelaydeleddelesdelftdelisdellsdellydeltadelvedemesdemitdemobdemondemosdemurdenesdenimdensedentsdeoxydepotdepthderatderayderbydermadermsderrydesksdeterdetoxdeucedevasdeveldevildevondewardeweddexiedholedhotidialsdiarydiazodiceddicerdicesdiceydickydicotdictadictydidiedidosdidstdienedietsdightdigitdikeddikerdikesdikeydillsdillydimerdimesdimlydinardineddinerdinesdingedingodingsdingydinkydintsdiodediolsdippydipsodirerdirgedirksdirlsdirtsdirtydiscidiscodiscsdishydisksdismeditasditchditesditsydittodittyditzydivandivasdiveddiverdivesdivotdivvydixitdizendizzydjinndoatsdobbydobiedobradocksdodgedodgydodosdoersdoestdoethdoffsdogesdogeydoggodoggydogiedogmadoilydoingdoitsdojosdolcedolcidoleddolesdollsdollydolmadolordoltsdomaldomeddomesdomicdonasdoneedongadonnadonnedonordonsydonutdoolydoomsdoomydoorsdoozydopeddoperdopesdopeydorksdorkydormsdormydorpsdorrsdorsadortydoseddoserdosesdotaldoteddoterdotesdottydoubtdoucedoughdoumsdouradousedovendovesdowdydoweddoweldowerdowiedownsdownydowrydowsedoxiedoyendoylydozeddozendozerdozesdrabsdraffdraftdragsdraildraindrakedramadramsdrankdrapedratsdravedrawldrawndrawsdraysdreaddreamdreardreckdreeddreesdregsdressdrestdribsdrieddrierdriesdriftdrilldrilydrinkdripsdriptdrivedroitdrolldronedrooldroopdropsdroptdrossdroukdrovedrowndrubsdrugsdruiddrumsdrunkdrupedrusedryaddryerdrylyduadsdualsducalducatducesduchyducksduckyductsduddydudeddudesduelsduetsduffsduitsdukeddukesduliadullsdullydulsedumasdumbsdummydumpsdumpyduncedunchdunesdungsdungydunksduntsdupedduperdupesdupleduraldurasduredduresdurnsdurocdurosdurradurrsdurstdurumdusksduskydustsdustydutchduvetdwarfdweebdwelldweltdwinedyadsdyersdyingdykeddyneseagereagleeagreearedearlsearlyearnseartheasedeaseleaseseastseateneatereavedeavesebbedebonyechedechesechoseclatecrusedemaedgededgeredgesedictedifyedileeditseduceeducteerieegadsegesteggareggedeggeregreteidereidoseightejectekingelainelandelanselateelbowelderelectelegyelfinelideelinteliteelopeeludeeluteelverelvesembedemberemceeemeeremendemeryemirsemitsemmeremmetemoteemptyenactenateendedenderendowendueenemaenemyenjoyennuienolsenormenrolensueenterentryenureenvoienvoyenzymepactepeesepicsepochepodeepoxyequalequidequiperaseerectergotericaerneserodeeroseerrederroreructeruptervilescarescotessayessesesterestopetapeetherethicethosethyletudeetuisetweeeurosevadeevenseventeverteveryevictevilseviteevokeewersexactexaltexamsexcelexertexileexineexistexitsexonsexpatexpelexposextolextraexudeexultexurbeyerseyingeyreseyriefablefacedfacerfacesfacetfaciafactsfaddyfadedfaderfadesfadgefadosfaenafaeryfaggyfaginfailsfaintfairsfairyfaithfakedfakerfakesfakeyfakirfallsfalsefamedfamesfancyfanesfangafangsfanonfanosfaradfarcefarcifarcyfardsfaredfarerfaresfarlefarlsfarmsfarosfartsfastsfatalfatedfatesfatlyfatsofattyfatwafaughfauldfaultfaunafaunsfauvefavasfavesfavorfavusfawnsfawnyfaxedfaxesfayedfazedfazesfearsfeasefeastfeatsfeazefecalfecesfecksfeedsfeelsfeezefeignfeintfeistfelidfellafellsfellyfelonfeltsfemesfemmefemurfencefendsfennyfeodsfeoffferalferesferiafermifernsfernyferryfessefetalfetasfetchfetedfetesfetidfetorfetusfeuarfeudsfeuedfeverfewerfezesfiarsfiatsfiberfibreficesfichefichuficinficusfidgefidosfiefsfieldfiendfieryfifedfiferfifesfifthfiftyfightfilarfilchfiledfilerfilesfiletfillefillofillsfillyfilmsfilmyfilosfilthfilumfinalfinchfindsfinedfinerfinesfinisfinksfinnyfinosfiordfiquefiredfirerfiresfirmsfirnsfirryfirstfirthfishyfistsfitchfitlyfiverfivesfixedfixerfixesfixitfizzyfjordflabsflackflagsflailflairflakeflakyflameflamsflamyflankflansflapsflareflashflaskflatsflawsflawyflaysfleamfleasfleckfleerfleesfleetfleshflewsfleysflickflicsfliedflierfliesflingflintflipsflirtfliteflitsfloatflockflocsfloesflogsflongfloodfloorflopsfloraflossflotaflourfloutflownflowsflubsfluedfluesflufffluidflukeflukyflumeflumpflungflunkfluorflushfluteflutyfluytflybyflyerflytefoalsfoamsfoamyfocalfocusfogeyfoggyfogiefoilsfoinsfoistfoldsfoliafoliofolksfolkyfollyfondsfondufontsfoodsfoolsfootsfootyforamforayforbsforcefordofordsforesforgeforgoforksforkyformeformsforteforthfortsfortyforumfossafossefoulsfoundfountfoursfoveafowlsfoxedfoxesfoyerfragsfrailframefrancfrankfrapsfrassfratsfraudfraysfreakfreedfreerfreesfrenafrerefreshfretsfriarfriedfrierfriesfrigsfrillfrisefriskfrithfritsfrittfritzfrizzfrockfroesfrogsfrondfronsfrontfrorefroshfrostfrothfrownfrowsfrozefrugsfruitfrumpfryerfubsyfucusfudgefuelsfugalfuggyfugiofuglefuguefujisfullsfullyfumedfumerfumesfumetfundifundsfungifungofunksfunkyfunnyfuranfurlsfurorfurryfurzefusedfuseefuselfusesfusilfussyfustyfutonfuzedfuzesfuzzygabbygablegaddigadidgadisgaffegaffsgagedgagergagesgailygainsgaitsgalahgalasgalaxgaleagalesgallsgallygalopgamasgambagambegambsgamedgamergamesgameygamicgamingammagammygampsgamutganefgangsganjaganofgaolsgapedgapergapesgappygarbsgarnigarthgasesgaspsgassygastsgatedgatesgatorgaudsgaudygaugegaultgauntgaursgaussgauzegauzygavelgavotgawksgawkygawpsgayergaylygazargazedgazergazesgearsgeckogeeksgeekygeesegeestgeldsgeleegelidgeltsgemmagemmygenesgenetgenicgeniegeniigenipgenoagenomgenregentsgenuagenusgeodegeoidgerahgermsgermygessogestegestsgetasgetupghastghatsghautgheesghostghoulgiantgibedgibergibesgiddygiftsgigasgigotgiguegildsgillsgillygiltsgimelgimmeginksginnygipsygirdsgirlsgirlygirnsgirongirosgirshgirthgirtsgismogistsgivengivergivesgizmoglacegladegladsgladyglairglandglansglareglaryglassglazeglazygleamgleanglebegledegledsgleedgleekgleesgleetglensgleysglialglidegliffglimeglimsglintglitzgloamgloatglobeglobsgloggglomsgloomglopsgloryglossglostgloutgloveglowsglozegluedgluergluesglueyglugsglumegluonglutsglyphgnarlgnarsgnashgnatsgnawngnawsgnomegoadsgoalsgoatsgobangobosgodetgodlygoersgofergogosgoinggoldsgolemgolfsgollygonefgonergongsgoniagonifgonofgonzogoodsgoodygooeygoofsgoofygookygoonsgoonygoopsgoopygoosegoosygoralgoredgoresgorgegorpsgorsegorsygougegourdgoutsgoutygowangowdsgowksgownsgoxesgoyimgraalgrabsgracegradegradsgraftgrailgraingramagrampgramsgranagrandgransgrantgrapegraphgrapygraspgrassgrategravegravygraysgrazegreatgrebegreedgreekgreengreesgreetgregogreysgridegridsgriefgriffgriftgrigsgrillgrimegrimygrindgrinsgriotgripegripsgriptgripygristgrithgritsgroangroatgrogsgroingroomgropegrossgrotsgroupgroutgrovegrowlgrowngrowsgrubsgruelgruesgruffgrumegrumpgruntguacoguanoguansguardguarsguavagucksgudesguessguestguffsguideguidsguildguileguiltguiroguisegulaggulargulchgulesgulfsgullsgullygulpsgulpygumbogummagummygunksgunkygunnyguppygurgegurrygurshgurusgushygussygustogustsgustygutsyguttaguttyguyedgypsygyresgyrongyroshabithackshadedhadeshadsthaemshaetshaftshahashaikahaikshaikuhailshairshairyhajishajjihakeshakimhaledhalerhaleshalidhallohallshalmahalmshaloshaltshalvahalvehamalhameshammyhancehandshandyhangshankshankyhansahansehantshaolehaplyhappyhardshardyharedharemharesharksharlsharmsharpsharpyharryharshhartshaspshastehastyhatchhatedhaterhateshaughhaulshaunthautehavenhaverhaveshavochawedhawkshawsehayedhayerhazanhazedhazelhazerhazesheadsheadyhealsheapsheardhearsheartheathheatsheaveheavyheckshederhedgehedgyheedsheelsheezeheftsheftyheighheilsheirsheistheliohelixhellohellshelmsheloshelothelpshelvehemeshemicheminhempshempyhencehennahenryhentsherbsherbyherdsheresherlshermahermshernsheronherosherryhertzhestshethsheughhewedhewerhexedhexerhexeshickshidedhiderhideshighshighthikedhikerhikeshilarhillohillshillyhiltshilumhilushindshingehinnyhintshippohippyhiredhirerhireshissyhistshitchhivedhiveshoagyhoardhoarshoaryhobbyhoboshockshocushodadhoershoganhoggshoickhoisehoisthokedhokeshokeyhokumholdsholedholesholeyholkshollahollohollyholmsholtshomedhomerhomeshomeyhonanhondahonedhonerhoneshoneyhongshonkshonorhoochhoodshoodyhooeyhoofshookahookshookyhoolyhoopshootshootyhopedhoperhopeshoppyhorahhoralhorashordehornshorsehorsthorsyhosedhoselhosenhoseshostahostshotchhotelhotlyhoundhourihourshousehovelhoverhowdyhoweshowlshoyashoylehubbyhuckshuffshuffyhugerhulashulkshulkyhullohullshumanhumichumidhumorhumphhumpshumpyhumushunchhunkshunkyhuntshurdshurlshurlyhurryhursthurtshuskshuskyhussyhutchhuzzahydrahydrohyenahyinghymenhymnshypedhyperhypesiambsichoriciericilyicingickericonsidealideasidiomidiotidledidleridlesidolsidylliglooikatsikonsileumiliaciliadiliumillerimageimagoimamsimbedimbueimideimineimpedimpelimplyinaneinaptincogincurincusindexindieindolindowindriindueineptinertinferinfixinfosinfraingleingotinioninkedinkerinkleinlayinletinnedinnerinputinsetinterintisintroinureinurninvariodiciodinioniciotasiradeirateiringirkedironeironsironyisledislesisletissueitchyitemsitheriviediviesivoryixorajabotjacaljacksjackyjadedjadesjagerjaggsjaggyjailsjakesjalopjambejambsjammyjanesjantyjapanjapedjaperjapesjarlsjauntjavasjawanjawedjazzyjeansjebeljeepsjeersjefesjehadjellsjellyjemmyjennyjeridjerksjerkyjerryjessejestsjetesjetonjettyjeweljibedjiberjibesjiffsjiffyjihadjillsjiltsjimmyjingojinksjinnijinnsjismsjivedjiverjivesjiveyjnanajockojocksjoeysjohnsjoinsjointjoistjokedjokerjokesjokeyjolesjollyjoltsjoltyjonesjoramjorumjotasjottyjoualjoulejoustjowedjowlsjowlyjoyedjubesjudasjudgejudosjugaljuicejuicyjujusjukedjukesjulepjumbojumpsjumpyjuncojunksjunkyjuntajuntojupesjuponjuraljuratjureljurorjustsjutesjuttykabobkadiskafirkailskainskakiskaleskameskanaskaneskapokkappakaputkaratkarmakarnskarookarstkartskaurikaurykavaskayakkayoskazookebabkebarkeckskedgekeefskeekskeelskeenskeepskeetskeevekefirkelepkellykelpskempskemptkenchkendokenoskerbskerfskernekernskerryketchkevelkeyedkhakikhanskhatskhetskiangkibeskickskickykiddokiddykierskilimkillskilnskiloskiltskiltykindskineskingskinkskinkykinoskioskkirkskirnskissykistskitedkiterkiteskithekittykivaskiwisklongkloofklugeklutzknackknapsknarsknaurknavekneadkneedkneelkneesknellkneltknifeknishknitsknobsknockknollknotsknoutknownknowsknurlknurskoalakoelskoinekolaskonkskookskookykopekkoratkorunkraalkraftkraitkreepkrillkronakronekroonkudoskudzukugelkukrikulakkurtakyriekyteslabellaborlabralacedlacerlaceslaceylacksladedladenladerladesladlelaevolagerlaharlaichlaicslaighlairdlairslaithlaitylakedlakerlakeslallslamaslambslambylamedlamerlameslamialampslanailancelandslaneslankylapellapinlapislapselarchlardslardylareelareslargelargolarislarkslarkylarvalasedlaserlaseslassolastslatchlatedlatenlaterlatexlathelathilathslathylatkelattelauanlaudslaughlauralavaslavedlaverlaveslawedlawnslawnylaxerlayedlayerlayuplazarlazedlazesleachleadsleadyleafsleafyleaksleakyleansleantleapsleaptlearnlearslearyleaseleashleastleaveleavylebenledgeledgyleechleeksleersleeryleetsleftsleftylegallegerlegesleggylegitlemanlemmalemonlemurlendsleneslenislenoslenselentoleoneleperletchletheletupleudsleveelevelleverlevinlewislexeslexislezzylianalianeliangliardliarslibelliberlibralibrilichilichtlicitlickslidarlidosliegelienslierslieuslieveliferliftsliganligerlightlikedlikenlikerlikeslilacliltslimanlimaslimbalimbilimbolimbslimedlimenlimeslimeylimitlimnslimoslimpslinaclindylinedlinenlinerlineslineylingalingolingslingylininlinkslinkylinnslinoslintslintylinumlionslipidlipinlippyliraslirotlislelispslistsliterlithelitholitrelivedlivenliverliveslividlivrellamaloachloadsloafsloamsloamyloansloathlobarlobbylobedlobesloboslocallochslockslocoslocumlocuslodenlodeslodgeloessloftsloftyloganlogesloggylogialogiclogoilogosloinslollslollylonerlongelongsloobylooedlooeyloofaloofslooielooksloomsloonsloonyloopsloopylooselootslopedloperlopesloppyloralloranlordsloreslorislorryloselloserloseslossylotasloticlotoslottelottolotusloughlouielouisloupeloupslourslourylouselousyloutslovatlovedloverloveslowedlowerloweslowlylowseloxedloxesloyalluauslubesluceslucidlucksluckylucreludesludicluffaluffslugedlugerlugeslullsluluslumenlumpslumpylunarlunaslunchluneslunetlungelungilungslunksluntslupinlupuslurchluredlurerluresluridlurkslustslustylutealutedlutesluxeslyartlyaselycealyceelyinglymphlynchlyreslyriclyseslysislyttamaarsmabesmacawmacedmacermacesmachemachomachsmacksmaclemaconmacromadammadlymadremafiamaficmagesmagicmagmamagotmagusmaidsmailemaillmailsmaimsmainsmairsmaistmaizemajormakarmakermakesmalarmalesmalicmallsmalmsmaltsmaltymamasmambamambomameymamiemammamammymanasmanedmanesmangemangomangymaniamanicmanlymannamanormanosmansemantamanusmaplemaquimarchmarcsmaresmargemariamarksmarlsmarlymarrymarsemarshmartsmarvymasermashymasksmasonmassamassemassymastsmatchmatedmatermatesmateymathsmatinmattemattsmatzamatzomaudsmaulsmaundmautsmauvemavenmaviemavinmavismawedmaxesmaximmaxismayanmayasmaybemayedmayormayosmaystmazedmazermazesmeadsmealsmealymeansmeantmeanymeatsmeatymeccamedalmediamedicmeedsmeetsmeinymeldsmeleemelicmellsmelonmeltsmemosmenadmendsmensamensementamenusmeousmeowsmercymerdemerermeresmergemeritmerksmerlemerlsmerrymesasmeshymesicmesnemesonmessymetalmetedmetermetesmethsmetismetremetromewedmewlsmezzomiaoumiaowmiasmmicasmichemicksmicramicromiddymidgemidismidstmiensmiffsmiffymiggsmightmikedmikesmilchmilermilesmiliamilksmilkymillemillsmilosmiltsmiltymimedmimeomimermimesmimicminaeminasmincemincymindsminedminerminesmingyminimminisminkeminksminnyminormintsmintyminusmiredmiresmirexmirksmirkymirthmisdomisermisesmissymistsmistymitermitesmitismitremittsmixedmixermixesmixupmizenmoatsmochamocksmodalmodelmodemmodesmodusmoggymogulmoilsmoiramoiremoistmojosmokesmolalmolarmolasmoldsmoldymolesmollsmollymoltomoltsmomesmommamommymomusmonadmonasmondemondomoneymongomoniemonksmonosmontemonthmoochmoodsmoodymooedmoolamoolsmoonsmoonymoorsmoorymoosemootsmopedmopermopesmopeymoraemoralmorasmoraymorelmoresmornsmoronmorphmorromorsemortsmoseymossomossymostemostsmotelmotesmotetmoteymothsmothymotifmotormottemottomottsmouchmouesmouldmoultmoundmountmournmousemousymouthmovedmovermovesmoviemowedmowermoxiemucinmucksmuckymucormucromucusmuddymudramuffsmuftimuggsmuggymulchmulctmuledmulesmuleymullamullsmummsmummymumpsmunchmungomunismuonsmuralmurasmuredmuresmuridmurksmurkymurramurremurrsmurrymusedmusermusesmushymusicmusksmuskymussymusthmustsmustymutchmutedmutermutesmutonmuttsmuzzymynahmynasmyopymyrrhmythsmythynaansnabesnabobnachonacrenadirnaggynaiadnaifsnailsnairanaivenalednamednamernamesnanasnancenancynannynapesnappenappynarconarcsnardsnaresnaricnarisnarksnarkynasalnastynatalnatchnatesnattynavalnavarnavelnavesnavvyneapsnearsneathneatsnecksneedsneedyneemsneepsnegusneighneistnellynemasneonsnerdsnerdynerolnertsnervenervynestsnettsnettyneumenevernevesnevusnewelnewernewienewlynewsynewtsnexusnicadnicernichenicksnicolnidalnidesniecenieveniftynighsnightnihilnillsninesninjaninnyninonninthnippyniseiniternitesnitidnitonnitrenitronittynivalnixednixesnixienobbynoblenoblynocksnodalnoddynodesnodusnoelsnoggsnohownoilsnoilynoirsnoisenoisynolosnomadnomasnomennomesnoncenonesnonetnooksnookynoonsnoosenopalnorianorisnormsnorthnosednosesnoseynotalnotchnotednoternotesnounsnovaenovasnovelnowaynowtsnubbynubianudernudesnudgenudienukednukesnullsnumbsnumennurdsnursenutsynuttynylonnymphoakenoaredoasesoasisoastsoatenoateroathsobeliobeseobeysobitsobjetoboesoccuroceanocherochreoctadoctaloctanoctetoctylodderoddlyodeonodistodiumodorsodouroffaloffedofferoftenofterogeesogiveogledogleroglesogresohingohmicoidiaoiledoileroinksokapiokaysokrasoldenolderoldieoleicoleosoliveologyomberombreomegaomensomitsoneryoniononsetonticoohedoomphoozedoozesopalsopensoperaopineopingopiumoptedopticoralsorangorateorbedorbitorcasorcinorderoreadorganorielorlesornisorrisorthoosierosmicosmolossiaotherottarotterottosoughtounceourieouseloustsoutdooutedouteroutgooutreouzelouzosovalsovaryovateovensoversovertovineovoidovoloovuleowingowletownedowneroxbowoxeyeoxideoxterozonepacedpacerpacespachapackspactspaddypadispadlepadrepaeanpaeonpaganpagedpagerpagespagodpaikspailspainspaintpairspaisapaisepaleapaledpalerpalespaletpallspallypalmspalmypalpspalsypampapandapandypanedpanelpanespangapangspanicpannepansypantopantspantypapalpapaspapawpaperpappyparasparchpardipardspardyparedpareoparerparespareupargeparisparkaparksparleparolparrsparryparsepartspartyparveparvopaseopasespashapassepastapastepastspastypatchpatedpatenpaterpatespathspatinpatiopatlypatsypattypausepavanpavedpaverpavespavidpavinpavispawedpawerpawlspawnspaxespayedpayeepayerpayorpeacepeachpeagepeagspeakspeakypealspeanspearlpearspeartpeasepeatspeatypeavypecanpechspeckspeckypedalpedespedropeekspeelspeenspeepspeerspeerypeevepeinspeisepekanpekespekinpekoepelespelfspelonpeltspenalpencependspenespengopennapennepennipennypeonspeonypeppyperchperduperdypereaperilperisperksperkypermsperrypersepeskypesospestopestspestypetalpeterpetitpettipettopettypeweephagephasephialphloxphonephonophonsphonyphotophotsphutsphylaphylepianopianspicalpicaspickspickypicotpiculpiecepierspietapietypiggypigmypiingpikaspikedpikerpikespikispilafpilarpilaupilawpileapiledpileipilespilispillspilotpiluspimaspimpspinaspinchpinedpinespineypingopingspinkopinkspinkypinnapinnypinonpinotpintapintopintspinuppionspiouspipalpipedpiperpipespipetpipitpiquepirnspirogpisospistepitaspitchpithspithypitonpivotpixelpixespixiepizzaplaceplackplageplaidplainplaitplaneplankplansplantplashplasmplateplatsplatyplayaplaysplazapleadpleaspleatplebeplebsplenaplewsplicapliedplierpliesplinkplodsplonkplopsplotsplotzplowsployspluckplugsplumbplumeplumpplumsplumyplunkplushplyerpoachpockspodgypodiapoemspoesypoetspogeypoilupoindpointpoisepokedpokerpokespokeypolarpoledpolerpolespoliopolispolkapollspolospolyppolyspomespommypompsponcepondsponespongspoochpoodspoofspoofypoohspoolspoonspooripoovepopespoppapoppypopsyporchporedporesporgyporksporkypornspornyportsposedposerposespositpossepostspotsypottopottypouchpoufspoultpoundpourspoutspoutypowerpoxedpoxesprahupramsprangprankprasepratepratsprausprawnprayspreedpreenpreesprepspresapresepressprestprexypreyspricepricypridepriedprierpriesprigsprillprimaprimeprimiprimoprimpprimsprinkprintprionpriorpriseprismprissprivyprizeproasprobeprodsproemprofsprogsprolepromopromsproneprongproofpropsproseprossprostprosyproudproveprowlprowsproxyprudepruneprutapryerpsalmpseudpshawpsoaspsychpubespubicpubispucespuckapuckspudgypudicpuffspuffypuggypukedpukespukkapuledpulerpulespulikpulispullspulpspulpypulsepumaspumpspunaspunchpungspunkspunkypunnypuntopuntspuntypupaepupalpupaspupilpuppypureepurerpurgepurinpurispurlspurrspursepursypusespushyputonputtiputtoputtsputtypygmypyinspylonpyresquackquadsquaffquagsquailquaisquakequakyqualequalmquantquarequarkquartquashquasiquassquatequaysqueanqueenqueerquellquernqueryquestqueuequeysquickquidsquietquiffquillquiltquinsquintquipsquipuquirequirkquirtquitequitsquodsquoinquoitquotaquotequothqurshrabatrabbirabicrabidracedracerracesracksraconradarradiiradioradixradonraffsraftsragasragedrageeragesraggyragisraiasraidsrailsrainsrainyraiserajahrajasrakedrakeerakerrakesralesrallyralphrameerametramierammyrampsramusranceranchrandsrandyraneerangerangyranidranisranksrantsrapedraperrapesrapherapidraredrarerraresrasedraserrasesraspsraspyratalratanratchratedratelraterratesratheratioratosrattyravedravelravenraverravesravinrawerrawinrawlyraxedraxesrayasrayedrayonrazedrazeerazerrazesrazorreachreactreaddreadsreadyrealmrealsreamsreapsrearmrearsreatareaverebarrebberebecrebelrebidreboprebusrebutrebuyrecapreccerecksreconrectarectirectorecurrecutredanreddsrededredesrediaredidredipredlyredonredosredoxredryredubreduxredyereedsreedyreefsreefyreeksreekyreelsreestreeverefedrefelreferrefitrefixrefryregalregesrehabrehemreifsreifyreignreinkreinsreiverekeyrelaxrelayreletrelicrelitremanremapremetremexremitremixrenalrendsrenewrenigreninrenterentsreoilrepayrepegrepelrepinreplyreposrepotreproreranrerigrerunresawresayreseeresetresewresidresinresodresowrestsretagretaxretchretemretiaretieretroretryreuserevelrevetrevuerewanrewaxrewedrewetrewinrewonrexesrheasrheumrhinorhymerhytarialsriantriataribbyribesricedricerricesricinricksriderridesridgeridgyrielsriferriffsrifleriftsrightrigidrigorriledrilesrileyrillerillsrimedrimerrimesrindsringsrinksrinseriojariotsripedripenriperripesrisenriserrisesrishirisksriskyritesritzyrivalrivedrivenriverrivesrivetroachroadsroamsroansroarsroastrobedrobesrobinroblerobotrocksrockyrodeorogerrogueroilsroilyrolesrolfsrollsromanromeorompsrondoroodsroofsrooksrookyroomsroomyrooseroostrootsrootyropedroperropesropeyroquerosedrosesrosetrosinrotasrotchrotesrotisrotorrotosrotterouenrouesrougeroughroundroupsroupyrouseroustrouterouthroutsrovedrovenroverrovesrowanrowdyrowedrowelrowenrowerrowthroyalruanarubesrublerubusrucherucksruddsruddyruderruersrufferuffsrugaerugalrugbyruingruinsruledrulerrulesrumbarumenrummyrumorrumpsrunesrungsrunicrunnyruntsruntyrupeeruralrusesrushyrusksrustsrustyruthsrutinruttyryndssabersabessabinsabirsablesabotsabrasabresackssacrasadessadissadlysafersafessagassagersagessaggysagossagumsahibsaicesaidssaigasailssainssaintsaithsakersakessakissaladsalalsalessalicsallysalmisalolsalonsalpssalsasaltssaltysalvesalvosambasambosampssandssandysanedsanersanessangasanghsantosapidsaporsappysaransardssareesargesarinsarissarkysarodsarossasinsassysataysatedsatemsatessatinsatissatyrsaucesauchsaucysaughsaulssaultsaunasaurysautesavedsaversavessavinsavorsavoysavvysawedsawersaxessayersayidsaystscabsscadsscagsscaldscalescallscalpscalyscampscamsscansscantscapescarescarfscarpscarsscartscaryscatsscattscaupscenascendscenescentschavschulschwascionscoffscoldsconescoopscootscopescopsscorescornscotsscourscoutscowlscowsscragscramscrapscreescrewscrimscripscrodscrubscrumscubascudoscudsscuffsculkscullsculpscumsscurfscutescutssealsseamsseamysearsseatssebumsectssedansedersedgesedgysedumseedsseedyseeksseelsseelyseemsseepsseepyseerssegossegueseifsseineseiseseismseizeselahselfssellesellsselvasemessemissendssennasenorsensasensesentesentisepalsepiasepicsepoyseptaseptsseracseraiseralseredsererseresserfssergeserifserinserryserumserveservosetaesetalsetonsettssetupsevenseversewansewarsewedsewersexedsexessextsshackshadeshadsshadyshaftshagsshahsshakeshakoshakyshaleshallshaltshalyshameshamsshankshapeshardsharesharksharnsharpshaulshaveshawlshawnshawsshayssheafshealshearsheasshedssheensheepsheersheetsheikshelfshellshendshentsheolsherdshewnshewsshiedshielshiershiesshiftshillshilyshimsshineshinsshinyshipsshireshirkshirrshirtshistshivashiveshivsshlepshoalshoatshockshoedshoershoesshogsshojishoneshookshoolshoonshoosshootshopsshoreshorlshornshortshoteshotsshottshoutshoveshownshowsshowyshredshrewshrisshrubshrugshuckshulnshulsshunsshuntshushshuteshutsshyershylysialssibylsicessickosickssidedsidessiegesieursievesiftssighssightsigilsigmasignssikersikessilexsilkssilkysillssillysilossiltssiltysilvasimarsimassimpssincesinessinewsingesingssinhssinkssinussipedsipessiredsireesirensiressirrasirupsisalsisessissysitarsitedsitessitupsitussiversixessixtesixthsixtysizarsizedsizersizesskagsskaldskateskatsskeanskeedskeenskeesskeetskegsskeinskelpskeneskewsskidsskiedskierskiesskiffskillskimpskimsskinkskinsskintskipsskirlskirrskirtskiteskitsskiveskoalskoshskuasskulkskullskunkskyedslabsslackslagsslainslakeslamsslangslankslantslapsslashslateslatsslatyslaveslawsslayssledssleeksleepsleetsleptslewssliceslickslideslierslilyslimeslimsslimyslingslinkslipeslipssliptslitsslobssloesslogssloidsloopslopeslopssloshslothslotsslowsslubssluedsluessluffslugsslumpslumsslungslunkslurbslurpslursslushslyerslylysmacksmallsmaltsmarmsmartsmashsmearsmeeksmellsmeltsmerksmilesmirksmitesmithsmocksmogssmokesmokysmoltsmotesmutssnacksnafusnagssnailsnakesnakysnapssnaresnarksnarlsnashsnathsnawssneaksneapsnecksnedssneersnellsnibssnicksnidesniffsnipesnipssnitssnobssnoodsnooksnoopsnootsnoresnortsnotssnoutsnowssnowysnubssnucksnuffsnugssoakssoapssoapysoarssoavesobersockosockssodassoddysodicsodomsofarsofassoftasoftssoftysoggysoilssokessolansolarsoldisoldosoledsoleisolessolidsolonsolossolumsolussolvesomassonarsondesonessongssonicsonlysonnysooeysookssoothsootssootysophysoporsoppysorassorbssordssorelsorersoressorgosornssorrysortssorussothssotolsoughsoukssoulssoundsoupssoupysourssousesouthsowedsowersoyassoyuzspacespacyspadespaedspaesspailspaitspakespalespallspangspankspanssparesparksparsspasmspatespatsspawnspaysspeakspeanspearspeckspecsspeedspeelspeerspeilspeirspellspeltspendspentspewsspicaspicespicyspiedspielspierspiesspiffspikespikyspilespillspiltspinespinsspinyspirespirtspiryspitespitsspitzspivssplatsplaysplitspodespoilspokespoofspookspoolspoonspoorsporesportspoutspragspratsprayspreesprigspritspruesprugspudsspuedspuesspumespumyspurnspursspurtsputasquabsquadsquatsquawsquegsquibsquidstabsstackstadestaffstagestagsstagystaidstaigstainstairstakestalestalkstallstampstandstanestangstankstaphstarestarkstarsstartstashstatestatsstavestayssteadsteakstealsteamsteedsteeksteelsteepsteersteinstelastelestemsstenostepssteresternstetsstewsstichstickstiedstiesstiffstilestillstiltstimestimystingstinkstintstipestirkstirpstirsstoaestoaistoasstoatstobsstockstogystoicstokestolestomastompstonestonystoodstookstoolstoopstopestopsstoptstorestorkstormstorystossstoupstourstoutstovestowpstowsstrapstrawstraystrepstrewstriastripstropstrowstroystrumstrutstubsstuckstudsstudystuffstullstumpstumsstungstunkstunsstuntstupastupesturtstyedstyesstylestylisuavesubahsubersuckssucresuddssudorsudsysuedesuerssuetssuetysugarsughssuingsuintsuitesuitssulfasulkssulkysullysumacsummasumossumpssunnasunnssunnysunupsupersupessuprasurahsuralsurassurdssurersurfssurfysurgesurgysurlysurrasushisutrasuttaswabsswageswagsswailswainswaleswamiswampswangswankswansswapsswardswareswarfswarmswartswashswathswatsswaysswearsweatswedesweepsweersweetswellsweptswiftswigsswillswimsswineswingswinkswipeswirlswishswissswithswiveswobsswoonswoopswopsswordsworeswornswotsswungsyceesykessylissylphsylvasynchsyncssynodsynthsyrensyruptabbytabertabestabidtablatabletabootabortabustacestacettachetachstacittackstackytacostactstaelstaffytafiataigatailstainstainttakentakertakestakintalartalastalcstalertalestalkstalkytallytalontaluktalustamaltamedtamertamestamistammytampstangotangstangytankatankstansytantotapastapedtapertapestapirtapistardotardytaredtarestargetarnstaroctaroktarostarottarpstarretarrytarsitartstartytaskstassetastetastytatartatertattytaunttaupetautstawedtawertawnytawsetaxedtaxertaxestaxistaxontaxusteachteakstealsteamstearstearyteaseteatstechytectateddyteelsteemsteensteenyteethteffsteiidteindtelaetelestelexteliatelictellstellytelostempitempotempstempttenchtendstenetteniatenontenortensetenthtentstentytepaltepastepeetepidtepoyteraitercetergatermsterneternsterraterryterseteslatestateststestytethstetratewedtexastextsthackthanethanktharmthawsthebethecatheftthegntheintheirthemethenstherethermthesethetathewsthewythickthiefthighthillthinethingthinkthinsthiolthirdthirltholethongthornthorothorpthosethousthrawthreethrewthripthrobthroethrowthrumthudsthugsthujathumbthumpthunkthurlthymethymithymytiaratibiatickstidaltidedtidestierstiffstigertighttigontikestildetiledtilertilestillstilthtiltstimedtimertimestimidtincttineatinedtinestingetingstinnytintstipistippytipsytiredtirestirostitantitertithetitistitletitretizzytoadstoadytoasttodaytoddytoffstoffytoftstofustogaetogastoguetoiletoilstoitstokaytokedtokentokertokestolantolastoledtolestollstolustolyltomantombstomestommytonaltondotonedtonertonestoneytongatongstonictonnetonustoolstoonstoothtootstopaztopedtopeetopertopestopictopostoquetorahtorastorchtorcstorestorictorostorottorsetorsitorsktorsotortetortstorustotaltotedtotemtotertotestouchtoughtourstousetoutstowedtoweltowertowietownstownytoxictoxintoyedtoyertoyontoyostracetracktracttradetragitraiktrailtraintraittramptramstranktranstrapstrapttrashtrasstravetrawltraystreadtreattreedtreentreestrekstrendtresstretstrewstreystriactriadtrialtribetricetricktriedtriertriestrigotrigstriketrilltrimstrinetrioltriostripetripstritetroaktrocktrodetroistroketrolltromptronatronetrooptrooztropetrothtrotstrouttrovetrowstroystrucetrucktruedtruertruestrugstrulltrulytrumptrunktrusstrusttruthtrysttsadetsarstubaetubaltubastubbytubedtubertubestuckstuffstuftstuftytulestuliptulletumidtummytumortumpstunastunedtunertunestungstunictunnytuqueturboturfsturfyturksturnsturpstushytuskstuteetutortuttituttytutustuxestwaestwaintwangtweaktweedtweentweettwerptwicetwiertwigstwilltwinetwinstwinytwirltwirptwisttwitstwixttyeestyerstyingtykestynedtynestypaltypedtypestypictypostyredtyrestyrostythetzarsudderulansulcerulnaeulnarulnasultraumbelumberumbraumpedunaptunarmunaryunbanunbarunbidunboxuncapunciauncleuncoyuncutundeeunderundidundueunfedunfitunfixungotunhatunhipunifyunionuniteunitsunityunlayunledunletunlitunmanunmetunmixunpegunpenunpinunrigunripunsayunsetunsewunsexuntieuntilunwedunwitunzipupenduplituppedupperupseturareurariuraseurateurbanurealureasuredourgedurgerurgesurialurineusageusersusherusingusqueusualusurpusuryuteriutileutteruvulavacuavagalvaguevagusvailsvairsvakilvalesvaletvalidvalorvalsevaluevalvevampsvandavanedvanesvangsvapidvaporvarasvariavarnavarusvarvevasalvasesvastsvastyvaticvatusvaultvauntvealsvealyveenaveepsveersveeryveganvegieveilsveinsveinyvelarveldsveldtvelumvenalvendsvengeveninvenomventsvenueverbsvergeverseversoverstvertsvervevestavestsvetchvexedvexervexesvialsviandvibesvicarvicedvicesvichyvideoviersviewsviewyvigasvigilvigorvilervillavillivillsvimenvinalvinasvincavinedvinesvinicvinosvinylviolaviolsviperviralvireoviresvirgaviridvirlsvirtuvirusvisasvisedvisesvisitvisorvistavitaevitalvittavivasvividvixenvizirvizorvocalvocesvodkavogievoguevoicevoidsvoilavoilevolarvoledvolesvoltavoltevoltivoltsvolvavomervomitvotedvotervotesvouchvowedvowelvowervroomvrouwvuggyvyingwackewackowackswackywaddywadedwaderwadeswadiswaferwaffswaftswagedwagerwageswagonwahoowaifswailswainswairswaistwaitswaivewakedwakenwakerwakeswaledwalerwaleswalkswallawallswallywaltzwameswamuswandswanedwaneswaneywanlywantswardswaredwareswarkswarmswarnswarpswartswartywashywaspswaspywastewastswatapwatchwaterwattswaughwaukswavedwaverwaveswaveywawlswaxedwaxenwaxerwaxeswealdwealsweanswearswearyweavewebbyweberwedelwedgewedgyweedsweedyweeksweensweenyweepsweepyweestweetsweftsweighweirdweirswelchweldswellswellywelshweltswenchwendswennywestswetlywhackwhalewhamowhamswhangwhapswharfwhatswhealwheatwheelwheenwheepwhelkwhelmwhelpwhenswherewhetswhewswheyswhichwhidswhiffwhigswhilewhimswhinewhinswhinywhipswhiptwhirlwhirrwhirswhishwhiskwhistwhitewhitswhitywholewhompwhoofwhoopwhopswhorlwhortwhosewhosowhumpwickswiddywidenwiderwideswidowwidthwieldwifedwifeswiftywiganwiggywightwilcowildswiledwileswillswiltswimpswimpywincewinchwindswindywinedwineswineywingswingywinkswinoswipedwiperwipeswiredwirerwireswirrawisedwiserwiseswishawispswispywistswitanwitchwitedwiteswithewithywittywivedwiverwiveswizenwizeswoadswoaldwodgewokenwoldswolfswomanwombswombywomenwonkswonkywontswoodswoodywooedwooerwoofswoolswoolywoopswooshwoozywordswordyworksworldwormswormyworryworseworstworthwortswouldwoundwovenwowedwrackwrangwrapswraptwrathwreakwreckwrenswrestwrickwriedwrierwrieswringwristwritewritswrongwrotewrothwrungwryerwrylywurstwussywyleswyndswynnsxeniaxenicxenonxericxeroxxylemyachtyacksyageryahooyairdyamenyangsyanksyardsyareryarnsyauldyawedyawlsyawnsyeansyearnyearsyeastyeggsyellsyelpsyentayerbayerksyesesyetisyettsyieldyikesyillsyinceyipesyirrsyocksyodelyodleyogasyoginyogisyokedyokelyokesyolksyonicyonisyoresyoungyournyoursyouseyouthyowedyowieyowlsyuccayucchyucksyuckyyulanyulesyummyyurtayurtszairezanzazappyzarfszayinzazenzealszebrazebuszerkszeroszestszestyzetaszilchzillszincszingszingyzippyziramzitiszizitzlotyzoeaezoealzoeaszombizonalzonedzonerzoneszonkszooidzookszoomszoonszoriszowieboobsspotsnakedsidlepenisspunk";
bool manual_debug_mode = false;
bool debug_mode = false;
void print_gold_silver(bool *gold, bool *silver) {
printf(" Result: ");
for (int i = 0; i < WORD_LEN; i++) {
if (gold[i])
printf("g");
else if (silver[i])
printf("s");
else
printf("-");
assert(!(gold[i] && silver[i]));
}
printf("\n");
}
void input_max_num_words(long long &max_num_words) {
printf("Please enter the number of words to guess (-1 for unlimited): ");
// -2 for debug mode
// -3 for manual debug mode
fflush(stdout);
int tmp = scanf("%lld", &max_num_words);
if (tmp != 1) {
printf("Invalid number.\n");
exit(1);
}
if (max_num_words < -3) {
printf("Invalid number.\n");
exit(1);
}
if (max_num_words == -2) {
debug_mode = true;
}
if (max_num_words == -3) {
manual_debug_mode = true;
debug_mode = true;
}
}
int main() {
long long max_num_words;
perform_guess(nullptr, 0, nullptr, nullptr); // initialize the array |last_press|
init(NUM_SCRAMBLE, SCRAMBLE);
input_max_num_words(max_num_words);
if (manual_debug_mode) {
printf("Manual debug mode: please enter the initial letter and the result of each guess.\n");
printf("The result should be a string of length 5, consisting of '-', 'g', 's' ");
printf("for 'none', 'gold', 'silver' correspondingly, or any other string indicating a correct guess.");
fflush(stdout);
} else {
if (debug_mode) {
printf("Debug mode enabled.\n");
}
printf("Please go to the Word Master mini-game and press Enter to start playing.\n");
fflush(stdout);
pause_until_enter();
}
if (max_num_words == 0) {
initialize_initial_letter(/*re_initialize=*/true);
printf("Done!\n");
return 0;
}
long long num_words = 0, total_pt = 0;
bool gold[WORD_LEN], silver[WORD_LEN];
while (true) {
bool initial_letter_cleared;
char init_letter = retrieve_initial_letter(initial_letter_cleared);
num_words++;
printf("Word %lld: initial letter is '%c'\n", num_words, init_letter);
char *known_letters = nullptr;
const char *guess_word = guess(-1, MAX_GUESS, init_letter, gold, silver, known_letters);
printf(" Guess 1: %s\n", guess_word);
if (strlen(guess_word) != WORD_LEN) {
// invalid
return 1;
}
perform_guess(guess_word, MAX_GUESS + initial_letter_cleared, known_letters, gold); // |gold| is cleared here.
if (!retrieve_guess_result(MAX_GUESS, gold, silver)) {
total_pt += win_points[MAX_GUESS - 1];
printf(" Correct in 1 guess! Total points: %lld\n", total_pt);
continue;
}
print_gold_silver(gold, silver);
int winning_j = 1;
for (int j = MAX_GUESS - 1; j >= 1; j--) {
guess_word = guess(-1, j, init_letter, gold, silver, known_letters);
printf(" Guess %d: %s\n", MAX_GUESS + 1 - j, guess_word);
if (strlen(guess_word) != WORD_LEN) {
printf("Invalid.\n");
return 1;
}
perform_guess(guess_word, j, known_letters, gold);
if (!retrieve_guess_result(j, gold, silver)) {
winning_j = j;
break;
}
print_gold_silver(gold, silver);
}
total_pt += win_points[winning_j - 1];
printf(" Correct in %d guesses! Total points: %lld\n", MAX_GUESS + 1 - winning_j, total_pt);
if (max_num_words >= 0 && num_words >= max_num_words)
break;
}
return 0;
}