]> git.earman.xyz Git - sensor-watch.git/commitdiff
Continued Wordle dev
authorDavid Volovskiy <devolov@gmail.com>
Thu, 15 Aug 2024 03:13:34 +0000 (23:13 -0400)
committerDavid Volovskiy <devolov@gmail.com>
Tue, 3 Sep 2024 20:08:12 +0000 (16:08 -0400)
movement/watch_faces/complication/wordle_face.c
movement/watch_faces/complication/wordle_face.h
utils/wordle_list.py [new file with mode: 0644]

index 8cd993eec7cdae42a7b32e5b2b93aac971ad571f..f6f63fd8f010152d466b16a8a748b063d44be3ca 100644 (file)
@@ -32,439 +32,81 @@ TODO:
 * Fix the word matching (if answer is AAAAA and we put in AACAA, the C blinks)
 * Verify pressing back always work when the board is G_G_G
 * Add daily streak and wait for next day
+* Add a way tpo recount previous attempts
 */
 
 
+// From: https://github.com/charlesreid1/five-letter-words/blob/master/sgb-words.txt
+
 /*
-Letter | Usage in Text
-E      | 12.7%
-T      | 9.1%  But looks bad across all positions
-A      | 8.2%
-O      | 7.5%
-I      | 7.0%
-N      | 6.7%  Few uses in 5 letter words than C
-S      | 6.3%
-H      | 6.1%
-R      | 6.0%
-D      | 4.3%
-L      | 4.0%
-C      | 2.8%
+Letter | Usage in sgb-words.txt
+S      | 2674
+E      | 2658
+A      | 2181
+R      | 1799
+O      | 1683
+I      | 1539
+T      | 1462   But looks bad across all positions
+L      | 1434
+N      | 1219
+D      | 1100  lowercase d looks like a in certain positions
+U      | 1068  C has more words with the other letters here (457 total vs 390)
+C      | 920 
+P      | 895
 */
-static const char _valid_letters[] = {'A', 'C', 'd', 'E', 'H', 'I', 'L', 'O', 'R', 'S'};
+static const char _valid_letters[] = {'A', 'C', 'E', 'I', 'L', 'N', 'O', 'P', 'R', 'S'};
 
-// From: https://github.com/charlesreid1/five-letter-words/blob/master/sgb-words.txt
 static const char _legal_words[][WORDLE_LENGTH + 1] = {
-"AAAAA", "SHALL", "HEARd", "ORdER", "CLOSE", "CLASS", "HORSE", "AddEd", "COLOR", "IdEAS", 
-"HEARd", "ORdER", "CLOSE", "CLASS", "HORSE", "AddEd", "COLOR", "IdEAS", "CRIEd",
-"ORdER", "CLOSE", "CLASS", "HORSE", "AddEd", "COLOR", "IdEAS", "CRIEd", "CLEAR",
-"CLOSE", "CLASS", "HORSE", "AddEd", "COLOR", "IdEAS", "CRIEd", "CLEAR", "CHILd",
-"CLASS", "HORSE", "AddEd", "COLOR", "IdEAS", "CRIEd", "CLEAR", "CHILd", "SIdES",
-"HORSE", "AddEd", "COLOR", "IdEAS", "CRIEd", "CLEAR", "CHILd", "SIdES", "AREAS",
-"AddEd", "COLOR", "IdEAS", "CRIEd", "CLEAR", "CHILd", "SIdES", "AREAS", "SCALE",
-"COLOR", "IdEAS", "CRIEd", "CLEAR", "CHILd", "SIdES", "AREAS", "SCALE", "CELLS",
-"IdEAS", "CRIEd", "CLEAR", "CHILd", "SIdES", "AREAS", "SCALE", "CELLS", "AHEAd",
-"CRIEd", "CLEAR", "CHILd", "SIdES", "AREAS", "SCALE", "CELLS", "AHEAd", "REACH",
-"CLEAR", "CHILd", "SIdES", "AREAS", "SCALE", "CELLS", "AHEAd", "REACH", "RAdIO",
-"CHILd", "SIdES", "AREAS", "SCALE", "CELLS", "AHEAd", "REACH", "RAdIO", "LOCAL",
-"SIdES", "AREAS", "SCALE", "CELLS", "AHEAd", "REACH", "RAdIO", "LOCAL", "SEEdS",
-"AREAS", "SCALE", "CELLS", "AHEAd", "REACH", "RAdIO", "LOCAL", "SEEdS", "CROSS",
-"SCALE", "CELLS", "AHEAd", "REACH", "RAdIO", "LOCAL", "SEEdS", "CROSS", "CASES",
-"CELLS", "AHEAd", "REACH", "RAdIO", "LOCAL", "SEEdS", "CROSS", "CASES", "OLdER",
-"AHEAd", "REACH", "RAdIO", "LOCAL", "SEEdS", "CROSS", "CASES", "OLdER", "SHOES",
-"REACH", "RAdIO", "LOCAL", "SEEdS", "CROSS", "CASES", "OLdER", "SHOES", "CHAIR",
-"RAdIO", "LOCAL", "SEEdS", "CROSS", "CASES", "OLdER", "SHOES", "CHAIR", "SCORE",
-"LOCAL", "SEEdS", "CROSS", "CASES", "OLdER", "SHOES", "CHAIR", "SCORE", "SHORE",
-"SEEdS", "CROSS", "CASES", "OLdER", "SHOES", "CHAIR", "SCORE", "SHORE", "HEAdS",
-"CROSS", "CASES", "OLdER", "SHOES", "CHAIR", "SCORE", "SHORE", "HEAdS", "dRESS",
-"CASES", "OLdER", "SHOES", "CHAIR", "SCORE", "SHORE", "HEAdS", "dRESS", "SHARE",
-"OLdER", "SHOES", "CHAIR", "SCORE", "SHORE", "HEAdS", "dRESS", "SHARE", "SOLId",
-"SHOES", "CHAIR", "SCORE", "SHORE", "HEAdS", "dRESS", "SHARE", "SOLId", "HILLS",
-"CHAIR", "SCORE", "SHORE", "HEAdS", "dRESS", "SHARE", "SOLId", "HILLS", "RAISE",
-"SCORE", "SHORE", "HEAdS", "dRESS", "SHARE", "SOLId", "HILLS", "RAISE", "ROAdS",
-"SHORE", "HEAdS", "dRESS", "SHARE", "SOLId", "HILLS", "RAISE", "ROAdS", "CHORd",
-"HEAdS", "dRESS", "SHARE", "SOLId", "HILLS", "RAISE", "ROAdS", "CHORd", "HOLES",
-"dRESS", "SHARE", "SOLId", "HILLS", "RAISE", "ROAdS", "CHORd", "HOLES", "HOLdS",
-"SHARE", "SOLId", "HILLS", "RAISE", "ROAdS", "CHORd", "HOLES", "HOLdS", "CALLS",
-"SOLId", "HILLS", "RAISE", "ROAdS", "CHORd", "HOLES", "HOLdS", "CALLS", "dOORS",
-"HILLS", "RAISE", "ROAdS", "CHORd", "HOLES", "HOLdS", "CALLS", "dOORS", "LOOSE",
-"RAISE", "ROAdS", "CHORd", "HOLES", "HOLdS", "CALLS", "dOORS", "LOOSE", "ASIdE",
-"ROAdS", "CHORd", "HOLES", "HOLdS", "CALLS", "dOORS", "LOOSE", "ASIdE", "SHELL",
-"CHORd", "HOLES", "HOLdS", "CALLS", "dOORS", "LOOSE", "ASIdE", "SHELL", "dRIEd",
-"HOLES", "HOLdS", "CALLS", "dOORS", "LOOSE", "ASIdE", "SHELL", "dRIEd", "SHAdE",
-"HOLdS", "CALLS", "dOORS", "LOOSE", "ASIdE", "SHELL", "dRIEd", "SHAdE", "CARdS",
-"CALLS", "dOORS", "LOOSE", "ASIdE", "SHELL", "dRIEd", "SHAdE", "CARdS", "CHOSE",
-"dOORS", "LOOSE", "ASIdE", "SHELL", "dRIEd", "SHAdE", "CARdS", "CHOSE", "SOLAR",
-"LOOSE", "ASIdE", "SHELL", "dRIEd", "SHAdE", "CARdS", "CHOSE", "SOLAR", "RISES",
-"ASIdE", "SHELL", "dRIEd", "SHAdE", "CARdS", "CHOSE", "SOLAR", "RISES", "SALES",
-"SHELL", "dRIEd", "SHAdE", "CARdS", "CHOSE", "SOLAR", "RISES", "SALES", "ACRES",
-"dRIEd", "SHAdE", "CARdS", "CHOSE", "SOLAR", "RISES", "SALES", "ACRES", "SLIdE",
-"SHAdE", "CARdS", "CHOSE", "SOLAR", "RISES", "SALES", "ACRES", "SLIdE", "ERROR",
-"CARdS", "CHOSE", "SOLAR", "RISES", "SALES", "ACRES", "SLIdE", "ERROR", "RACEd",
-"CHOSE", "SOLAR", "RISES", "SALES", "ACRES", "SLIdE", "ERROR", "RACEd", "dRILL",
-"SOLAR", "RISES", "SALES", "ACRES", "SLIdE", "ERROR", "RACEd", "dRILL", "HELLO",
-"RISES", "SALES", "ACRES", "SLIdE", "ERROR", "RACEd", "dRILL", "HELLO", "LEAdS",
-"SALES", "ACRES", "SLIdE", "ERROR", "RACEd", "dRILL", "HELLO", "LEAdS", "COACH",
-"ACRES", "SLIdE", "ERROR", "RACEd", "dRILL", "HELLO", "LEAdS", "COACH", "REAdS",
-"SLIdE", "ERROR", "RACEd", "dRILL", "HELLO", "LEAdS", "COACH", "REAdS", "HERdS",
-"ERROR", "RACEd", "dRILL", "HELLO", "LEAdS", "COACH", "REAdS", "HERdS", "AROSE",
-"RACEd", "dRILL", "HELLO", "LEAdS", "COACH", "REAdS", "HERdS", "AROSE", "RACES", 
-"dRILL", "HELLO", "LEAdS", "COACH", "REAdS", "HERdS", "AROSE", "RACES", "HEELS",
-"HELLO", "LEAdS", "COACH", "REAdS", "HERdS", "AROSE", "RACES", "HEELS", "RIdER",
-"LEAdS", "COACH", "REAdS", "HERdS", "AROSE", "RACES", "HEELS", "RIdER", "ROLLS",
-"COACH", "REAdS", "HERdS", "AROSE", "RACES", "HEELS", "RIdER", "ROLLS", "CRASH",
-"REAdS", "HERdS", "AROSE", "RACES", "HEELS", "RIdER", "ROLLS", "CRASH", "SAILS",
-"HERdS", "AROSE", "RACES", "HEELS", "RIdER", "ROLLS", "CRASH", "SAILS", "ARISE",
-"AROSE", "RACES", "HEELS", "RIdER", "ROLLS", "CRASH", "SAILS", "ARISE", "IdEAL",
-"RACES", "HEELS", "RIdER", "ROLLS", "CRASH", "SAILS", "ARISE", "IdEAL", "CRIES",
-"HEELS", "RIdER", "ROLLS", "CRASH", "SAILS", "ARISE", "IdEAL", "CRIES", "ASHES",
-"RIdER", "ROLLS", "CRASH", "SAILS", "ARISE", "IdEAL", "CRIES", "ASHES", "CHASE",
-"ROLLS", "CRASH", "SAILS", "ARISE", "IdEAL", "CRIES", "ASHES", "CHASE", "SLICE",
-"CRASH", "SAILS", "ARISE", "IdEAL", "CRIES", "ASHES", "CHASE", "SLICE", "CHEER",
-"SAILS", "ARISE", "IdEAL", "CRIES", "ASHES", "CHASE", "SLICE", "CHEER", "HIdES",
-"ARISE", "IdEAL", "CRIES", "ASHES", "CHASE", "SLICE", "CHEER", "HIdES", "dEEdS",
-"IdEAL", "CRIES", "ASHES", "CHASE", "SLICE", "CHEER", "HIdES", "dEEdS", "RIdES",
-"CRIES", "ASHES", "CHASE", "SLICE", "CHEER", "HIdES", "dEEdS", "RIdES", "ROSES",
-"ASHES", "CHASE", "SLICE", "CHEER", "HIdES", "dEEdS", "RIdES", "ROSES", "HIREd",
-"CHASE", "SLICE", "CHEER", "HIdES", "dEEdS", "RIdES", "ROSES", "HIREd", "SALAd",
-"SLICE", "CHEER", "HIdES", "dEEdS", "RIdES", "ROSES", "HIREd", "SALAd", "LOAdS",
-"CHEER", "HIdES", "dEEdS", "RIdES", "ROSES", "HIREd", "SALAd", "LOAdS", "HEARS",
-"HIdES", "dEEdS", "RIdES", "ROSES", "HIREd", "SALAd", "LOAdS", "HEARS", "LOSES",
-"dEEdS", "RIdES", "ROSES", "HIREd", "SALAd", "LOAdS", "HEARS", "LOSES", "CORAL",
-"RIdES", "ROSES", "HIREd", "SALAd", "LOAdS", "HEARS", "LOSES", "CORAL", "dAREd",
-"ROSES", "HIREd", "SALAd", "LOAdS", "HEARS", "LOSES", "CORAL", "dAREd", "RAdAR",
-"HIREd", "SALAd", "LOAdS", "HEARS", "LOSES", "CORAL", "dAREd", "RAdAR", "HAIRS",
-"SALAd", "LOAdS", "HEARS", "LOSES", "CORAL", "dAREd", "RAdAR", "HAIRS", "dOLLS",
-"LOAdS", "HEARS", "LOSES", "CORAL", "dAREd", "RAdAR", "HAIRS", "dOLLS", "CAREd",
-"HEARS", "LOSES", "CORAL", "dAREd", "RAdAR", "HAIRS", "dOLLS", "CAREd", "SELLS",
-"LOSES", "CORAL", "dAREd", "RAdAR", "HAIRS", "dOLLS", "CAREd", "SELLS", "COOLS",
-"CORAL", "dAREd", "RAdAR", "HAIRS", "dOLLS", "CAREd", "SELLS", "COOLS", "HARSH",
-"dAREd", "RAdAR", "HAIRS", "dOLLS", "CAREd", "SELLS", "COOLS", "HARSH", "SOILS",
-"RAdAR", "HAIRS", "dOLLS", "CAREd", "SELLS", "COOLS", "HARSH", "SOILS", "REEdS",
-"HAIRS", "dOLLS", "CAREd", "SELLS", "COOLS", "HARSH", "SOILS", "REEdS", "SHEER",
-"dOLLS", "CAREd", "SELLS", "COOLS", "HARSH", "SOILS", "REEdS", "SHEER", "CHILL",
-"CAREd", "SELLS", "COOLS", "HARSH", "SOILS", "REEdS", "SHEER", "CHILL", "CORdS",
-"SELLS", "COOLS", "HARSH", "SOILS", "REEdS", "SHEER", "CHILL", "CORdS", "RAILS",
-"COOLS", "HARSH", "SOILS", "REEdS", "SHEER", "CHILL", "CORdS", "RAILS", "dEALS",
-"HARSH", "SOILS", "REEdS", "SHEER", "CHILL", "CORdS", "RAILS", "dEALS", "ACIdS",
-"SOILS", "REEdS", "SHEER", "CHILL", "CORdS", "RAILS", "dEALS", "ACIdS", "COCOA",
-"REEdS", "SHEER", "CHILL", "CORdS", "RAILS", "dEALS", "ACIdS", "COCOA", "SCARE",
-"SHEER", "CHILL", "CORdS", "RAILS", "dEALS", "ACIdS", "COCOA", "SCARE", "CEASE",
-"CHILL", "CORdS", "RAILS", "dEALS", "ACIdS", "COCOA", "SCARE", "CEASE", "SEALS",
-"CORdS", "RAILS", "dEALS", "ACIdS", "COCOA", "SCARE", "CEASE", "SEALS", "LORdS",
-"RAILS", "dEALS", "ACIdS", "COCOA", "SCARE", "CEASE", "SEALS", "LORdS", "HALLS",
-"dEALS", "ACIdS", "COCOA", "SCARE", "CEASE", "SEALS", "LORdS", "HALLS", "COALS",
-"ACIdS", "COCOA", "SCARE", "CEASE", "SEALS", "LORdS", "HALLS", "COALS", "ROdEO",
-"COCOA", "SCARE", "CEASE", "SEALS", "LORdS", "HALLS", "COALS", "ROdEO", "COdES",
-"SCARE", "CEASE", "SEALS", "LORdS", "HALLS", "COALS", "ROdEO", "COdES", "ELdER",
-"CEASE", "SEALS", "LORdS", "HALLS", "COALS", "ROdEO", "COdES", "ELdER", "ROLES",
-"SEALS", "LORdS", "HALLS", "COALS", "ROdEO", "COdES", "ELdER", "ROLES", "dREAd",
-"LORdS", "HALLS", "COALS", "ROdEO", "COdES", "ELdER", "ROLES", "dREAd", "CEdAR",
-"HALLS", "COALS", "ROdEO", "COdES", "ELdER", "ROLES", "dREAd", "CEdAR", "SLASH",
-"COALS", "ROdEO", "COdES", "ELdER", "ROLES", "dREAd", "CEdAR", "SLASH", "CARES",
-"ROdEO", "COdES", "ELdER", "ROLES", "dREAd", "CEdAR", "SLASH", "CARES", "IdOLS",
-"COdES", "ELdER", "ROLES", "dREAd", "CEdAR", "SLASH", "CARES", "IdOLS", "OdORS",
-"ELdER", "ROLES", "dREAd", "CEdAR", "SLASH", "CARES", "IdOLS", "OdORS", "EASEd",
-"ROLES", "dREAd", "CEdAR", "SLASH", "CARES", "IdOLS", "OdORS", "EASEd", "CHOIR",
-"dREAd", "CEdAR", "SLASH", "CARES", "IdOLS", "OdORS", "EASEd", "CHOIR", "AIdEd",
-"CEdAR", "SLASH", "CARES", "IdOLS", "OdORS", "EASEd", "CHOIR", "AIdEd", "CHAOS",
-"SLASH", "CARES", "IdOLS", "OdORS", "EASEd", "CHOIR", "AIdEd", "CHAOS", "LEASE",
-"CARES", "IdOLS", "OdORS", "EASEd", "CHOIR", "AIdEd", "CHAOS", "LEASE", "SHEAR",
-"IdOLS", "OdORS", "EASEd", "CHOIR", "AIdEd", "CHAOS", "LEASE", "SHEAR", "SLEdS",
-"OdORS", "EASEd", "CHOIR", "AIdEd", "CHAOS", "LEASE", "SHEAR", "SLEdS", "COILS",
-"EASEd", "CHOIR", "AIdEd", "CHAOS", "LEASE", "SHEAR", "SLEdS", "COILS", "ACHEd",
-"CHOIR", "AIdEd", "CHAOS", "LEASE", "SHEAR", "SLEdS", "COILS", "ACHEd", "CELLO",
-"AIdEd", "CHAOS", "LEASE", "SHEAR", "SLEdS", "COILS", "ACHEd", "CELLO", "dRIES",
-"CHAOS", "LEASE", "SHEAR", "SLEdS", "COILS", "ACHEd", "CELLO", "dRIES", "OASIS",
-"LEASE", "SHEAR", "SLEdS", "COILS", "ACHEd", "CELLO", "dRIES", "OASIS", "dRIER",
-"SHEAR", "SLEdS", "COILS", "ACHEd", "CELLO", "dRIES", "OASIS", "dRIER", "CACAO",
-"SLEdS", "COILS", "ACHEd", "CELLO", "dRIES", "OASIS", "dRIER", "CACAO", "EERIE",
-"COILS", "ACHEd", "CELLO", "dRIES", "OASIS", "dRIER", "CACAO", "EERIE", "SCARS",
-"ACHEd", "CELLO", "dRIES", "OASIS", "dRIER", "CACAO", "EERIE", "SCARS", "RAIdS",
-"CELLO", "dRIES", "OASIS", "dRIER", "CACAO", "EERIE", "SCARS", "RAIdS", "SOLES",
-"dRIES", "OASIS", "dRIER", "CACAO", "EERIE", "SCARS", "RAIdS", "SOLES", "CAROL",
-"OASIS", "dRIER", "CACAO", "EERIE", "SCARS", "RAIdS", "SOLES", "CAROL", "CHESS",
-"dRIER", "CACAO", "EERIE", "SCARS", "RAIdS", "SOLES", "CAROL", "CHESS", "OASES",
-"CACAO", "EERIE", "SCARS", "RAIdS", "SOLES", "CAROL", "CHESS", "OASES", "ASSES",
-"EERIE", "SCARS", "RAIdS", "SOLES", "CAROL", "CHESS", "OASES", "ASSES", "SHEdS",
-"SCARS", "RAIdS", "SOLES", "CAROL", "CHESS", "OASES", "ASSES", "SHEdS", "CLASH",
-"RAIdS", "SOLES", "CAROL", "CHESS", "OASES", "ASSES", "SHEdS", "CLASH", "dISCS",
-"SOLES", "CAROL", "CHESS", "OASES", "ASSES", "SHEdS", "CLASH", "dISCS", "ERASE",
-"CAROL", "CHESS", "OASES", "ASSES", "SHEdS", "CLASH", "dISCS", "ERASE", "CIdER",
-"CHESS", "OASES", "ASSES", "SHEdS", "CLASH", "dISCS", "ERASE", "CIdER", "SHALE",
-"OASES", "ASSES", "SHEdS", "CLASH", "dISCS", "ERASE", "CIdER", "SHALE", "AISLE",
-"ASSES", "SHEdS", "CLASH", "dISCS", "ERASE", "CIdER", "SHALE", "AISLE", "HEIRS",
-"SHEdS", "CLASH", "dISCS", "ERASE", "CIdER", "SHALE", "AISLE", "HEIRS", "ROARS",
-"CLASH", "dISCS", "ERASE", "CIdER", "SHALE", "AISLE", "HEIRS", "ROARS", "SCOLd",
-"dISCS", "ERASE", "CIdER", "SHALE", "AISLE", "HEIRS", "ROARS", "SCOLd", "LEASH",
-"ERASE", "CIdER", "SHALE", "AISLE", "HEIRS", "ROARS", "SCOLd", "LEASH", "LASSO",
-"CIdER", "SHALE", "AISLE", "HEIRS", "ROARS", "SCOLd", "LEASH", "LASSO", "CHORE",
-"SHALE", "AISLE", "HEIRS", "ROARS", "SCOLd", "LEASH", "LASSO", "CHORE", "LACEd",
-"AISLE", "HEIRS", "ROARS", "SCOLd", "LEASH", "LASSO", "CHORE", "LACEd", "dOSES",
-"HEIRS", "ROARS", "SCOLd", "LEASH", "LASSO", "CHORE", "LACEd", "dOSES", "COLdS",
-"ROARS", "SCOLd", "LEASH", "LASSO", "CHORE", "LACEd", "dOSES", "COLdS", "CORES",
-"SCOLd", "LEASH", "LASSO", "CHORE", "LACEd", "dOSES", "COLdS", "CORES", "CHILI",
-"LEASH", "LASSO", "CHORE", "LACEd", "dOSES", "COLdS", "CORES", "CHILI", "EASEL",
-"LASSO", "CHORE", "LACEd", "dOSES", "COLdS", "CORES", "CHILI", "EASEL", "LACES",
-"CHORE", "LACEd", "dOSES", "COLdS", "CORES", "CHILI", "EASEL", "LACES", "HORdE",
-"LACEd", "dOSES", "COLdS", "CORES", "CHILI", "EASEL", "LACES", "HORdE", "LASER",
-"dOSES", "COLdS", "CORES", "CHILI", "EASEL", "LACES", "HORdE", "LASER", "HARES",
-"COLdS", "CORES", "CHILI", "EASEL", "LACES", "HORdE", "LASER", "HARES", "CREEd",
-"CORES", "CHILI", "EASEL", "LACES", "HORdE", "LASER", "HARES", "CREEd", "LILAC",
-"CHILI", "EASEL", "LACES", "HORdE", "LASER", "HARES", "CREEd", "LILAC", "HOOdS",
-"EASEL", "LACES", "HORdE", "LASER", "HARES", "CREEd", "LILAC", "HOOdS", "ROACH",
-"LACES", "HORdE", "LASER", "HARES", "CREEd", "LILAC", "HOOdS", "ROACH", "dIALS",
-"HORdE", "LASER", "HARES", "CREEd", "LILAC", "HOOdS", "ROACH", "dIALS", "SOLOS",
-"LASER", "HARES", "CREEd", "LILAC", "HOOdS", "ROACH", "dIALS", "SOLOS", "SISAL",
-"HARES", "CREEd", "LILAC", "HOOdS", "ROACH", "dIALS", "SOLOS", "SISAL", "HOSES",
-"CREEd", "LILAC", "HOOdS", "ROACH", "dIALS", "SOLOS", "SISAL", "HOSES", "dARES",
-"LILAC", "HOOdS", "ROACH", "dIALS", "SOLOS", "SISAL", "HOSES", "dARES", "ACHES",
-"HOOdS", "ROACH", "dIALS", "SOLOS", "SISAL", "HOSES", "dARES", "ACHES", "LOSER",
-"ROACH", "dIALS", "SOLOS", "SISAL", "HOSES", "dARES", "ACHES", "LOSER", "LAdLE",
-"dIALS", "SOLOS", "SISAL", "HOSES", "dARES", "ACHES", "LOSER", "LAdLE", "RAdII",
-"SOLOS", "SISAL", "HOSES", "dARES", "ACHES", "LOSER", "LAdLE", "RAdII", "SORES",
-"SISAL", "HOSES", "dARES", "ACHES", "LOSER", "LAdLE", "RAdII", "SORES", "RELIC",
-"HOSES", "dARES", "ACHES", "LOSER", "LAdLE", "RAdII", "SORES", "RELIC", "AIdES",
-"dARES", "ACHES", "LOSER", "LAdLE", "RAdII", "SORES", "RELIC", "AIdES", "ALdER",
-"ACHES", "LOSER", "LAdLE", "RAdII", "SORES", "RELIC", "AIdES", "ALdER", "COdEd",
-"LOSER", "LAdLE", "RAdII", "SORES", "RELIC", "AIdES", "ALdER", "COdEd", "ISLES",
-"LAdLE", "RAdII", "SORES", "RELIC", "AIdES", "ALdER", "COdEd", "ISLES", "CLOdS",
-"RAdII", "SORES", "RELIC", "AIdES", "ALdER", "COdEd", "ISLES", "CLOdS", "AdORE",
-"SORES", "RELIC", "AIdES", "ALdER", "COdEd", "ISLES", "CLOdS", "AdORE", "RARER", 
-"RELIC", "AIdES", "ALdER", "COdEd", "ISLES", "CLOdS", "AdORE", "RARER", "SILLS",
-"AIdES", "ALdER", "COdEd", "ISLES", "CLOdS", "AdORE", "RARER", "SILLS", "SHOAL",
-"ALdER", "COdEd", "ISLES", "CLOdS", "AdORE", "RARER", "SILLS", "SHOAL", "CACHE",
-"COdEd", "ISLES", "CLOdS", "AdORE", "RARER", "SILLS", "SHOAL", "CACHE", "REELS",
-"ISLES", "CLOdS", "AdORE", "RARER", "SILLS", "SHOAL", "CACHE", "REELS", "LIARS",
-"CLOdS", "AdORE", "RARER", "SILLS", "SHOAL", "CACHE", "REELS", "LIARS", "SOARS",
-"AdORE", "RARER", "SILLS", "SHOAL", "CACHE", "REELS", "LIARS", "SOARS", "SIdEd",
-"RARER", "SILLS", "SHOAL", "CACHE", "REELS", "LIARS", "SOARS", "SIdEd", "HEALS",
-"SILLS", "SHOAL", "CACHE", "REELS", "LIARS", "SOARS", "SIdEd", "HEALS", "SOdAS",
-"SHOAL", "CACHE", "REELS", "LIARS", "SOARS", "SIdEd", "HEALS", "SOdAS", "ERREd",
-"CACHE", "REELS", "LIARS", "SOARS", "SIdEd", "HEALS", "SOdAS", "ERREd", "ARdOR",
-"REELS", "LIARS", "SOARS", "SIdEd", "HEALS", "SOdAS", "ERREd", "ARdOR", "HIRES",
-"LIARS", "SOARS", "SIdEd", "HEALS", "SOdAS", "ERREd", "ARdOR", "HIRES", "LEECH",
-"SOARS", "SIdEd", "HEALS", "SOdAS", "ERREd", "ARdOR", "HIRES", "LEECH", "EROdE",
-"SIdEd", "HEALS", "SOdAS", "ERREd", "ARdOR", "HIRES", "LEECH", "EROdE", "HOARd",
-"HEALS", "SOdAS", "ERREd", "ARdOR", "HIRES", "LEECH", "EROdE", "HOARd", "COOEd",
-"SOdAS", "ERREd", "ARdOR", "HIRES", "LEECH", "EROdE", "HOARd", "COOEd", "SHREd",
-"ERREd", "ARdOR", "HIRES", "LEECH", "EROdE", "HOARd", "COOEd", "SHREd", "SLOSH",
-"ARdOR", "HIRES", "LEECH", "EROdE", "HOARd", "COOEd", "SHREd", "SLOSH", "CHIdE",
-"HIRES", "LEECH", "EROdE", "HOARd", "COOEd", "SHREd", "SLOSH", "CHIdE", "EASES",
-"LEECH", "EROdE", "HOARd", "COOEd", "SHREd", "SLOSH", "CHIdE", "EASES", "HALOS",
-"EROdE", "HOARd", "COOEd", "SHREd", "SLOSH", "CHIdE", "EASES", "HALOS", "ACRId",
-"HOARd", "COOEd", "SHREd", "SLOSH", "CHIdE", "EASES", "HALOS", "ACRId", "EIdER",
-"COOEd", "SHREd", "SLOSH", "CHIdE", "EASES", "HALOS", "ACRId", "EIdER", "AddER",
-"SHREd", "SLOSH", "CHIdE", "EASES", "HALOS", "ACRId", "EIdER", "AddER", "dEARS",
-"SLOSH", "CHIdE", "EASES", "HALOS", "ACRId", "EIdER", "AddER", "dEARS", "SEERS",
-"CHIdE", "EASES", "HALOS", "ACRId", "EIdER", "AddER", "dEARS", "SEERS", "OddER",
-"EASES", "HALOS", "ACRId", "EIdER", "AddER", "dEARS", "SEERS", "OddER", "SIdLE",
-"HALOS", "ACRId", "EIdER", "AddER", "dEARS", "SEERS", "OddER", "SIdLE", "dOLEd",
-"ACRId", "EIdER", "AddER", "dEARS", "SEERS", "OddER", "SIdLE", "dOLEd", "HAILS",
-"EIdER", "AddER", "dEARS", "SEERS", "OddER", "SIdLE", "dOLEd", "HAILS", "AIREd",
-"AddER", "dEARS", "SEERS", "OddER", "SIdLE", "dOLEd", "HAILS", "AIREd", "COCCI",
-"dEARS", "SEERS", "OddER", "SIdLE", "dOLEd", "HAILS", "AIREd", "COCCI", "SILOS",
-"SEERS", "OddER", "SIdLE", "dOLEd", "HAILS", "AIREd", "COCCI", "SILOS", "dOSEd",
-"OddER", "SIdLE", "dOLEd", "HAILS", "AIREd", "COCCI", "SILOS", "dOSEd", "RILLS",
-"SIdLE", "dOLEd", "HAILS", "AIREd", "COCCI", "SILOS", "dOSEd", "RILLS", "EARLS",
-"dOLEd", "HAILS", "AIREd", "COCCI", "SILOS", "dOSEd", "RILLS", "EARLS", "LAIRS",
-"HAILS", "AIREd", "COCCI", "SILOS", "dOSEd", "RILLS", "EARLS", "LAIRS", "IdLER",
-"AIREd", "COCCI", "SILOS", "dOSEd", "RILLS", "EARLS", "LAIRS", "IdLER", "SCALd",
-"COCCI", "SILOS", "dOSEd", "RILLS", "EARLS", "LAIRS", "IdLER", "SCALd", "AdIOS",
-"SILOS", "dOSEd", "RILLS", "EARLS", "LAIRS", "IdLER", "SCALd", "AdIOS", "dALES",
-"dOSEd", "RILLS", "EARLS", "LAIRS", "IdLER", "SCALd", "AdIOS", "dALES", "HEEdS",
-"RILLS", "EARLS", "LAIRS", "IdLER", "SCALd", "AdIOS", "dALES", "HEEdS", "CEdEd",
-"EARLS", "LAIRS", "IdLER", "SCALd", "AdIOS", "dALES", "HEEdS", "CEdEd", "LARCH",
-"LAIRS", "IdLER", "SCALd", "AdIOS", "dALES", "HEEdS", "CEdEd", "LARCH", "dOLES",
-"IdLER", "SCALd", "AdIOS", "dALES", "HEEdS", "CEdEd", "LARCH", "dOLES", "dROOL",
-"SCALd", "AdIOS", "dALES", "HEEdS", "CEdEd", "LARCH", "dOLES", "dROOL", "dELLS",
-"AdIOS", "dALES", "HEEdS", "CEdEd", "LARCH", "dOLES", "dROOL", "dELLS", "COCOS",
-"dALES", "HEEdS", "CEdEd", "LARCH", "dOLES", "dROOL", "dELLS", "COCOS", "LEERS",
-"HEEdS", "CEdEd", "LARCH", "dOLES", "dROOL", "dELLS", "COCOS", "LEERS", "ALIAS",
-"CEdEd", "LARCH", "dOLES", "dROOL", "dELLS", "COCOS", "LEERS", "ALIAS", "dICEd",
-"LARCH", "dOLES", "dROOL", "dELLS", "COCOS", "LEERS", "ALIAS", "dICEd", "LOdES",
-"dOLES", "dROOL", "dELLS", "COCOS", "LEERS", "ALIAS", "dICEd", "LOdES", "IdLEd",
-"dROOL", "dELLS", "COCOS", "LEERS", "ALIAS", "dICEd", "LOdES", "IdLEd", "RACER",
-"dELLS", "COCOS", "LEERS", "ALIAS", "dICEd", "LOdES", "IdLEd", "RACER", "AILEd",
-"COCOS", "LEERS", "ALIAS", "dICEd", "LOdES", "IdLEd", "RACER", "AILEd", "HERES",
-"LEERS", "ALIAS", "dICEd", "LOdES", "IdLEd", "RACER", "AILEd", "HERES", "IdLES",
-"ALIAS", "dICEd", "LOdES", "IdLEd", "RACER", "AILEd", "HERES", "IdLES", "dOdOS",
-"dICEd", "LOdES", "IdLEd", "RACER", "AILEd", "HERES", "IdLES", "dOdOS", "HELLS",
-"LOdES", "IdLEd", "RACER", "AILEd", "HERES", "IdLES", "dOdOS", "HELLS", "SOLEd",
-"IdLEd", "RACER", "AILEd", "HERES", "IdLES", "dOdOS", "HELLS", "SOLEd", "CASEd",
-"RACER", "AILEd", "HERES", "IdLES", "dOdOS", "HELLS", "SOLEd", "CASEd", "COEdS",
-"AILEd", "HERES", "IdLES", "dOdOS", "HELLS", "SOLEd", "CASEd", "COEdS", "LORES",
-"HERES", "IdLES", "dOdOS", "HELLS", "SOLEd", "CASEd", "COEdS", "LORES", "REARS",
-"IdLES", "dOdOS", "HELLS", "SOLEd", "CASEd", "COEdS", "LORES", "REARS", "COLIC",
-"dOdOS", "HELLS", "SOLEd", "CASEd", "COEdS", "LORES", "REARS", "COLIC", "SIRES",
-"HELLS", "SOLEd", "CASEd", "COEdS", "LORES", "REARS", "COLIC", "SIRES", "SORER",
-"SOLEd", "CASEd", "COEdS", "LORES", "REARS", "COLIC", "SIRES", "SORER", "LOLLS",
-"CASEd", "COEdS", "LORES", "REARS", "COLIC", "SIRES", "SORER", "LOLLS", "SCAdS",
-"COEdS", "LORES", "REARS", "COLIC", "SIRES", "SORER", "LOLLS", "SCAdS", "LEACH",
-"LORES", "REARS", "COLIC", "SIRES", "SORER", "LOLLS", "SCAdS", "LEACH", "ARCEd",
-"REARS", "COLIC", "SIRES", "SORER", "LOLLS", "SCAdS", "LEACH", "ARCEd", "COREd",
-"COLIC", "SIRES", "SORER", "LOLLS", "SCAdS", "LEACH", "ARCEd", "COREd", "dEAdS",
-"SIRES", "SORER", "LOLLS", "SCAdS", "LEACH", "ARCEd", "COREd", "dEAdS", "dROLL",
-"SORER", "LOLLS", "SCAdS", "LEACH", "ARCEd", "COREd", "dEAdS", "dROLL", "dICES",
-"LOLLS", "SCAdS", "LEACH", "ARCEd", "COREd", "dEAdS", "dROLL", "dICES", "CEdES",
-"SCAdS", "LEACH", "ARCEd", "COREd", "dEAdS", "dROLL", "dICES", "CEdES", "HOSEd",
-"LEACH", "ARCEd", "COREd", "dEAdS", "dROLL", "dICES", "CEdES", "HOSEd", "CRESS",
-"ARCEd", "COREd", "dEAdS", "dROLL", "dICES", "CEdES", "HOSEd", "CRESS", "ICIER",
-"COREd", "dEAdS", "dROLL", "dICES", "CEdES", "HOSEd", "CRESS", "ICIER", "LARdS",
-"dEAdS", "dROLL", "dICES", "CEdES", "HOSEd", "CRESS", "ICIER", "LARdS", "HEROS",
-"dROLL", "dICES", "CEdES", "HOSEd", "CRESS", "ICIER", "LARdS", "HEROS", "SHOOS",
-"dICES", "CEdES", "HOSEd", "CRESS", "ICIER", "LARdS", "HEROS", "SHOOS", "dECAL",
-"CEdES", "HOSEd", "CRESS", "ICIER", "LARdS", "HEROS", "SHOOS", "dECAL", "CILIA",
-"HOSEd", "CRESS", "ICIER", "LARdS", "HEROS", "SHOOS", "dECAL", "CILIA", "SEARS",
-"CRESS", "ICIER", "LARdS", "HEROS", "SHOOS", "dECAL", "CILIA", "SEARS", "SARIS",
-"ICIER", "LARdS", "HEROS", "SHOOS", "dECAL", "CILIA", "SEARS", "SARIS", "dILLS",
-"LARdS", "HEROS", "SHOOS", "dECAL", "CILIA", "SEARS", "SARIS", "dILLS", "OILEd",
-"HEROS", "SHOOS", "dECAL", "CILIA", "SEARS", "SARIS", "dILLS", "OILEd", "dOERS",
-"SHOOS", "dECAL", "CILIA", "SEARS", "SARIS", "dILLS", "OILEd", "dOERS", "ALOHA",
-"dECAL", "CILIA", "SEARS", "SARIS", "dILLS", "OILEd", "dOERS", "ALOHA", "RISER",
-"CILIA", "SEARS", "SARIS", "dILLS", "OILEd", "dOERS", "ALOHA", "RISER", "CRIER",
-"SEARS", "SARIS", "dILLS", "OILEd", "dOERS", "ALOHA", "RISER", "CRIER", "LOESS",
-"SARIS", "dILLS", "OILEd", "dOERS", "ALOHA", "RISER", "CRIER", "LOESS", "dECOR",
-"dILLS", "OILEd", "dOERS", "ALOHA", "RISER", "CRIER", "LOESS", "dECOR", "SHIEd",
-"OILEd", "dOERS", "ALOHA", "RISER", "CRIER", "LOESS", "dECOR", "SHIEd", "dROSS",
-"dOERS", "ALOHA", "RISER", "CRIER", "LOESS", "dECOR", "SHIEd", "dROSS", "CREdO",
-"ALOHA", "RISER", "CRIER", "LOESS", "dECOR", "SHIEd", "dROSS", "CREdO", "ALOES",
-"RISER", "CRIER", "LOESS", "dECOR", "SHIEd", "dROSS", "CREdO", "ALOES", "dIOdE",
-"CRIER", "LOESS", "dECOR", "SHIEd", "dROSS", "CREdO", "ALOES", "dIOdE", "COHOS",
-"LOESS", "dECOR", "SHIEd", "dROSS", "CREdO", "ALOES", "dIOdE", "COHOS", "SIREE",
-"dECOR", "SHIEd", "dROSS", "CREdO", "ALOES", "dIOdE", "COHOS", "SIREE", "OCHRE",
-"SHIEd", "dROSS", "CREdO", "ALOES", "dIOdE", "COHOS", "SIREE", "OCHRE", "SIREd",
-"dROSS", "CREdO", "ALOES", "dIOdE", "COHOS", "SIREE", "OCHRE", "SIREd", "CAdRE",
-"CREdO", "ALOES", "dIOdE", "COHOS", "SIREE", "OCHRE", "SIREd", "CAdRE", "ECHOS",
-"ALOES", "dIOdE", "COHOS", "SIREE", "OCHRE", "SIREd", "CAdRE", "ECHOS", "RILEd",
-"dIOdE", "COHOS", "SIREE", "OCHRE", "SIREd", "CAdRE", "ECHOS", "RILEd", "CIRCA",
-"COHOS", "SIREE", "OCHRE", "SIREd", "CAdRE", "ECHOS", "RILEd", "CIRCA", "HALLO",
-"SIREE", "OCHRE", "SIREd", "CAdRE", "ECHOS", "RILEd", "CIRCA", "HALLO", "SHIES",
-"OCHRE", "SIREd", "CAdRE", "ECHOS", "RILEd", "CIRCA", "HALLO", "SHIES", "HOLEd",
-"SIREd", "CAdRE", "ECHOS", "RILEd", "CIRCA", "HALLO", "SHIES", "HOLEd", "SEdER",
-"CAdRE", "ECHOS", "RILEd", "CIRCA", "HALLO", "SHIES", "HOLEd", "SEdER", "REALS",
-"ECHOS", "RILEd", "CIRCA", "HALLO", "SHIES", "HOLEd", "SEdER", "REALS", "AERIE",
-"RILEd", "CIRCA", "HALLO", "SHIES", "HOLEd", "SEdER", "REALS", "AERIE", "CRASS",
-"CIRCA", "HALLO", "SHIES", "HOLEd", "SEdER", "REALS", "AERIE", "CRASS", "dACHA",
-"HALLO", "SHIES", "HOLEd", "SEdER", "REALS", "AERIE", "CRASS", "dACHA", "ACHOO",
-"SHIES", "HOLEd", "SEdER", "REALS", "AERIE", "CRASS", "dACHA", "ACHOO", "dREAR",
-"HOLEd", "SEdER", "REALS", "AERIE", "CRASS", "dACHA", "ACHOO", "dREAR", "ARIAS",
-"SEdER", "REALS", "AERIE", "CRASS", "dACHA", "ACHOO", "dREAR", "ARIAS", "HOOCH",
-"REALS", "AERIE", "CRASS", "dACHA", "ACHOO", "dREAR", "ARIAS", "HOOCH", "SHILL",
-"AERIE", "CRASS", "dACHA", "ACHOO", "dREAR", "ARIAS", "HOOCH", "SHILL", "AHHHH",
-"CRASS", "dACHA", "ACHOO", "dREAR", "ARIAS", "HOOCH", "SHILL", "AHHHH", "SHISH",
-"dACHA", "ACHOO", "dREAR", "ARIAS", "HOOCH", "SHILL", "AHHHH", "SHISH", "RILES",
-"ACHOO", "dREAR", "ARIAS", "HOOCH", "SHILL", "AHHHH", "SHISH", "RILES", "HEERd",
-"dREAR", "ARIAS", "HOOCH", "SHILL", "AHHHH", "SHISH", "RILES", "HEERd", "CREEL",
-"ARIAS", "HOOCH", "SHILL", "AHHHH", "SHISH", "RILES", "HEERd", "CREEL", "RHEAS",
-"HOOCH", "SHILL", "AHHHH", "SHISH", "RILES", "HEERd", "CREEL", "RHEAS", "COdER",
-"SHILL", "AHHHH", "SHISH", "RILES", "HEERd", "CREEL", "RHEAS", "COdER", "HALEd",
-"AHHHH", "SHISH", "RILES", "HEERd", "CREEL", "RHEAS", "COdER", "HALEd", "CHARd",
-"SHISH", "RILES", "HEERd", "CREEL", "RHEAS", "COdER", "HALEd", "CHARd", "SHOEd",
-"RILES", "HEERd", "CREEL", "RHEAS", "COdER", "HALEd", "CHARd", "SHOEd", "ESSES",
-"HEERd", "CREEL", "RHEAS", "COdER", "HALEd", "CHARd", "SHOEd", "ESSES", "EAREd",
-"CREEL", "RHEAS", "COdER", "HALEd", "CHARd", "SHOEd", "ESSES", "EAREd", "ELIdE",
-"RHEAS", "COdER", "HALEd", "CHARd", "SHOEd", "ESSES", "EAREd", "ELIdE", "SALSA",
-"COdER", "HALEd", "CHARd", "SHOEd", "ESSES", "EAREd", "ELIdE", "SALSA", "AHOLd",
-"HALEd", "CHARd", "SHOEd", "ESSES", "EAREd", "ELIdE", "SALSA", "AHOLd", "SHAHS",
-"CHARd", "SHOEd", "ESSES", "EAREd", "ELIdE", "SALSA", "AHOLd", "SHAHS", "dISCO",
-"SHOEd", "ESSES", "EAREd", "ELIdE", "SALSA", "AHOLd", "SHAHS", "dISCO", "SHARd",
-"ESSES", "EAREd", "ELIdE", "SALSA", "AHOLd", "SHAHS", "dISCO", "SHARd", "CORER",
-"EAREd", "ELIdE", "SALSA", "AHOLd", "SHAHS", "dISCO", "SHARd", "CORER", "COLAS", 
-"ELIdE", "SALSA", "AHOLd", "SHAHS", "dISCO", "SHARd", "CORER", "COLAS", "dROId",
-"SALSA", "AHOLd", "SHAHS", "dISCO", "SHARd", "CORER", "COLAS", "dROId", "OLdIE",
-"AHOLd", "SHAHS", "dISCO", "SHARd", "CORER", "COLAS", "dROId", "OLdIE", "COdAS",
-"SHAHS", "dISCO", "SHARd", "CORER", "COLAS", "dROId", "OLdIE", "COdAS", "ORCAS",
-"dISCO", "SHARd", "CORER", "COLAS", "dROId", "OLdIE", "COdAS", "ORCAS", "HALES",
-"SHARd", "CORER", "COLAS", "dROId", "OLdIE", "COdAS", "ORCAS", "HALES", "REdId",
-"CORER", "COLAS", "dROId", "OLdIE", "COdAS", "ORCAS", "HALES", "REdId", "dAdOS",
-"COLAS", "dROId", "OLdIE", "COdAS", "ORCAS", "HALES", "REdId", "dAdOS", "CLAdS",
-"dROId", "OLdIE", "COdAS", "ORCAS", "HALES", "REdId", "dAdOS", "CLAdS", "OOdLE",
-"OLdIE", "COdAS", "ORCAS", "HALES", "REdId", "dAdOS", "CLAdS", "OOdLE", "HIdER",
-"COdAS", "ORCAS", "HALES", "REdId", "dAdOS", "CLAdS", "OOdLE", "HIdER", "dELIS",
-"ORCAS", "HALES", "REdId", "dAdOS", "CLAdS", "OOdLE", "HIdER", "dELIS", "SCROd",
-"HALES", "REdId", "dAdOS", "CLAdS", "OOdLE", "HIdER", "dELIS", "SCROd", "SHIRE",
-"REdId", "dAdOS", "CLAdS", "OOdLE", "HIdER", "dELIS", "SCROd", "SHIRE", "AddLE",
-"dAdOS", "CLAdS", "OOdLE", "HIdER", "dELIS", "SCROd", "SHIRE", "AddLE", "dEICE",
-"CLAdS", "OOdLE", "HIdER", "dELIS", "SCROd", "SHIRE", "AddLE", "dEICE", "ORALS",
-"OOdLE", "HIdER", "dELIS", "SCROd", "SHIRE", "AddLE", "dEICE", "ORALS", "HIRER",
-"HIdER", "dELIS", "SCROd", "SHIRE", "AddLE", "dEICE", "ORALS", "HIRER", "ROILS",
-"dELIS", "SCROd", "SHIRE", "AddLE", "dEICE", "ORALS", "HIRER", "ROILS", "dOLOR",
-"SCROd", "SHIRE", "AddLE", "dEICE", "ORALS", "HIRER", "ROILS", "dOLOR", "ILIAC",
-"SHIRE", "AddLE", "dEICE", "ORALS", "HIRER", "ROILS", "dOLOR", "ILIAC", "CILLS",
-"AddLE", "dEICE", "ORALS", "HIRER", "ROILS", "dOLOR", "ILIAC", "CILLS", "LOCOS",
-"dEICE", "ORALS", "HIRER", "ROILS", "dOLOR", "ILIAC", "CILLS", "LOCOS", "HILAR",
-"ORALS", "HIRER", "ROILS", "dOLOR", "ILIAC", "CILLS", "LOCOS", "HILAR", "CROCS",
-"HIRER", "ROILS", "dOLOR", "ILIAC", "CILLS", "LOCOS", "HILAR", "CROCS", "OHHHH",
-"ROILS", "dOLOR", "ILIAC", "CILLS", "LOCOS", "HILAR", "CROCS", "OHHHH", "SECCO",
-"dOLOR", "ILIAC", "CILLS", "LOCOS", "HILAR", "CROCS", "OHHHH", "SECCO", "SHAdS",
-"ILIAC", "CILLS", "LOCOS", "HILAR", "CROCS", "OHHHH", "SECCO", "SHAdS", "CHOOS",
-"CILLS", "LOCOS", "HILAR", "CROCS", "OHHHH", "SECCO", "SHAdS", "CHOOS", "AREAL",
-"LOCOS", "HILAR", "CROCS", "OHHHH", "SECCO", "SHAdS", "CHOOS", "AREAL", "dIdOS",
-"HILAR", "CROCS", "OHHHH", "SECCO", "SHAdS", "CHOOS", "AREAL", "dIdOS", "COOCH",
-"CROCS", "OHHHH", "SECCO", "SHAdS", "CHOOS", "AREAL", "dIdOS", "COOCH", "CHILE",
-"OHHHH", "SECCO", "SHAdS", "CHOOS", "AREAL", "dIdOS", "COOCH", "CHILE", "OCHER",
-"SECCO", "SHAdS", "CHOOS", "AREAL", "dIdOS", "COOCH", "CHILE", "OCHER", "dOLCE",
-"SHAdS", "CHOOS", "AREAL", "dIdOS", "COOCH", "CHILE", "OCHER", "dOLCE", "SLOES",
-"CHOOS", "AREAL", "dIdOS", "COOCH", "CHILE", "OCHER", "dOLCE", "SLOES", "LAIRd",
-"AREAL", "dIdOS", "COOCH", "CHILE", "OCHER", "dOLCE", "SLOES", "LAIRd", "SHERd",
-"dIdOS", "COOCH", "CHILE", "OCHER", "dOLCE", "SLOES", "LAIRd", "SHERd", "CHARS",
-"COOCH", "CHILE", "OCHER", "dOLCE", "SLOES", "LAIRd", "SHERd", "CHARS", "HAdES",
-"CHILE", "OCHER", "dOLCE", "SLOES", "LAIRd", "SHERd", "CHARS", "HAdES", "HOARS",
-"OCHER", "dOLCE", "SLOES", "LAIRd", "SHERd", "CHARS", "HAdES", "HOARS", "dARER",
-"dOLCE", "SLOES", "LAIRd", "SHERd", "CHARS", "HAdES", "HOARS", "dARER", "ROIdS",
-"SLOES", "LAIRd", "SHERd", "CHARS", "HAdES", "HOARS", "dARER", "ROIdS", "ARRAS",
-"LAIRd", "SHERd", "CHARS", "HAdES", "HOARS", "dARER", "ROIdS", "ARRAS", "HALER",
-"SHERd", "CHARS", "HAdES", "HOARS", "dARER", "ROIdS", "ARRAS", "HALER", "AIRER",
-"CHARS", "HAdES", "HOARS", "dARER", "ROIdS", "ARRAS", "HALER", "AIRER", "CASAS",
-"HAdES", "HOARS", "dARER", "ROIdS", "ARRAS", "HALER", "AIRER", "CASAS", "CARER",
-"HOARS", "dARER", "ROIdS", "ARRAS", "HALER", "AIRER", "CASAS", "CARER", "OAREd",
-"dARER", "ROIdS", "ARRAS", "HALER", "AIRER", "CASAS", "CARER", "OAREd", "RILLE",
-"ROIdS", "ARRAS", "HALER", "AIRER", "CASAS", "CARER", "OAREd", "RILLE", "RICEd",
-"ARRAS", "HALER", "AIRER", "CASAS", "CARER", "OAREd", "RILLE", "RICEd", "LIRAS",
-"HALER", "AIRER", "CASAS", "CARER", "OAREd", "RILLE", "RICEd", "LIRAS", "AIdER",
-"AIRER", "CASAS", "CARER", "OAREd", "RILLE", "RICEd", "LIRAS", "AIdER", "ICHOR",
-"CASAS", "CARER", "OAREd", "RILLE", "RICEd", "LIRAS", "AIdER", "ICHOR", "LOCHS",
-"CARER", "OAREd", "RILLE", "RICEd", "LIRAS", "AIdER", "ICHOR", "LOCHS", "CALLA",
-"OAREd", "RILLE", "RICEd", "LIRAS", "AIdER", "ICHOR", "LOCHS", "CALLA", "COCAS",
-"RILLE", "RICEd", "LIRAS", "AIdER", "ICHOR", "LOCHS", "CALLA", "COCAS", "OILER",
-"RICEd", "LIRAS", "AIdER", "ICHOR", "LOCHS", "CALLA", "COCAS", "OILER", "ASSAI",
-"LIRAS", "AIdER", "ICHOR", "LOCHS", "CALLA", "COCAS", "OILER", "ASSAI", "LAdES",
-"AIdER", "ICHOR", "LOCHS", "CALLA", "COCAS", "OILER", "ASSAI", "LAdES", "SHIER",
-"ICHOR", "LOCHS", "CALLA", "COCAS", "OILER", "ASSAI", "LAdES", "SHIER", "dICER",
-"LOCHS", "CALLA", "COCAS", "OILER", "ASSAI", "LAdES", "SHIER", "dICER", "OLEOS",
-"CALLA", "COCAS", "OILER", "ASSAI", "LAdES", "SHIER", "dICER", "OLEOS", "SHOER",
-"COCAS", "OILER", "ASSAI", "LAdES", "SHIER", "dICER", "OLEOS", "SHOER", "HOdAd",
-"OILER", "ASSAI", "LAdES", "SHIER", "dICER", "OLEOS", "SHOER", "HOdAd", "IOdIC",
-"ASSAI", "LAdES", "SHIER", "dICER", "OLEOS", "SHOER", "HOdAd", "IOdIC", "LIERS",
-"LAdES", "SHIER", "dICER", "OLEOS", "SHOER", "HOdAd", "IOdIC", "LIERS", "AIOLI",
-"SHIER", "dICER", "OLEOS", "SHOER", "HOdAd", "IOdIC", "LIERS", "AIOLI", "HOERS",
-"dICER", "OLEOS", "SHOER", "HOdAd", "IOdIC", "LIERS", "AIOLI", "HOERS", "SLIER",
-"OLEOS", "SHOER", "HOdAd", "IOdIC", "LIERS", "AIOLI", "HOERS", "SLIER", "LASES",
-"SHOER", "HOdAd", "IOdIC", "LIERS", "AIOLI", "HOERS", "SLIER", "LASES", "RASAE",
-"HOdAd", "IOdIC", "LIERS", "AIOLI", "HOERS", "SLIER", "LASES", "RASAE", "SOCLE",
-"IOdIC", "LIERS", "AIOLI", "HOERS", "SLIER", "LASES", "RASAE", "SOCLE", "RICER",
-"LIERS", "AIOLI", "HOERS", "SLIER", "LASES", "RASAE", "SOCLE", "RICER", "HAddA",
-"AIOLI", "HOERS", "SLIER", "LASES", "RASAE", "SOCLE", "RICER", "HAddA", "RICES",
-"HOERS", "SLIER", "LASES", "RASAE", "SOCLE", "RICER", "HAddA", "RICES", "ROOdS",
-"SLIER", "LASES", "RASAE", "SOCLE", "RICER", "HAddA", "RICES", "ROOdS", "CEdER",
-"LASES", "RASAE", "SOCLE", "RICER", "HAddA", "RICES", "ROOdS", "CEdER", "CEILS",
-"RASAE", "SOCLE", "RICER", "HAddA", "RICES", "ROOdS", "CEdER", "CEILS", "LISLE",
-"SOCLE", "RICER", "HAddA", "RICES", "ROOdS", "CEdER", "CEILS", "LISLE", "OLIOS",
-"RICER", "HAddA", "RICES", "ROOdS", "CEdER", "CEILS", "LISLE", "OLIOS", "dOSER",
-"HAddA", "RICES", "ROOdS", "CEdER", "CEILS", "LISLE", "OLIOS", "dOSER", "dILdO",
-"RICES", "ROOdS", "CEdER", "CEILS", "LISLE", "OLIOS", "dOSER", "dILdO", "SELAH",
-"ROOdS", "CEdER", "CEILS", "LISLE", "OLIOS", "dOSER", "dILdO", "SELAH", "RIALS",
-"CEdER", "CEILS", "LISLE", "OLIOS", "dOSER", "dILdO", "SELAH", "RIALS", "ICERS",
-"CEILS", "LISLE", "OLIOS", "dOSER", "dILdO", "SELAH", "RIALS", "ICERS", "SHIRR",
-"LISLE", "OLIOS", "dOSER", "dILdO", "SELAH", "RIALS", "ICERS", "SHIRR", "LAdEd",
-"OLIOS", "dOSER", "dILdO", "SELAH", "RIALS", "ICERS", "SHIRR", "LAdEd", "LASEd",
-"dOSER", "dILdO", "SELAH", "RIALS", "ICERS", "SHIRR", "LAdEd", "LASEd", "HOLER",
-"SELAH", "RIALS", "ICERS", "SHIRR", "LAdEd", "LASEd", "HOLER", "LACER", "ARSES",
-"dILdO", "SELAH", "RIALS", "ICERS", "SHIRR", "LAdEd", "LASEd", "HOLER", "LACER",
-"RIALS", "ICERS", "SHIRR", "LAdEd", "LASEd", "HOLER", "LACER", "ARSES", "CIRRI",
-"ICERS", "SHIRR", "LAdEd", "LASEd", "HOLER", "LACER", "ARSES", "CIRRI", "dIRER",
-"SHIRR", "LAdEd", "LASEd", "HOLER", "LACER", "ARSES", "CIRRI", "dIRER", "ASSEd",
-"LAdEd", "LASEd", "HOLER", "LACER", "ARSES", "CIRRI", "dIRER", "ASSEd", "OSIER",
+    "PLACE", "SINCE", "PAPER", "LINES", "LEARN", "SPACE", "CLOSE", "CLASS", "PIECE",
+    "COLOR", "ALONE", "PLANE", "SPELL", "CLEAR", "AREAS", "SENSE", "OCEAN", "SCALE",
+    "CELLS", "SLEEP", "LOCAL", "CLEAN", "PEACE", "CROSS", "CASES", "CROPS", "PLAIN",
+    "PAIRS", "SCORE", "NOISE", "PIANO", "PLANS", "PRICE", "RAISE", "SCENE", "PRESS",
+    "APPLE", "CALLS", "POLES", "LOOSE", "OPERA", "INNER", "SOLAR", "RISES", "SALES",
+    "ACRES", "ERROR", "NAILS", "COINS", "SLOPE", "CANOE", "CANAL", "LIONS", "AROSE",
+    "RACES", "SPARE", "PIPES", "RAINS", "ROLLS", "SAILS", "ARISE", "ROPES", "CRIES",
+    "OPENS", "APRON", "SPEAR", "SLICE", "SPOON", "ROSES", "LINEN", "POLAR", "PEARL",
+    "LOSES", "CORAL", "SPOIL", "PANEL", "SELLS", "COOLS", "SOILS", "POOLS", "RISEN",
+    "PILES", "SLAIN", "PANIC", "CRISP", "RAILS", "SCOPE", "CONES", "COCOA", "REINS",
+    "NOSES", "SCARE", "CEASE", "PRIOR", "POLIO", "SEALS", "COALS", "LOANS", "SPINS",
+    "PAINS", "ONION", "SCRAP", "ROLES", "SNAIL", "LOOPS", "CREEP", "CARES", "ALIEN",
+    "CRANE", "SLIPS", "SPINE", "LEAPS", "PROSE", "SNARE", "PINES", "SCALP", "LEASE",
+    "COILS", "ARENA", "PEARS", "CLIPS", "LANES", "RESIN", "SONAR", "CORPS", "NIECE",
+    "CELLO", "REPEL", "SPICE", "OASIS", "PACES", "COLON", "CACAO", "RINSE", "SPOOL",
+    "SPILL", "SNAPS", "EERIE", "EARNS", "PERIL", "LINER", "SCARS", "SOLES", "PAILS",
+    "CAROL", "CANON", "POLLS", "NASAL", "SCORN", "OASES", "ASSES", "PILLS", "SPORE",
+    "SPIES", "ERASE", "AISLE", "LOINS", "LEANS", "LANCE", "PANES", "PORES", "POISE",
+    "IRONS", "ROARS", "SCOOP", "LASSO", "PRONE", "NICER", "SNARL", "CORES", "RIPEN",
+    "PEERS", "EASEL", "LACES", "SOAPS", "SNIPS", "PIERS", "LASER", "LILAC", "SIREN",
+    "CLASP", "POSSE", "POSES", "SLOOP", "SLAPS", "SOLOS", "SISAL", "SEEPS", "SPANS",
+    "CLAPS", "ACORN", "LOSER", "LAPSE", "ASPEN", "SNORE", "PROPS", "PESOS", "SONIC",
+    "SPARS", "SORES", "RELIC", "NOOSE", "NEARS", "CAPES", "CANES", "SPIRE", "ISLES",
+    "SNEER", "RARER", "NINES", "PECAN", "PENCE", "SILLS", "COPRA", "POPES", "SPREE",
+    "SCANS", "REELS", "LIARS", "LEPER", "SOARS", "PLEAS", "PALER", "EPICS", "CAPER",
+    "CONIC", "OPALS", "EASES", "ARSON", "CLANS", "PLIES", "CROON", "PREEN", "SEERS",
+    "COCCI", "SILOS", "SNIPE", "SANER", "RILLS", "CORNS", "PRIES", "LOONS", "EARLS",
+    "PEONS", "PALES", "LAIRS", "PEELS", "PEALS", "CRONE", "ENROL", "COOPS", "LAPEL",
+    "RASPS", "ASPIC", "PENIS", "INANE", "SLOPS", "COCOS", "LEERS", "LOPES", "ALIAS",
+    "RACER", "COPSE", "PALLS", "COPES", "ICONS", "REAPS", "SNOOP", "LORES", "REARS",
+    "COLIC", "PLOPS", "SIRES", "CARPS", "LISPS", "PEEPS", "SORER", "LOLLS", "PARES",
+    "ACNES", "NEONS", "NOONS", "PAPAS", "RIPER", "ELOPE", "CRESS", "NAPES", "ICIER",
+    "CILIA", "SEARS", "SARIS", "PAPAL", "ROSIN", "CREPE", "RISER", "PACER", "SALON",
+    "CRIER", "LOESS", "PIPER", "COONS", "SEINE", "IONIC", "SCRIP", "PENAL", "ALOES",
+    "APACE", "SIREE", "ROPER", "ANION", "LONER", "CIRCA", "CARNE", "ANISE", "SPECS",
+    "ANNAS", "PICAS", "REALS", "AERIE", "ORLON", "CRASS", "SPIEL", "LAPIS", "ARIAS",
+    "PAEAN", "SINES", "SCION", "RAPES", "SCARP", "SEPIA", "POSER", "LIENS", "RILES",
+    "APSES", "NONCE", "ANOLE", "RECAP", "CARON", "PORNO", "CREEL", "CAPOS", "OPINE",
+    "NISEI", "RERAN", "NARCO", "CLOPS", "ESSES", "SCONE", "SALSA", "ROANS", "RAPER",
+    "CORER", "COLAS", "CAIRN", "CRAPS", "CLONE", "NOELS", "ORCAS", "PARSE", "EPEES",
+    "LANAI", "SEPAL", "CAPON", "PREPS", "NARCS", "REPRO", "ORALS", "ROILS", "ILIAC",
+    "CILLS", "LOCOS", "RENAL", "CROCS", "PARAS", "SECCO", "PIONS", "PARER", "PLEIN",
+    "AREAL", "SOLON", "PSOAS", "SCOPS", "SLOES", "NOIRE", "POLIS", "PASSE", "NONES",
+    "SARAN", "POLOS", "APERS", "ARRAS", "PRISE", "SPIER", "AIRER", "APIAN", "CASAS",
+    "CARER", "POOPS", "SPINA", "PENES", "RILLE", "CANER", "LIRAS", "PRIER", "LOPER",
+    "CALLA", "PONES", "COCAS", "OILER", "ASSAI", "LAPIN", "ASANA", "OLEOS", "LIERS",
+    "ANILE", "PLENA", "AIOLI", "SLIER", "CANNA", "PEASE", "LASES", "RASAE", "PAREN",
+    "SOCLE", "RICER", "RICES", "ELANS", "CEILS", "LISLE", "OLIOS", "APSOS", "RIALS",
+    "ICERS", "COPER", "PEENS", "POLER", "LACER", "ARSES", "SPOOR", "CIRRI", "APNEA",
+    "NARES", "OSIER",
 };
 
 static const uint32_t _num_words = (sizeof(_legal_words) / sizeof(_legal_words[0]));
@@ -478,10 +120,13 @@ static uint32_t get_random(uint32_t max) {
     #endif
 }
 
-static void display_letter(wordle_state_t *state) {
+static void display_letter(wordle_state_t *state, bool display_dash) {
     char buf[1 + 1];
     if (state->word_elements[state->position] >= _num_valid_letters) {
-        watch_display_string("-", state->position + 5);
+        if (display_dash)
+            watch_display_string("-", state->position + 5);
+        else
+            watch_display_string(" ", state->position + 5);
         return;
     }
     sprintf(buf, "%c", _valid_letters[state->word_elements[state->position]]);
@@ -492,7 +137,7 @@ static void display_all_letters(wordle_state_t *state) {
     uint8_t prev_pos = state->position;
     for (size_t i = 0; i < WORDLE_LENGTH; i++) {
         state->position = i;
-        display_letter(state);
+        display_letter(state, false);
     }
     state->position = prev_pos;
 }
@@ -512,8 +157,8 @@ static bool check_word(wordle_state_t *state) {
     
     // Wrong Location
      for (size_t i = 0; i < WORDLE_LENGTH; i++) {
-        if (state->word_elements_result[i] != WORDLE_LETTER_WRONG) continue;
         for (size_t j = 0; j < WORDLE_LENGTH; j++) {
+            if (state->word_elements_result[j] != WORDLE_LETTER_WRONG) continue;
             if (_valid_letters[state->word_elements[i]] == _legal_words[state->curr_answer][j]) {
                 printf("me: %c them: %c\r\n", _valid_letters[state->word_elements[i]], _legal_words[state->curr_answer][j]);
                 state->word_elements_result[j] = WORDLE_LETTER_WRONG_LOC;
@@ -550,12 +195,18 @@ static void reset_board(wordle_state_t *state) {
     watch_display_string(" ", 4);
     display_attempt(state->attempt);
     display_all_letters(state);
+    watch_display_string("-", 5);
     printf("rand: %s\r\n", _legal_words[state->curr_answer]);
 }
 
 static void display_title(wordle_state_t *state) {
-    char buf[11];
     state->curr_screen = SCREEN_TITLE;
+    watch_display_string("WO  WORDLE", 0);
+}
+
+static void display_streak(wordle_state_t *state) {
+    char buf[12];
+    state->curr_screen = SCREEN_STREAK;
     printf("streak %d \r\n", state->streak);
     sprintf(buf, "WO  St%2ddy", state->streak);
     watch_display_string(buf, 0);
@@ -563,13 +214,14 @@ static void display_title(wordle_state_t *state) {
 }
 
 static void display_lose(wordle_state_t *state, uint8_t subsecond) {
-    char buf[WORDLE_LENGTH + 5];
+    char buf[WORDLE_LENGTH + 6];
     sprintf(buf," L   %s", subsecond % 2 ? _legal_words[state->curr_answer] : "     ");
     watch_display_string(buf, 0);
 }
 
 static void display_win(wordle_state_t *state, uint8_t subsecond) {
-    char buf[11];
+    (void) state;
+    char buf[13];
     sprintf(buf," W   %s  ", subsecond % 2 ? "NICE" : "JOb ");
     watch_display_string(buf, 0);
 }
@@ -625,7 +277,9 @@ static void display_result(wordle_state_t *state, uint8_t subsecond) {
 }
 
 static bool act_on_btn(wordle_state_t *state) {
-    if (state->curr_screen == SCREEN_RESULT) {
+    switch (state->curr_screen)
+    {
+    case SCREEN_RESULT:
         for (size_t i = 0; i < WORDLE_LENGTH; i++) {
             if (state->word_elements_result[i] != WORDLE_LETTER_CORRECT)
                 state->word_elements[i] = _num_valid_letters;
@@ -635,14 +289,18 @@ static bool act_on_btn(wordle_state_t *state) {
         state->position = get_first_pos(state->word_elements_result);
         state->curr_screen = SCREEN_PLAYING;
         return true;
-    }
-    if (state->curr_screen == SCREEN_TITLE) {
+    case SCREEN_TITLE:
+        display_streak(state);
+        return true;
+    case SCREEN_STREAK:
         reset_board(state);
         return true;
-    }
-    if (state->curr_screen >= SCREEN_WIN) {
+    case SCREEN_WIN:
+    case SCREEN_LOSE:
         display_title(state);
-        return true; 
+        return true;   
+    default:
+        return false;
     }
     return false;
 }
@@ -681,7 +339,7 @@ bool wordle_face_loop(movement_event_t event, movement_settings_t *settings, voi
             {
             case SCREEN_PLAYING:
                 if (event.subsecond % 2) {
-                    display_letter(state);
+                    display_letter(state, true);
                 } else {
                     watch_display_string(" ", state->position + 5);
                 }
@@ -703,16 +361,16 @@ bool wordle_face_loop(movement_event_t event, movement_settings_t *settings, voi
             if (act_on_btn(state)) break;
             if (state->word_elements[state->position] >= _num_valid_letters) state->word_elements[state->position] = 0;
             else state->word_elements[state->position] = (state->word_elements[state->position] + 1) % _num_valid_letters;
-            display_letter(state);
+            display_letter(state, true);
             break;
         case EVENT_LIGHT_LONG_PRESS:
             if (state->word_elements[state->position] >= _num_valid_letters) state->word_elements[state->position] = _num_valid_letters - 1;
             else state->word_elements[state->position] = (state->word_elements[state->position] + _num_valid_letters - 1) % _num_valid_letters;
-            display_letter(state);
+            display_letter(state, true);
             break; 
         case EVENT_ALARM_BUTTON_UP:
             if (act_on_btn(state)) break;
-            display_letter(state);
+            display_letter(state, true);
             if (state->word_elements[state->position] == _num_valid_letters) break;
             state->position = get_next_pos(state->position, state->word_elements_result);
             if(WORDLE_LENGTH == (state->position)) {
@@ -722,7 +380,7 @@ bool wordle_face_loop(movement_event_t event, movement_settings_t *settings, voi
                     state->streak++;
                     break;
                 }
-                if (state->attempt++ > WORDLE_MAX_ATTEMPTS) {
+                if (state->attempt++ >= WORDLE_MAX_ATTEMPTS) {
                     state->curr_screen = SCREEN_LOSE;
                     state->streak = 0;
                     break;
@@ -732,7 +390,7 @@ bool wordle_face_loop(movement_event_t event, movement_settings_t *settings, voi
             }
             break;
         case EVENT_ALARM_LONG_PRESS:
-            display_letter(state);
+            display_letter(state, true);
             state->position = get_prev_pos(state->position, state->word_elements_result);
             break;
         case EVENT_LIGHT_BUTTON_DOWN:
index 542a01b4aabd20f76cf8c1f2ac660fb3b6c3e660..b8e5d0f5bc22185727d7b858ba6c910c3d8ae116 100644 (file)
@@ -49,6 +49,7 @@ typedef enum {
     SCREEN_PLAYING = 0,
     SCREEN_RESULT,
     SCREEN_TITLE,
+    SCREEN_STREAK,
     SCREEN_WIN,
     SCREEN_LOSE,
     SCREEN_COUNT
diff --git a/utils/wordle_list.py b/utils/wordle_list.py
new file mode 100644 (file)
index 0000000..30da4bd
--- /dev/null
@@ -0,0 +1,697 @@
+# From: https://github.com/charlesreid1/five-letter-words/blob/master/sgb-words.txt\r
+words = [\r
+    "WHICH", "THERE", "THEIR", "ABOUT", "WOULD", "THESE", "OTHER", "WORDS", "COULD", \r
+    "WRITE", "FIRST", "WATER", "AFTER", "WHERE", "RIGHT", "THINK", "THREE", "YEARS", \r
+    "PLACE", "SOUND", "GREAT", "AGAIN", "STILL", "EVERY", "SMALL", "FOUND", "THOSE", \r
+    "NEVER", "UNDER", "MIGHT", "WHILE", "HOUSE", "WORLD", "BELOW", "ASKED", "GOING", \r
+    "LARGE", "UNTIL", "ALONG", "SHALL", "BEING", "OFTEN", "EARTH", "BEGAN", "SINCE", \r
+    "STUDY", "NIGHT", "LIGHT", "ABOVE", "PAPER", "PARTS", "YOUNG", "STORY", "POINT", \r
+    "TIMES", "HEARD", "WHOLE", "WHITE", "GIVEN", "MEANS", "MUSIC", "MILES", "THING", \r
+    "TODAY", "LATER", "USING", "MONEY", "LINES", "ORDER", "GROUP", "AMONG", "LEARN", \r
+    "KNOWN", "SPACE", "TABLE", "EARLY", "TREES", "SHORT", "HANDS", "STATE", "BLACK", \r
+    "SHOWN", "STOOD", "FRONT", "VOICE", "KINDS", "MAKES", "COMES", "CLOSE", "POWER", \r
+    "LIVED", "VOWEL", "TAKEN", "BUILT", "HEART", "READY", "QUITE", "CLASS", "BRING", \r
+    "ROUND", "HORSE", "SHOWS", "PIECE", "GREEN", "STAND", "BIRDS", "START", "RIVER", \r
+    "TRIED", "LEAST", "FIELD", "WHOSE", "GIRLS", "LEAVE", "ADDED", "COLOR", "THIRD", \r
+    "HOURS", "MOVED", "PLANT", "DOING", "NAMES", "FORMS", "HEAVY", "IDEAS", "CRIED", \r
+    "CHECK", "FLOOR", "BEGIN", "WOMAN", "ALONE", "PLANE", "SPELL", "WATCH", "CARRY", \r
+    "WROTE", "CLEAR", "NAMED", "BOOKS", "CHILD", "GLASS", "HUMAN", "TAKES", "PARTY", \r
+    "BUILD", "SEEMS", "BLOOD", "SIDES", "SEVEN", "MOUTH", "SOLVE", "NORTH", "VALUE",\r
+    "DEATH", "MAYBE", "HAPPY", "TELLS", "GIVES", "LOOKS", "SHAPE", "LIVES", "STEPS",\r
+    "AREAS", "SENSE", "SPEAK", "FORCE", "OCEAN", "SPEED", "WOMEN", "METAL", "SOUTH",\r
+    "GRASS", "SCALE", "CELLS", "LOWER", "SLEEP", "WRONG", "PAGES", "SHIPS", "NEEDS",\r
+    "ROCKS", "EIGHT", "MAJOR", "LEVEL", "TOTAL", "AHEAD", "REACH", "STARS", "STORE",\r
+    "SIGHT", "TERMS", "CATCH", "WORKS", "BOARD", "COVER", "SONGS", "EQUAL", "STONE",\r
+    "WAVES", "GUESS", "DANCE", "SPOKE", "BREAK", "CAUSE", "RADIO", "WEEKS", "LANDS",\r
+    "BASIC", "LIKED", "TRADE", "FRESH", "FINAL", "FIGHT", "MEANT", "DRIVE", "SPENT",\r
+    "LOCAL", "WAXES", "KNOWS", "TRAIN", "BREAD", "HOMES", "TEETH", "COAST", "THICK",\r
+    "BROWN", "CLEAN", "QUIET", "SUGAR", "FACTS", "STEEL", "FORTH", "RULES", "NOTES",\r
+    "UNITS", "PEACE", "MONTH", "VERBS", "SEEDS", "HELPS", "SHARP", "VISIT", "WOODS",\r
+    "CHIEF", "WALLS", "CROSS", "WINGS", "GROWN", "CASES", "FOODS", "CROPS", "FRUIT",\r
+    "STICK", "WANTS", "STAGE", "SHEEP", "NOUNS", "PLAIN", "DRINK", "BONES", "APART",\r
+    "TURNS", "MOVES", "TOUCH", "ANGLE", "BASED", "RANGE", "MARKS", "TIRED", "OLDER",\r
+    "FARMS", "SPEND", "SHOES", "GOODS", "CHAIR", "TWICE", "CENTS", "EMPTY", "ALIKE",\r
+    "STYLE", "BROKE", "PAIRS", "COUNT", "ENJOY", "SCORE", "SHORE", "ROOTS", "PAINT",\r
+    "HEADS", "SHOOK", "SERVE", "ANGRY", "CROWD", "WHEEL", "QUICK", "DRESS", "SHARE",\r
+    "ALIVE", "NOISE", "SOLID", "CLOTH", "SIGNS", "HILLS", "TYPES", "DRAWN", "WORTH",\r
+    "TRUCK", "PIANO", "UPPER", "LOVED", "USUAL", "FACES", "DROVE", "CABIN", "BOATS",\r
+    "TOWNS", "PROUD", "COURT", "MODEL", "PRIME", "FIFTY", "PLANS", "YARDS", "PROVE",\r
+    "TOOLS", "PRICE", "SHEET", "SMELL", "BOXES", "RAISE", "MATCH", "TRUTH", "ROADS",\r
+    "THREW", "ENEMY", "LUNCH", "CHART", "SCENE", "GRAPH", "DOUBT", "GUIDE", "WINDS",\r
+    "BLOCK", "GRAIN", "SMOKE", "MIXED", "GAMES", "WAGON", "SWEET", "TOPIC", "EXTRA",\r
+    "PLATE", "TITLE", "KNIFE", "FENCE", "FALLS", "CLOUD", "WHEAT", "PLAYS", "ENTER",\r
+    "BROAD", "STEAM", "ATOMS", "PRESS", "LYING", "BASIS", "CLOCK", "TASTE", "GROWS",\r
+    "THANK", "STORM", "AGREE", "BRAIN", "TRACK", "SMILE", "FUNNY", "BEACH", "STOCK",\r
+    "HURRY", "SAVED", "SORRY", "GIANT", "TRAIL", "OFFER", "OUGHT", "ROUGH", "DAILY",\r
+    "AVOID", "KEEPS", "THROW", "ALLOW", "CREAM", "LAUGH", "EDGES", "TEACH", "FRAME",\r
+    "BELLS", "DREAM", "MAGIC", "OCCUR", "ENDED", "CHORD", "FALSE", "SKILL", "HOLES",\r
+    "DOZEN", "BRAVE", "APPLE", "CLIMB", "OUTER", "PITCH", "RULER", "HOLDS", "FIXED",\r
+    "COSTS", "CALLS", "BLANK", "STAFF", "LABOR", "EATEN", "YOUTH", "TONES", "HONOR",\r
+    "GLOBE", "GASES", "DOORS", "POLES", "LOOSE", "APPLY", "TEARS", "EXACT", "BRUSH",\r
+    "CHEST", "LAYER", "WHALE", "MINOR", "FAITH", "TESTS", "JUDGE", "ITEMS", "WORRY",\r
+    "WASTE", "HOPED", "STRIP", "BEGUN", "ASIDE", "LAKES", "BOUND", "DEPTH", "CANDY",\r
+    "EVENT", "WORSE", "AWARE", "SHELL", "ROOMS", "RANCH", "IMAGE", "SNAKE", "ALOUD",\r
+    "DRIED", "LIKES", "MOTOR", "POUND", "KNEES", "REFER", "FULLY", "CHAIN", "SHIRT",\r
+    "FLOUR", "DROPS", "SPITE", "ORBIT", "BANKS", "SHOOT", "CURVE", "TRIBE", "TIGHT",\r
+    "BLIND", "SLEPT", "SHADE", "CLAIM", "FLIES", "THEME", "QUEEN", "FIFTH", "UNION",\r
+    "HENCE", "STRAW", "ENTRY", "ISSUE", "BIRTH", "FEELS", "ANGER", "BRIEF", "RHYME",\r
+    "GLORY", "GUARD", "FLOWS", "FLESH", "OWNED", "TRICK", "YOURS", "SIZES", "NOTED",\r
+    "WIDTH", "BURST", "ROUTE", "LUNGS", "UNCLE", "BEARS", "ROYAL", "KINGS", "FORTY",\r
+    "TRIAL", "CARDS", "BRASS", "OPERA", "CHOSE", "OWNER", "VAPOR", "BEATS", "MOUSE",\r
+    "TOUGH", "WIRES", "METER", "TOWER", "FINDS", "INNER", "STUCK", "ARROW", "POEMS",\r
+    "LABEL", "SWING", "SOLAR", "TRULY", "TENSE", "BEANS", "SPLIT", "RISES", "WEIGH",\r
+    "HOTEL", "STEMS", "PRIDE", "SWUNG", "GRADE", "DIGIT", "BADLY", "BOOTS", "PILOT",\r
+    "SALES", "SWEPT", "LUCKY", "PRIZE", "STOVE", "TUBES", "ACRES", "WOUND", "STEEP",\r
+    "SLIDE", "TRUNK", "ERROR", "PORCH", "SLAVE", "EXIST", "FACED", "MINES", "MARRY",\r
+    "JUICE", "RACED", "WAVED", "GOOSE", "TRUST", "FEWER", "FAVOR", "MILLS", "VIEWS",\r
+    "JOINT", "EAGER", "SPOTS", "BLEND", "RINGS", "ADULT", "INDEX", "NAILS", "HORNS",\r
+    "BALLS", "FLAME", "RATES", "DRILL", "TRACE", "SKINS", "WAXED", "SEATS", "STUFF",\r
+    "RATIO", "MINDS", "DIRTY", "SILLY", "COINS", "HELLO", "TRIPS", "LEADS", "RIFLE",\r
+    "HOPES", "BASES", "SHINE", "BENCH", "MORAL", "FIRES", "MEALS", "SHAKE", "SHOPS",\r
+    "CYCLE", "MOVIE", "SLOPE", "CANOE", "TEAMS", "FOLKS", "FIRED", "BANDS", "THUMB",\r
+    "SHOUT", "CANAL", "HABIT", "REPLY", "RULED", "FEVER", "CRUST", "SHELF", "WALKS",\r
+    "MIDST", "CRACK", "PRINT", "TALES", "COACH", "STIFF", "FLOOD", "VERSE", "AWAKE",\r
+    "ROCKY", "MARCH", "FAULT", "SWIFT", "FAINT", "CIVIL", "GHOST", "FEAST", "BLADE",\r
+    "LIMIT", "GERMS", "READS", "DUCKS", "DAIRY", "WORST", "GIFTS", "LISTS", "STOPS",\r
+    "RAPID", "BRICK", "CLAWS", "BEADS", "BEAST", "SKIRT", "CAKES", "LIONS", "FROGS",\r
+    "TRIES", "NERVE", "GRAND", "ARMED", "TREAT", "HONEY", "MOIST", "LEGAL", "PENNY",\r
+    "CROWN", "SHOCK", "TAXES", "SIXTY", "ALTAR", "PULLS", "SPORT", "DRUMS", "TALKS",\r
+    "DYING", "DATES", "DRANK", "BLOWS", "LEVER", "WAGES", "PROOF", "DRUGS", "TANKS",\r
+    "SINGS", "TAILS", "PAUSE", "HERDS", "AROSE", "HATED", "CLUES", "NOVEL", "SHAME",\r
+    "BURNT", "RACES", "FLASH", "WEARY", "HEELS", "TOKEN", "COATS", "SPARE", "SHINY",\r
+    "ALARM", "DIMES", "SIXTH", "CLERK", "MERCY", "SUNNY", "GUEST", "FLOAT", "SHONE",\r
+    "PIPES", "WORMS", "BILLS", "SWEAT", "SUITS", "SMART", "UPSET", "RAINS", "SANDY",\r
+    "RAINY", "PARKS", "SADLY", "FANCY", "RIDER", "UNITY", "BUNCH", "ROLLS", "CRASH",\r
+    "CRAFT", "NEWLY", "GATES", "HATCH", "PATHS", "FUNDS", "WIDER", "GRACE", "GRAVE",\r
+    "TIDES", "ADMIT", "SHIFT", "SAILS", "PUPIL", "TIGER", "ANGEL", "CRUEL", "AGENT",\r
+    "DRAMA", "URGED", "PATCH", "NESTS", "VITAL", "SWORD", "BLAME", "WEEDS", "SCREW",\r
+    "VOCAL", "BACON", "CHALK", "CARGO", "CRAZY", "ACTED", "GOATS", "ARISE", "WITCH",\r
+    "LOVES", "QUEER", "DWELL", "BACKS", "ROPES", "SHOTS", "MERRY", "PHONE", "CHEEK",\r
+    "PEAKS", "IDEAL", "BEARD", "EAGLE", "CREEK", "CRIES", "ASHES", "STALL", "YIELD",\r
+    "MAYOR", "OPENS", "INPUT", "FLEET", "TOOTH", "CUBIC", "WIVES", "BURNS", "POETS",\r
+    "APRON", "SPEAR", "ORGAN", "CLIFF", "STAMP", "PASTE", "RURAL", "BAKED", "CHASE",\r
+    "SLICE", "SLANT", "KNOCK", "NOISY", "SORTS", "STAYS", "WIPED", "BLOWN", "PILED",\r
+    "CLUBS", "CHEER", "WIDOW", "TWIST", "TENTH", "HIDES", "COMMA", "SWEEP", "SPOON",\r
+    "STERN", "CREPT", "MAPLE", "DEEDS", "RIDES", "MUDDY", "CRIME", "JELLY", "RIDGE",\r
+    "DRIFT", "DUSTY", "DEVIL", "TEMPO", "HUMOR", "SENDS", "STEAL", "TENTS", "WAIST",\r
+    "ROSES", "REIGN", "NOBLE", "CHEAP", "DENSE", "LINEN", "GEESE", "WOVEN", "POSTS",\r
+    "HIRED", "WRATH", "SALAD", "BOWED", "TIRES", "SHARK", "BELTS", "GRASP", "BLAST",\r
+    "POLAR", "FUNGI", "TENDS", "PEARL", "LOADS", "JOKES", "VEINS", "FROST", "HEARS",\r
+    "LOSES", "HOSTS", "DIVER", "PHASE", "TOADS", "ALERT", "TASKS", "SEAMS", "CORAL",\r
+    "FOCUS", "NAKED", "PUPPY", "JUMPS", "SPOIL", "QUART", "MACRO", "FEARS", "FLUNG",\r
+    "SPARK", "VIVID", "BROOK", "STEER", "SPRAY", "DECAY", "PORTS", "SOCKS", "URBAN",\r
+    "GOALS", "GRANT", "MINUS", "FILMS", "TUNES", "SHAFT", "FIRMS", "SKIES", "BRIDE",\r
+    "WRECK", "FLOCK", "STARE", "HOBBY", "BONDS", "DARED", "FADED", "THIEF", "CRUDE",\r
+    "PANTS", "FLUTE", "VOTES", "TONAL", "RADAR", "WELLS", "SKULL", "HAIRS", "ARGUE",\r
+    "WEARS", "DOLLS", "VOTED", "CAVES", "CARED", "BROOM", "SCENT", "PANEL", "FAIRY",\r
+    "OLIVE", "BENDS", "PRISM", "LAMPS", "CABLE", "PEACH", "RUINS", "RALLY", "SCHWA",\r
+    "LAMBS", "SELLS", "COOLS", "DRAFT", "CHARM", "LIMBS", "BRAKE", "GAZED", "CUBES",\r
+    "DELAY", "BEAMS", "FETCH", "RANKS", "ARRAY", "HARSH", "CAMEL", "VINES", "PICKS",\r
+    "NAVAL", "PURSE", "RIGID", "CRAWL", "TOAST", "SOILS", "SAUCE", "BASIN", "PONDS",\r
+    "TWINS", "WRIST", "FLUID", "POOLS", "BRAND", "STALK", "ROBOT", "REEDS", "HOOFS",\r
+    "BUSES", "SHEER", "GRIEF", "BLOOM", "DWELT", "MELTS", "RISEN", "FLAGS", "KNELT",\r
+    "FIBER", "ROOFS", "FREED", "ARMOR", "PILES", "AIMED", "ALGAE", "TWIGS", "LEMON",\r
+    "DITCH", "DRUNK", "RESTS", "CHILL", "SLAIN", "PANIC", "CORDS", "TUNED", "CRISP",\r
+    "LEDGE", "DIVED", "SWAMP", "CLUNG", "STOLE", "MOLDS", "YARNS", "LIVER", "GAUGE",\r
+    "BREED", "STOOL", "GULLS", "AWOKE", "GROSS", "DIARY", "RAILS", "BELLY", "TREND",\r
+    "FLASK", "STAKE", "FRIED", "DRAWS", "ACTOR", "HANDY", "BOWLS", "HASTE", "SCOPE",\r
+    "DEALS", "KNOTS", "MOONS", "ESSAY", "THUMP", "HANGS", "BLISS", "DEALT", "GAINS",\r
+    "BOMBS", "CLOWN", "PALMS", "CONES", "ROAST", "TIDAL", "BORED", "CHANT", "ACIDS",\r
+    "DOUGH", "CAMPS", "SWORE", "LOVER", "HOOKS", "MALES", "COCOA", "PUNCH", "AWARD",\r
+    "REINS", "NINTH", "NOSES", "LINKS", "DRAIN", "FILLS", "NYLON", "LUNAR", "PULSE",\r
+    "FLOWN", "ELBOW", "FATAL", "SITES", "MOTHS", "MEATS", "FOXES", "MINED", "ATTIC",\r
+    "FIERY", "MOUNT", "USAGE", "SWEAR", "SNOWY", "RUSTY", "SCARE", "TRAPS", "RELAX",\r
+    "REACT", "VALID", "ROBIN", "CEASE", "GILLS", "PRIOR", "SAFER", "POLIO", "LOYAL",\r
+    "SWELL", "SALTY", "MARSH", "VAGUE", "WEAVE", "MOUND", "SEALS", "MULES", "VIRUS",\r
+    "SCOUT", "ACUTE", "WINDY", "STOUT", "FOLDS", "SEIZE", "HILLY", "JOINS", "PLUCK",\r
+    "STACK", "LORDS", "DUNES", "BURRO", "HAWKS", "TROUT", "FEEDS", "SCARF", "HALLS",\r
+    "COALS", "TOWEL", "SOULS", "ELECT", "BUGGY", "PUMPS", "LOANS", "SPINS", "FILES",\r
+    "OXIDE", "PAINS", "PHOTO", "RIVAL", "FLATS", "SYRUP", "RODEO", "SANDS", "MOOSE",\r
+    "PINTS", "CURLY", "COMIC", "CLOAK", "ONION", "CLAMS", "SCRAP", "DIDST", "COUCH",\r
+    "CODES", "FAILS", "OUNCE", "LODGE", "GREET", "GYPSY", "UTTER", "PAVED", "ZONES",\r
+    "FOURS", "ALLEY", "TILES", "BLESS", "CREST", "ELDER", "KILLS", "YEAST", "ERECT",\r
+    "BUGLE", "MEDAL", "ROLES", "HOUND", "SNAIL", "ALTER", "ANKLE", "RELAY", "LOOPS",\r
+    "ZEROS", "BITES", "MODES", "DEBTS", "REALM", "GLOVE", "RAYON", "SWIMS", "POKED",\r
+    "STRAY", "LIFTS", "MAKER", "LUMPS", "GRAZE", "DREAD", "BARNS", "DOCKS", "MASTS",\r
+    "POURS", "WHARF", "CURSE", "PLUMP", "ROBES", "SEEKS", "CEDAR", "CURLS", "JOLLY",\r
+    "MYTHS", "CAGES", "GLOOM", "LOCKS", "PEDAL", "BEETS", "CROWS", "ANODE", "SLASH",\r
+    "CREEP", "ROWED", "CHIPS", "FISTS", "WINES", "CARES", "VALVE", "NEWER", "MOTEL",\r
+    "IVORY", "NECKS", "CLAMP", "BARGE", "BLUES", "ALIEN", "FROWN", "STRAP", "CREWS",\r
+    "SHACK", "GONNA", "SAVES", "STUMP", "FERRY", "IDOLS", "COOKS", "JUICY", "GLARE",\r
+    "CARTS", "ALLOY", "BULBS", "LAWNS", "LASTS", "FUELS", "ODDLY", "CRANE", "FILED",\r
+    "WEIRD", "SHAWL", "SLIPS", "TROOP", "BOLTS", "SUITE", "SLEEK", "QUILT", "TRAMP",\r
+    "BLAZE", "ATLAS", "ODORS", "SCRUB", "CRABS", "PROBE", "LOGIC", "ADOBE", "EXILE",\r
+    "REBEL", "GRIND", "STING", "SPINE", "CLING", "DESKS", "GROVE", "LEAPS", "PROSE",\r
+    "LOFTY", "AGONY", "SNARE", "TUSKS", "BULLS", "MOODS", "HUMID", "FINER", "DIMLY",\r
+    "PLANK", "CHINA", "PINES", "GUILT", "SACKS", "BRACE", "QUOTE", "LATHE", "GAILY",\r
+    "FONTS", "SCALP", "ADOPT", "FOGGY", "FERNS", "GRAMS", "CLUMP", "PERCH", "TUMOR",\r
+    "TEENS", "CRANK", "FABLE", "HEDGE", "GENES", "SOBER", "BOAST", "TRACT", "CIGAR",\r
+    "UNITE", "OWING", "THIGH", "HAIKU", "SWISH", "DIKES", "WEDGE", "BOOTH", "EASED",\r
+    "FRAIL", "COUGH", "TOMBS", "DARTS", "FORTS", "CHOIR", "POUCH", "PINCH", "HAIRY",\r
+    "BUYER", "TORCH", "VIGOR", "WALTZ", "HEATS", "HERBS", "USERS", "FLINT", "CLICK",\r
+    "MADAM", "BLEAK", "BLUNT", "AIDED", "LACKS", "MASKS", "WADED", "RISKS", "NURSE",\r
+    "CHAOS", "SEWED", "CURED", "AMPLE", "LEASE", "STEAK", "SINKS", "MERIT", "BLUFF",\r
+    "BATHE", "GLEAM", "BONUS", "COLTS", "SHEAR", "GLAND", "SILKY", "SKATE", "BIRCH",\r
+    "ANVIL", "SLEDS", "GROAN", "MAIDS", "MEETS", "SPECK", "HYMNS", "HINTS", "DROWN",\r
+    "BOSOM", "SLICK", "QUEST", "COILS", "SPIED", "SNOWS", "STEAD", "SNACK", "PLOWS",\r
+    "BLOND", "TAMED", "THORN", "WAITS", "GLUED", "BANJO", "TEASE", "ARENA", "BULKY",\r
+    "CARVE", "STUNT", "WARMS", "SHADY", "RAZOR", "FOLLY", "LEAFY", "NOTCH", "FOOLS",\r
+    "OTTER", "PEARS", "FLUSH", "GENUS", "ACHED", "FIVES", "FLAPS", "SPOUT", "SMOTE",\r
+    "FUMES", "ADAPT", "CUFFS", "TASTY", "STOOP", "CLIPS", "DISKS", "SNIFF", "LANES",\r
+    "BRISK", "IMPLY", "DEMON", "SUPER", "FURRY", "RAGED", "GROWL", "TEXTS", "HARDY",\r
+    "STUNG", "TYPED", "HATES", "WISER", "TIMID", "SERUM", "BEAKS", "ROTOR", "CASTS",\r
+    "BATHS", "GLIDE", "PLOTS", "TRAIT", "RESIN", "SLUMS", "LYRIC", "PUFFS", "DECKS",\r
+    "BROOD", "MOURN", "ALOFT", "ABUSE", "WHIRL", "EDGED", "OVARY", "QUACK", "HEAPS",\r
+    "SLANG", "AWAIT", "CIVIC", "SAINT", "BEVEL", "SONAR", "AUNTS", "PACKS", "FROZE",\r
+    "TONIC", "CORPS", "SWARM", "FRANK", "REPAY", "GAUNT", "WIRED", "NIECE", "CELLO",\r
+    "NEEDY", "CHUCK", "STONY", "MEDIA", "SURGE", "HURTS", "REPEL", "HUSKY", "DATED",\r
+    "HUNTS", "MISTS", "EXERT", "DRIES", "MATES", "SWORN", "BAKER", "SPICE", "OASIS",\r
+    "BOILS", "SPURS", "DOVES", "SNEAK", "PACES", "COLON", "SIEGE", "STRUM", "DRIER",\r
+    "CACAO", "HUMUS", "BALES", "PIPED", "NASTY", "RINSE", "BOXER", "SHRUB", "AMUSE",\r
+    "TACKS", "CITED", "SLUNG", "DELTA", "LADEN", "LARVA", "RENTS", "YELLS", "SPOOL",\r
+    "SPILL", "CRUSH", "JEWEL", "SNAPS", "STAIN", "KICKS", "TYING", "SLITS", "RATED",\r
+    "EERIE", "SMASH", "PLUMS", "ZEBRA", "EARNS", "BUSHY", "SCARY", "SQUAD", "TUTOR",\r
+    "SILKS", "SLABS", "BUMPS", "EVILS", "FANGS", "SNOUT", "PERIL", "PIVOT", "YACHT",\r
+    "LOBBY", "JEANS", "GRINS", "VIOLA", "LINER", "COMET", "SCARS", "CHOPS", "RAIDS",\r
+    "EATER", "SLATE", "SKIPS", "SOLES", "MISTY", "URINE", "KNOBS", "SLEET", "HOLLY",\r
+    "PESTS", "FORKS", "GRILL", "TRAYS", "PAILS", "BORNE", "TENOR", "WARES", "CAROL",\r
+    "WOODY", "CANON", "WAKES", "KITTY", "MINER", "POLLS", "SHAKY", "NASAL", "SCORN",\r
+    "CHESS", "TAXIS", "CRATE", "SHYLY", "TULIP", "FORGE", "NYMPH", "BUDGE", "LOWLY",\r
+    "ABIDE", "DEPOT", "OASES", "ASSES", "SHEDS", "FUDGE", "PILLS", "RIVET", "THINE",\r
+    "GROOM", "LANKY", "BOOST", "BROTH", "HEAVE", "GRAVY", "BEECH", "TIMED", "QUAIL",\r
+    "INERT", "GEARS", "CHICK", "HINGE", "TRASH", "CLASH", "SIGHS", "RENEW", "BOUGH",\r
+    "DWARF", "SLOWS", "QUILL", "SHAVE", "SPORE", "SIXES", "CHUNK", "MADLY", "PACED",\r
+    "BRAID", "FUZZY", "MOTTO", "SPIES", "SLACK", "MUCUS", "MAGMA", "AWFUL", "DISCS",\r
+    "ERASE", "POSED", "ASSET", "CIDER", "TAPER", "THEFT", "CHURN", "SATIN", "SLOTS",\r
+    "TAXED", "BULLY", "SLOTH", "SHALE", "TREAD", "RAKED", "CURDS", "MANOR", "AISLE",\r
+    "BULGE", "LOINS", "STAIR", "TAPES", "LEANS", "BUNKS", "SQUAT", "TOWED", "LANCE",\r
+    "PANES", "SAKES", "HEIRS", "CASTE", "DUMMY", "PORES", "FAUNA", "CROOK", "POISE",\r
+    "EPOCH", "RISKY", "WARNS", "FLING", "BERRY", "GRAPE", "FLANK", "DRAGS", "SQUID",\r
+    "PELTS", "ICING", "IRONY", "IRONS", "BARKS", "WHOOP", "CHOKE", "DIETS", "WHIPS",\r
+    "TALLY", "DOZED", "TWINE", "KITES", "BIKES", "TICKS", "RIOTS", "ROARS", "VAULT",\r
+    "LOOMS", "SCOLD", "BLINK", "DANDY", "PUPAE", "SIEVE", "SPIKE", "DUCTS", "LENDS",\r
+    "PIZZA", "BRINK", "WIDEN", "PLUMB", "PAGAN", "FEATS", "BISON", "SOGGY", "SCOOP",\r
+    "ARGON", "NUDGE", "SKIFF", "AMBER", "SEXES", "ROUSE", "SALTS", "HITCH", "EXALT",\r
+    "LEASH", "DINED", "CHUTE", "SNORT", "GUSTS", "MELON", "CHEAT", "REEFS", "LLAMA",\r
+    "LASSO", "DEBUT", "QUOTA", "OATHS", "PRONE", "MIXES", "RAFTS", "DIVES", "STALE",\r
+    "INLET", "FLICK", "PINTO", "BROWS", "UNTIE", "BATCH", "GREED", "CHORE", "STIRS",\r
+    "BLUSH", "ONSET", "BARBS", "VOLTS", "BEIGE", "SWOOP", "PADDY", "LACED", "SHOVE",\r
+    "JERKY", "POPPY", "LEAKS", "FARES", "DODGE", "GODLY", "SQUAW", "AFFIX", "BRUTE",\r
+    "NICER", "UNDUE", "SNARL", "MERGE", "DOSES", "SHOWY", "DADDY", "ROOST", "VASES", \r
+    "SWIRL", "PETTY", "COLDS", "CURRY", "COBRA", "GENIE", "FLARE", "MESSY", "CORES",\r
+    "SOAKS", "RIPEN", "WHINE", "AMINO", "PLAID", "SPINY", "MOWED", "BATON", "PEERS",\r
+    "VOWED", "PIOUS", "SWANS", "EXITS", "AFOOT", "PLUGS", "IDIOM", "CHILI", "RITES",\r
+    "SERFS", "CLEFT", "BERTH", "GRUBS", "ANNEX", "DIZZY", "HASTY", "LATCH", "WASPS",\r
+    "MIRTH", "BARON", "PLEAD", "ALOOF", "AGING", "PIXEL", "BARED", "MUMMY", "HOTLY",\r
+    "AUGER", "BUDDY", "CHAPS", "BADGE", "STARK", "FAIRS", "GULLY", "MUMPS", "EMERY",\r
+    "FILLY", "OVENS", "DRONE", "GAUZE", "IDIOT", "FUSSY", "ANNOY", "SHANK", "GOUGE",\r
+    "BLEED", "ELVES", "ROPED", "UNFIT", "BAGGY", "MOWER", "SCANT", "GRABS", "FLEAS",\r
+    "LOUSY", "ALBUM", "SAWED", "COOKY", "MURKY", "INFER", "BURLY", "WAGED", "DINGY",\r
+    "BRINE", "KNEEL", "CREAK", "VANES", "SMOKY", "SPURT", "COMBS", "EASEL", "LACES",\r
+    "HUMPS", "RUMOR", "AROMA", "HORDE", "SWISS", "LEAPT", "OPIUM", "SLIME", "AFIRE",\r
+    "PANSY", "MARES", "SOAPS", "HUSKS", "SNIPS", "HAZEL", "LINED", "CAFES", "NAIVE",\r
+    "WRAPS", "SIZED", "PIERS", "BESET", "AGILE", "TONGS", "STEED", "FRAUD", "BOOTY",\r
+    "VALOR", "DOWNY", "WITTY", "MOSSY", "PSALM", "SCUBA", "TOURS", "POLKA", "MILKY",\r
+    "GAUDY", "SHRUG", "TUFTS", "WILDS", "LASER", "TRUSS", "HARES", "CREED", "LILAC",\r
+    "SIREN", "TARRY", "BRIBE", "SWINE", "MUTED", "FLIPS", "CURES", "SINEW", "BOXED",\r
+    "HOOPS", "GASPS", "HOODS", "NICHE", "YUCCA", "GLOWS", "SEWER", "WHACK", "FUSES",\r
+    "GOWNS", "DROOP", "BUCKS", "PANGS", "MAILS", "WHISK", "HAVEN", "CLASP", "SLING",\r
+    "STINT", "URGES", "CHAMP", "PIETY", "CHIRP", "PLEAT", "POSSE", "SUNUP", "MENUS",\r
+    "HOWLS", "QUAKE", "KNACK", "PLAZA", "FIEND", "CAKED", "BANGS", "ERUPT", "POKER",\r
+    "OLDEN", "CRAMP", "VOTER", "POSES", "MANLY", "SLUMP", "FINED", "GRIPS", "GAPED",\r
+    "PURGE", "HIKED", "MAIZE", "FLUFF", "STRUT", "SLOOP", "PROWL", "ROACH", "COCKS",\r
+    "BLAND", "DIALS", "PLUME", "SLAPS", "SOUPS", "DULLY", "WILLS", "FOAMS", "SOLOS",\r
+    "SKIER", "EAVES", "TOTEM", "FUSED", "LATEX", "VEILS", "MUSED", "MAINS", "MYRRH",\r
+    "RACKS", "GALLS", "GNATS", "BOUTS", "SISAL", "SHUTS", "HOSES", "DRYLY", "HOVER",\r
+    "GLOSS", "SEEPS", "DENIM", "PUTTY", "GUPPY", "LEAKY", "DUSKY", "FILTH", "OBOES",\r
+    "SPANS", "FOWLS", "ADORN", "GLAZE", "HAUNT", "DARES", "OBEYS", "BAKES", "ABYSS",\r
+    "SMELT", "GANGS", "ACHES", "TRAWL", "CLAPS", "UNDID", "SPICY", "HOIST", "FADES",\r
+    "VICAR", "ACORN", "PUSSY", "GRUFF", "MUSTY", "TARTS", "SNUFF", "HUNCH", "TRUCE",\r
+    "TWEED", "DRYER", "LOSER", "SHEAF", "MOLES", "LAPSE", "TAWNY", "VEXED", "AUTOS",\r
+    "WAGER", "DOMES", "SHEEN", "CLANG", "SPADE", "SOWED", "BROIL", "SLYLY", "STUDS",\r
+    "GRUNT", "DONOR", "SLUGS", "ASPEN", "HOMER", "CROAK", "TITHE", "HALTS", "AVERT",\r
+    "HAVOC", "HOGAN", "GLINT", "RUDDY", "JEEPS", "FLAKY", "LADLE", "TAUNT", "SNORE",\r
+    "FINES", "PROPS", "PRUNE", "PESOS", "RADII", "POKES", "TILED", "DAISY", "HERON",\r
+    "VILLA", "FARCE", "BINDS", "CITES", "FIXES", "JERKS", "LIVID", "WAKED", "INKED",\r
+    "BOOMS", "CHEWS", "LICKS", "HYENA", "SCOFF", "LUSTY", "SONIC", "SMITH", "USHER",\r
+    "TUCKS", "VIGIL", "MOLTS", "SECTS", "SPARS", "DUMPS", "SCALY", "WISPS", "SORES",\r
+    "MINCE", "PANDA", "FLIER", "AXLES", "PLIED", "BOOBY", "PATIO", "RABBI", "PETAL",\r
+    "POLYP", "TINTS", "GRATE", "TROLL", "TOLLS", "RELIC", "PHONY", "BLEAT", "FLAWS",\r
+    "FLAKE", "SNAGS", "APTLY", "DRAWL", "ULCER", "SOAPY", "BOSSY", "MONKS", "CRAGS",\r
+    "CAGED", "TWANG", "DINER", "TAPED", "CADET", "GRIDS", "SPAWN", "GUILE", "NOOSE",\r
+    "MORES", "GIRTH", "SLIMY", "AIDES", "SPASM", "BURRS", "ALIBI", "LYMPH", "SAUCY",\r
+    "MUGGY", "LITER", "JOKED", "GOOFY", "EXAMS", "ENACT", "STORK", "LURED", "TOXIC",\r
+    "OMENS", "NEARS", "COVET", "WRUNG", "FORUM", "VENOM", "MOODY", "ALDER", "SASSY",\r
+    "FLAIR", "GUILD", "PRAYS", "WRENS", "HAULS", "STAVE", "TILTS", "PECKS", "STOMP",\r
+    "GALES", "TEMPT", "CAPES", "MESAS", "OMITS", "TEPEE", "HARRY", "WRING", "EVOKE",\r
+    "LIMES", "CLUCK", "LUNGE", "HIGHS", "CANES", "GIDDY", "LITHE", "VERGE", "KHAKI",\r
+    "QUEUE", "LOATH", "FOYER", "OUTDO", "FARED", "DETER", "CRUMB", "ASTIR", "SPIRE",\r
+    "JUMPY", "EXTOL", "BUOYS", "STUBS", "LUCID", "THONG", "AFORE", "WHIFF", "MAXIM",\r
+    "HULLS", "CLOGS", "SLATS", "JIFFY", "ARBOR", "CINCH", "IGLOO", "GOODY", "GAZES",\r
+    "DOWEL", "CALMS", "BITCH", "SCOWL", "GULPS", "CODED", "WAVER", "MASON", "LOBES",\r
+    "EBONY", "FLAIL", "ISLES", "CLODS", "DAZED", "ADEPT", "OOZED", "SEDAN", "CLAYS",\r
+    "WARTS", "KETCH", "SKUNK", "MANES", "ADORE", "SNEER", "MANGO", "FIORD", "FLORA",\r
+    "ROOMY", "MINKS", "THAWS", "WATTS", "FREER", "EXULT", "PLUSH", "PALED", "TWAIN",\r
+    "CLINK", "SCAMP", "PAWED", "GROPE", "BRAVO", "GABLE", "STINK", "SEVER", "WANED",\r
+    "RARER", "REGAL", "WARDS", "FAWNS", "BABES", "UNIFY", "AMEND", "OAKEN", "GLADE",\r
+    "VISOR", "HEFTY", "NINES", "THROB", "PECAN", "BUTTS", "PENCE", "SILLS", "JAILS",\r
+    "FLYER", "SABER", "NOMAD", "MITER", "BEEPS", "DOMED", "GULFS", "CURBS", "HEATH",\r
+    "MOORS", "AORTA", "LARKS", "TANGY", "WRYLY", "CHEEP", "RAGES", "EVADE", "LURES",\r
+    "FREAK", "VOGUE", "TUNIC", "SLAMS", "KNITS", "DUMPY", "MANIA", "SPITS", "FIRTH",\r
+    "HIKES", "TROTS", "NOSED", "CLANK", "DOGMA", "BLOAT", "BALSA", "GRAFT", "MIDDY",\r
+    "STILE", "KEYED", "FINCH", "SPERM", "CHAFF", "WILES", "AMIGO", "COPRA", "AMISS",\r
+    "EYING", "TWIRL", "LURCH", "POPES", "CHINS", "SMOCK", "TINES", "GUISE", "GRITS",\r
+    "JUNKS", "SHOAL", "CACHE", "TAPIR", "ATOLL", "DEITY", "TOILS", "SPREE", "MOCKS",\r
+    "SCANS", "SHORN", "REVEL", "RAVEN", "HOARY", "REELS", "SCUFF", "MIMIC", "WEEDY",\r
+    "CORNY", "TRUER", "ROUGE", "EMBER", "FLOES", "TORSO", "WIPES", "EDICT", "SULKY",\r
+    "RECUR", "GROIN", "BASTE", "KINKS", "SURER", "PIGGY", "MOLDY", "FRANC", "LIARS",\r
+    "INEPT", "GUSTY", "FACET", "JETTY", "EQUIP", "LEPER", "SLINK", "SOARS", "CATER",\r
+    "DOWRY", "SIDED", "YEARN", "DECOY", "TABOO", "OVALS", "HEALS", "PLEAS", "BERET",\r
+    "SPILT", "GAYLY", "ROVER", "ENDOW", "PYGMY", "CARAT", "ABBEY", "VENTS", "WAKEN",\r
+    "CHIMP", "FUMED", "SODAS", "VINYL", "CLOUT", "WADES", "MITES", "SMIRK", "BORES",\r
+    "BUNNY", "SURLY", "FROCK", "FORAY", "PURER", "MILKS", "QUERY", "MIRED", "BLARE",\r
+    "FROTH", "GRUEL", "NAVEL", "PALER", "PUFFY", "CASKS", "GRIME", "DERBY", "MAMMA",\r
+    "GAVEL", "TEDDY", "VOMIT", "MOANS", "ALLOT", "DEFER", "WIELD", "VIPER", "LOUSE",\r
+    "ERRED", "HEWED", "ABHOR", "WREST", "WAXEN", "ADAGE", "ARDOR", "STABS", "PORED",\r
+    "RONDO", "LOPED", "FISHY", "BIBLE", "HIRES", "FOALS", "FEUDS", "JAMBS", "THUDS",\r
+    "JEERS", "KNEAD", "QUIRK", "RUGBY", "EXPEL", "GREYS", "RIGOR", "ESTER", "LYRES",\r
+    "ABACK", "GLUES", "LOTUS", "LURID", "RUNGS", "HUTCH", "THYME", "VALET", "TOMMY",\r
+    "YOKES", "EPICS", "TRILL", "PIKES", "OZONE", "CAPER", "CHIME", "FREES", "FAMED",\r
+    "LEECH", "SMITE", "NEIGH", "ERODE", "ROBED", "HOARD", "SALVE", "CONIC", "GAWKY",\r
+    "CRAZE", "JACKS", "GLOAT", "MUSHY", "RUMPS", "FETUS", "WINCE", "PINKS", "SHALT",\r
+    "TOOTS", "GLENS", "COOED", "RUSTS", "STEWS", "SHRED", "PARKA", "CHUGS", "WINKS",\r
+    "CLOTS", "SHREW", "BOOED", "FILMY", "JUROR", "DENTS", "GUMMY", "GRAYS", "HOOKY",\r
+    "BUTTE", "DOGIE", "POLED", "REAMS", "FIFES", "SPANK", "GAYER", "TEPID", "SPOOK",\r
+    "TAINT", "FLIRT", "ROGUE", "SPIKY", "OPALS", "MISER", "COCKY", "COYLY", "BALMY",\r
+    "SLOSH", "BRAWL", "APHID", "FAKED", "HYDRA", "BRAGS", "CHIDE", "YANKS", "ALLAY",\r
+    "VIDEO", "ALTOS", "EASES", "METED", "CHASM", "LONGS", "EXCEL", "TAFFY", "IMPEL",\r
+    "SAVOR", "KOALA", "QUAYS", "DAWNS", "PROXY", "CLOVE", "DUETS", "DREGS", "TARDY",\r
+    "BRIAR", "GRIMY", "ULTRA", "MEATY", "HALVE", "WAILS", "SUEDE", "MAUVE", "ENVOY",\r
+    "ARSON", "COVES", "GOOEY", "BREWS", "SOFAS", "CHUMS", "AMAZE", "ZOOMS", "ABBOT",\r
+    "HALOS", "SCOUR", "SUING", "CRIBS", "SAGAS", "ENEMA", "WORDY", "HARPS", "COUPE",\r
+    "MOLAR", "FLOPS", "WEEPS", "MINTS", "ASHEN", "FELTS", "ASKEW", "MUNCH", "MEWED",\r
+    "DIVAN", "VICES", "JUMBO", "BLOBS", "BLOTS", "SPUNK", "ACRID", "TOPAZ", "CUBED",\r
+    "CLANS", "FLEES", "SLURS", "GNAWS", "WELDS", "FORDS", "EMITS", "AGATE", "PUMAS",\r
+    "MENDS", "DARKS", "DUKES", "PLIES", "CANNY", "HOOTS", "OOZES", "LAMED", "FOULS",\r
+    "CLEFS", "NICKS", "MATED", "SKIMS", "BRUNT", "TUBER", "TINGE", "FATES", "DITTY",\r
+    "THINS", "FRETS", "EIDER", "BAYOU", "MULCH", "FASTS", "AMASS", "DAMPS", "MORNS",\r
+    "FRIAR", "PALSY", "VISTA", "CROON", "CONCH", "UDDER", "TACOS", "SKITS", "MIKES",\r
+    "QUITS", "PREEN", "ASTER", "ADDER", "ELEGY", "PULPY", "SCOWS", "BALED", "HOVEL",\r
+    "LAVAS", "CRAVE", "OPTIC", "WELTS", "BUSTS", "KNAVE", "RAZED", "SHINS", "TOTES",\r
+    "SCOOT", "DEARS", "CROCK", "MUTES", "TRIMS", "SKEIN", "DOTED", "SHUNS", "VEERS",\r
+    "FAKES", "YOKED", "WOOED", "HACKS", "SPRIG", "WANDS", "LULLS", "SEERS", "SNOBS",\r
+    "NOOKS", "PINED", "PERKY", "MOOED", "FRILL", "DINES", "BOOZE", "TRIPE", "PRONG",\r
+    "DRIPS", "ODDER", "LEVEE", "ANTIC", "SIDLE", "PITHY", "CORKS", "YELPS", "JOKER",\r
+    "FLECK", "BUFFS", "SCRAM", "TIERS", "BOGEY", "DOLED", "IRATE", "VALES", "COPED",\r
+    "HAILS", "ELUDE", "BULKS", "AIRED", "VYING", "STAGS", "STREW", "COCCI", "PACTS",\r
+    "SCABS", "SILOS", "DUSTS", "YODEL", "TERSE", "JADED", "BASER", "JIBES", "FOILS",\r
+    "SWAYS", "FORGO", "SLAYS", "PREYS", "TREKS", "QUELL", "PEEKS", "ASSAY", "LURKS",\r
+    "EJECT", "BOARS", "TRITE", "BELCH", "GNASH", "WANES", "LUTES", "WHIMS", "DOSED",\r
+    "CHEWY", "SNIPE", "UMBRA", "TEEMS", "DOZES", "KELPS", "UPPED", "BRAWN", "DOPED",\r
+    "SHUSH", "RINDS", "SLUSH", "MORON", "VOILE", "WOKEN", "FJORD", "SHEIK", "JESTS",\r
+    "KAYAK", "SLEWS", "TOTED", "SANER", "DRAPE", "PATTY", "RAVES", "SULFA", "GRIST",\r
+    "SKIED", "VIXEN", "CIVET", "VOUCH", "TIARA", "HOMEY", "MOPED", "RUNTS", "SERGE",\r
+    "KINKY", "RILLS", "CORNS", "BRATS", "PRIES", "AMBLE", "FRIES", "LOONS", "TSARS",\r
+    "DATUM", "MUSKY", "PIGMY", "GNOME", "RAVEL", "OVULE", "ICILY", "LIKEN", "LEMUR",\r
+    "FRAYS", "SILTS", "SIFTS", "PLODS", "RAMPS", "TRESS", "EARLS", "DUDES", "WAIVE",\r
+    "KARAT", "JOLTS", "PEONS", "BEERS", "HORNY", "PALES", "WREAK", "LAIRS", "LYNCH",\r
+    "STANK", "SWOON", "IDLER", "ABORT", "BLITZ", "ENSUE", "ATONE", "BINGO", "ROVES",\r
+    "KILTS", "SCALD", "ADIOS", "CYNIC", "DULLS", "MEMOS", "ELFIN", "DALES", "PEELS",\r
+    "PEALS", "BARES", "SINUS", "CRONE", "SABLE", "HINDS", "SHIRK", "ENROL", "WILTS",\r
+    "ROAMS", "DUPED", "CYSTS", "MITTS", "SAFES", "SPATS", "COOPS", "FILET", "KNELL",\r
+    "REFIT", "COVEY", "PUNKS", "KILNS", "FITLY", "ABATE", "TALCS", "HEEDS", "DUELS",\r
+    "WANLY", "RUFFS", "GAUSS", "LAPEL", "JAUNT", "WHELP", "CLEAT", "GAUZY", "DIRGE",\r
+    "EDITS", "WORMY", "MOATS", "SMEAR", "PRODS", "BOWEL", "FRISK", "VESTS", "BAYED",\r
+    "RASPS", "TAMES", "DELVE", "EMBED", "BEFIT", "WAFER", "CEDED", "NOVAS", "FEIGN",\r
+    "SPEWS", "LARCH", "HUFFS", "DOLES", "MAMAS", "HULKS", "PRIED", "BRIMS", "IRKED",\r
+    "ASPIC", "SWIPE", "MEALY", "SKIMP", "BLUER", "SLAKE", "DOWDY", "PENIS", "BRAYS",\r
+    "PUPAS", "EGRET", "FLUNK", "PHLOX", "GRIPE", "PEONY", "DOUSE", "BLURS", "DARNS",\r
+    "SLUNK", "LEFTS", "CHATS", "INANE", "VIALS", "STILT", "RINKS", "WOOFS", "WOWED",\r
+    "BONGS", "FROND", "INGOT", "EVICT", "SINGE", "SHYER", "FLIED", "SLOPS", "DOLTS",\r
+    "DROOL", "DELLS", "WHELK", "HIPPY", "FETED", "ETHER", "COCOS", "HIVES", "JIBED",\r
+    "MAZES", "TRIOS", "SIRUP", "SQUAB", "LATHS", "LEERS", "PASTA", "RIFTS", "LOPES",\r
+    "ALIAS", "WHIRS", "DICED", "SLAGS", "LODES", "FOXED", "IDLED", "PROWS", "PLAIT",\r
+    "MALTS", "CHAFE", "COWER", "TOYED", "CHEFS", "KEELS", "STIES", "RACER", "ETUDE",\r
+    "SUCKS", "SULKS", "MICAS", "CZARS", "COPSE", "AILED", "ABLER", "RABID", "GOLDS",\r
+    "CROUP", "SNAKY", "VISAS", "PALLS", "MOPES", "BONED", "WISPY", "RAVED", "SWAPS",\r
+    "JUNKY", "DOILY", "PAWNS", "TAMER", "POACH", "BAITS", "DAMNS", "GUMBO", "DAUNT",\r
+    "PRANK", "HUNKS", "BUXOM", "HERES", "HONKS", "STOWS", "UNBAR", "IDLES", "ROUTS",\r
+    "SAGES", "GOADS", "REMIT", "COPES", "DEIGN", "CULLS", "GIRDS", "HAVES", "LUCKS",\r
+    "STUNK", "DODOS", "SHAMS", "SNUBS", "ICONS", "USURP", "DOOMS", "HELLS", "SOLED",\r
+    "COMAS", "PAVES", "MATHS", "PERKS", "LIMPS", "WOMBS", "BLURB", "DAUBS", "COKES",\r
+    "SOURS", "STUNS", "CASED", "MUSTS", "COEDS", "COWED", "APING", "ZONED", "RUMMY",\r
+    "FETES", "SKULK", "QUAFF", "RAJAH", "DEANS", "REAPS", "GALAS", "TILLS", "ROVED",\r
+    "KUDOS", "TONED", "PARED", "SCULL", "VEXES", "PUNTS", "SNOOP", "BAILS", "DAMES",\r
+    "HAZES", "LORES", "MARTS", "VOIDS", "AMEBA", "RAKES", "ADZES", "HARMS", "REARS",\r
+    "SATYR", "SWILL", "HEXES", "COLIC", "LEEKS", "HURLS", "YOWLS", "IVIES", "PLOPS",\r
+    "MUSKS", "PAPAW", "JELLS", "BUSED", "CRUET", "BIDED", "FILCH", "ZESTS", "ROOKS",\r
+    "LAXLY", "RENDS", "LOAMS", "BASKS", "SIRES", "CARPS", "POKEY", "FLITS", "MUSES",\r
+    "BAWLS", "SHUCK", "VILER", "LISPS", "PEEPS", "SORER", "LOLLS", "PRUDE", "DIKED",\r
+    "FLOSS", "FLOGS", "SCUMS", "DOPES", "BOGIE", "PINKY", "LEAFS", "TUBAS", "SCADS",\r
+    "LOWED", "YESES", "BIKED", "QUALM", "EVENS", "CANED", "GAWKS", "WHITS", "WOOLY",\r
+    "GLUTS", "ROMPS", "BESTS", "DUNCE", "CRONY", "JOIST", "TUNAS", "BONER", "MALLS",\r
+    "PARCH", "AVERS", "CRAMS", "PARES", "DALLY", "BIGOT", "KALES", "FLAYS", "LEACH",\r
+    "GUSHY", "POOCH", "HUGER", "SLYER", "GOLFS", "MIRES", "FLUES", "LOAFS", "ARCED",\r
+    "ACNES", "NEONS", "FIEFS", "DINTS", "DAZES", "POUTS", "CORED", "YULES", "LILTS",\r
+    "BEEFS", "MUTTS", "FELLS", "COWLS", "SPUDS", "LAMES", "JAWED", "DUPES", "DEADS",\r
+    "BYLAW", "NOONS", "NIFTY", "CLUED", "VIREO", "GAPES", "METES", "CUTER", "MAIMS",\r
+    "DROLL", "CUPID", "MAULS", "SEDGE", "PAPAS", "WHEYS", "EKING", "LOOTS", "HILTS",\r
+    "MEOWS", "BEAUS", "DICES", "PEPPY", "RIPER", "FOGEY", "GISTS", "YOGAS", "GILTS",\r
+    "SKEWS", "CEDES", "ZEALS", "ALUMS", "OKAYS", "ELOPE", "GRUMP", "WAFTS", "SOOTS",\r
+    "BLIMP", "HEFTS", "MULLS", "HOSED", "CRESS", "DOFFS", "RUDER", "PIXIE", "WAIFS",\r
+    "OUSTS", "PUCKS", "BIERS", "GULCH", "SUETS", "HOBOS", "LINTS", "BRANS", "TEALS",\r
+    "GARBS", "PEWEE", "HELMS", "TURFS", "QUIPS", "WENDS", "BANES", "NAPES", "ICIER",\r
+    "SWATS", "BAGEL", "HEXED", "OGRES", "GONER", "GILDS", "PYRES", "LARDS", "BIDES",\r
+    "PAGED", "TALON", "FLOUT", "MEDIC", "VEALS", "PUTTS", "DIRKS", "DOTES", "TIPPY",\r
+    "BLURT", "PITHS", "ACING", "BARER", "WHETS", "GAITS", "WOOLS", "DUNKS", "HEROS",\r
+    "SWABS", "DIRTS", "JUTES", "HEMPS", "SURFS", "OKAPI", "CHOWS", "SHOOS", "DUSKS",\r
+    "PARRY", "DECAL", "FURLS", "CILIA", "SEARS", "NOVAE", "MURKS", "WARPS", "SLUES",\r
+    "LAMER", "SARIS", "WEANS", "PURRS", "DILLS", "TOGAS", "NEWTS", "MEANY", "BUNTS",\r
+    "RAZES", "GOONS", "WICKS", "RUSES", "VENDS", "GEODE", "DRAKE", "JUDOS", "LOFTS",\r
+    "PULPS", "LAUDS", "MUCKS", "VISES", "MOCHA", "OILED", "ROMAN", "ETHYL", "GOTTA",\r
+    "FUGUE", "SMACK", "GOURD", "BUMPY", "RADIX", "FATTY", "BORAX", "CUBIT", "CACTI",\r
+    "GAMMA", "FOCAL", "AVAIL", "PAPAL", "GOLLY", "ELITE", "VERSA", "BILLY", "ADIEU",\r
+    "ANNUM", "HOWDY", "RHINO", "NORMS", "BOBBY", "AXIOM", "SETUP", "YOLKS", "TERNS",\r
+    "MIXER", "GENRE", "KNOLL", "ABODE", "JUNTA", "GORGE", "COMBO", "ALPHA", "OVERT",\r
+    "KINDA", "SPELT", "PRICK", "NOBLY", "EPHOD", "AUDIO", "MODAL", "VELDT", "WARTY",\r
+    "FLUKE", "BONNY", "BREAM", "ROSIN", "BOLLS", "DOERS", "DOWNS", "BEADY", "MOTIF",\r
+    "HUMPH", "FELLA", "MOULD", "CREPE", "KERNS", "ALOHA", "GLYPH", "AZURE", "RISER",\r
+    "BLEST", "LOCUS", "LUMPY", "BERYL", "WANNA", "BRIER", "TUNER", "ROWDY", "MURAL",\r
+    "TIMER", "CANST", "KRILL", "QUOTH", "LEMME", "TRIAD", "TENON", "AMPLY", "DEEPS",\r
+    "PADRE", "LEANT", "PACER", "OCTAL", "DOLLY", "TRANS", "SUMAC", "FOAMY", "LOLLY",\r
+    "GIVER", "QUIPU", "CODEX", "MANNA", "UNWED", "VODKA", "FERNY", "SALON", "DUPLE",\r
+    "BORON", "REVUE", "CRIER", "ALACK", "INTER", "DILLY", "WHIST", "CULTS", "SPAKE",\r
+    "RESET", "LOESS", "DECOR", "MOVER", "VERVE", "ETHIC", "GAMUT", "LINGO", "DUNNO",\r
+    "ALIGN", "SISSY", "INCUR", "REEDY", "AVANT", "PIPER", "WAXER", "CALYX", "BASIL",\r
+    "COONS", "SEINE", "PINEY", "LEMMA", "TRAMS", "WINCH", "WHIRR", "SAITH", "IONIC",\r
+    "HEADY", "HAREM", "TUMMY", "SALLY", "SHIED", "DROSS", "FARAD", "SAVER", "TILDE",\r
+    "JINGO", "BOWER", "SERIF", "FACTO", "BELLE", "INSET", "BOGUS", "CAVED", "FORTE",\r
+    "SOOTY", "BONGO", "TOVES", "CREDO", "BASAL", "YELLA", "AGLOW", "GLEAN", "GUSTO",\r
+    "HYMEN", "ETHOS", "TERRA", "BRASH", "SCRIP", "SWASH", "ALEPH", "TINNY", "ITCHY",\r
+    "WANTA", "TRICE", "JOWLS", "GONGS", "GARDE", "BORIC", "TWILL", "SOWER", "HENRY",\r
+    "AWASH", "LIBEL", "SPURN", "SABRE", "REBUT", "PENAL", "OBESE", "SONNY", "QUIRT",\r
+    "MEBBE", "TACIT", "GREEK", "XENON", "HULLO", "PIQUE", "ROGER", "NEGRO", "HADST",\r
+    "GECKO", "BEGET", "UNCUT", "ALOES", "LOUIS", "QUINT", "CLUNK", "RAPED", "SALVO",\r
+    "DIODE", "MATEY", "HERTZ", "XYLEM", "KIOSK", "APACE", "CAWED", "PETER", "WENCH",\r
+    "COHOS", "SORTA", "GAMBA", "BYTES", "TANGO", "NUTTY", "AXIAL", "ALECK", "NATAL",\r
+    "CLOMP", "GORED", "SIREE", "BANDY", "GUNNY", "RUNIC", "WHIZZ", "RUPEE", "FATED",\r
+    "WIPER", "BARDS", "BRINY", "STAID", "HOCKS", "OCHRE", "YUMMY", "GENTS", "SOUPY",\r
+    "ROPER", "SWATH", "CAMEO", "EDGER", "SPATE", "GIMME", "EBBED", "BREVE", "THETA",\r
+    "DEEMS", "DYKES", "SERVO", "TELLY", "TABBY", "TARES", "BLOCS", "WELCH", "GHOUL",\r
+    "VITAE", "CUMIN", "DINKY", "BRONC", "TABOR", "TEENY", "COMER", "BORER", "SIRED",\r
+    "PRIVY", "MAMMY", "DEARY", "GYROS", "SPRIT", "CONGA", "QUIRE", "THUGS", "FUROR",\r
+    "BLOKE", "RUNES", "BAWDY", "CADRE", "TOXIN", "ANNUL", "EGGED", "ANION", "NODES",\r
+    "PICKY", "STEIN", "JELLO", "AUDIT", "ECHOS", "FAGOT", "LETUP", "EYRIE", "FOUNT",\r
+    "CAPED", "AXONS", "AMUCK", "BANAL", "RILED", "PETIT", "UMBER", "MILER", "FIBRE",\r
+    "AGAVE", "BATED", "BILGE", "VITRO", "FEINT", "PUDGY", "MATER", "MANIC", "UMPED",\r
+    "PESKY", "STREP", "SLURP", "PYLON", "PUREE", "CARET", "TEMPS", "NEWEL", "YAWNS",\r
+    "SEEDY", "TREED", "COUPS", "RANGY", "BRADS", "MANGY", "LONER", "CIRCA", "TIBIA",\r
+    "AFOUL", "MOMMY", "TITER", "CARNE", "KOOKY", "MOTES", "AMITY", "SUAVE", "HIPPO",\r
+    "CURVY", "SAMBA", "NEWSY", "ANISE", "IMAMS", "TULLE", "AWAYS", "LIVEN", "HALLO",\r
+    "WALES", "OPTED", "CANTO", "IDYLL", "BODES", "CURIO", "WRACK", "HIKER", "CHIVE",\r
+    "YOKEL", "DOTTY", "DEMUR", "CUSPS", "SPECS", "QUADS", "LAITY", "TONER", "DECRY",\r
+    "WRITS", "SAUTE", "CLACK", "AUGHT", "LOGOS", "TIPSY", "NATTY", "DUCAL", "BIDET",\r
+    "BULGY", "METRE", "LUSTS", "UNARY", "GOETH", "BALER", "SITED", "SHIES", "HASPS",\r
+    "BRUNG", "HOLED", "SWANK", "LOOKY", "MELEE", "HUFFY", "LOAMY", "PIMPS", "TITAN",\r
+    "BINGE", "SHUNT", "FEMUR", "LIBRA", "SEDER", "HONED", "ANNAS", "COYPU", "SHIMS",\r
+    "ZOWIE", "JIHAD", "SAVVY", "NADIR", "BASSO", "MONIC", "MANED", "MOUSY", "OMEGA",\r
+    "LAVER", "PRIMA", "PICAS", "FOLIO", "MECCA", "REALS", "TROTH", "TESTY", "BALKY",\r
+    "CRIMP", "CHINK", "ABETS", "SPLAT", "ABACI", "VAUNT", "CUTIE", "PASTY", "MORAY",\r
+    "LEVIS", "RATTY", "ISLET", "JOUST", "MOTET", "VIRAL", "NUKES", "GRADS", "COMFY",\r
+    "VOILA", "WOOZY", "BLUED", "WHOMP", "SWARD", "METRO", "SKEET", "CHINE", "AERIE",\r
+    "BOWIE", "TUBBY", "EMIRS", "COATI", "UNZIP", "SLOBS", "TRIKE", "FUNKY", "DUCAT",\r
+    "DEWEY", "SKOAL", "WADIS", "OOMPH", "TAKER", "MINIM", "GETUP", "STOIC", "SYNOD",\r
+    "RUNTY", "FLYBY", "BRAZE", "INLAY", "VENUE", "LOUTS", "PEATY", "ORLON", "HUMPY",\r
+    "RADON", "BEAUT", "RASPY", "UNFED", "CRICK", "NAPPY", "VIZOR", "YIPES", "REBUS",\r
+    "DIVOT", "KIWIS", "VETCH", "SQUIB", "SITAR", "KIDDO", "DYERS", "COTTA", "MATZO",\r
+    "LAGER", "ZEBUS", "CRASS", "DACHA", "KNEED", "DICTA", "FAKIR", "KNURL", "RUNNY",\r
+    "UNPIN", "JULEP", "GLOBS", "NUDES", "SUSHI", "TACKY", "STOKE", "KAPUT", "BUTCH",\r
+    "HULAS", "CROFT", "ACHOO", "GENII", "NODAL", "OUTGO", "SPIEL", "VIOLS", "FETID",\r
+    "CAGEY", "FUDGY", "EPOXY", "LEGGY", "HANKY", "LAPIS", "FELON", "BEEFY", "COOTS",\r
+    "MELBA", "CADDY", "SEGUE", "BETEL", "FRIZZ", "DREAR", "KOOKS", "TURBO", "HOAGY",\r
+    "MOULT", "HELIX", "ZONAL", "ARIAS", "NOSEY", "PAEAN", "LACEY", "BANNS", "SWAIN",\r
+    "FRYER", "RETCH", "TENET", "GIGAS", "WHINY", "OGLED", "RUMEN", "BEGOT", "CRUSE",\r
+    "ABUTS", "RIVEN", "BALKS", "SINES", "SIGMA", "ABASE", "ENNUI", "GORES", "UNSET",\r
+    "AUGUR", "SATED", "ODIUM", "LATIN", "DINGS", "MOIRE", "SCION", "HENNA", "KRAUT",\r
+    "DICKS", "LIFER", "PRIGS", "BEBOP", "GAGES", "GAZER", "FANNY", "GIBES", "AURAL",\r
+    "TEMPI", "HOOCH", "RAPES", "SNUCK", "HARTS", "TECHS", "EMEND", "NINNY", "GUAVA",\r
+    "SCARP", "LIEGE", "TUFTY", "SEPIA", "TOMES", "CAROB", "EMCEE", "PRAMS", "POSER",\r
+    "VERSO", "HUBBA", "JOULE", "BAIZE", "BLIPS", "SCRIM", "CUBBY", "CLAVE", "WINOS",\r
+    "REARM", "LIENS", "LUMEN", "CHUMP", "NANNY", "TRUMP", "FICHU", "CHOMP", "HOMOS",\r
+    "PURTY", "MASER", "WOOSH", "PATSY", "SHILL", "RUSKS", "AVAST", "SWAMI", "BODED",\r
+    "AHHHH", "LOBED", "NATCH", "SHISH", "TANSY", "SNOOT", "PAYER", "ALTHO", "SAPPY",\r
+    "LAXER", "HUBBY", "AEGIS", "RILES", "DITTO", "JAZZY", "DINGO", "QUASI", "SEPTA",\r
+    "PEAKY", "LORRY", "HEERD", "BITTY", "PAYEE", "SEAMY", "APSES", "IMBUE", "BELIE",\r
+    "CHARY", "SPOOF", "PHYLA", "CLIME", "BABEL", "WACKY", "SUMPS", "SKIDS", "KHANS",\r
+    "CRYPT", "INURE", "NONCE", "OUTEN", "FAIRE", "HOOEY", "ANOLE", "KAZOO", "CALVE",\r
+    "LIMBO", "ARGOT", "DUCKY", "FAKER", "VIBES", "GASSY", "UNLIT", "NERVY", "FEMME",\r
+    "BITER", "FICHE", "BOORS", "GAFFE", "SAXES", "RECAP", "SYNCH", "FACIE", "DICEY",\r
+    "OUIJA", "HEWER", "LEGIT", "GURUS", "EDIFY", "TWEAK", "CARON", "TYPOS", "RERUN",\r
+    "POLLY", "SURDS", "HAMZA", "NULLS", "HATER", "LEFTY", "MOGUL", "MAFIA", "DEBUG",\r
+    "PATES", "BLABS", "SPLAY", "TALUS", "PORNO", "MOOLA", "NIXED", "KILOS", "SNIDE",\r
+    "HORSY", "GESSO", "JAGGY", "TROVE", "NIXES", "CREEL", "PATER", "IOTAS", "CADGE",\r
+    "SKYED", "HOKUM", "FURZE", "ANKHS", "CURIE", "NUTSY", "HILUM", "REMIX", "ANGST",\r
+    "BURLS", "JIMMY", "VEINY", "TRYST", "CODON", "BEFOG", "GAMED", "FLUME", "AXMAN",\r
+    "DOOZY", "LUBES", "RHEAS", "BOZOS", "BUTYL", "KELLY", "MYNAH", "JOCKS", "DONUT",\r
+    "AVIAN", "WURST", "CHOCK", "QUASH", "QUALS", "HAYED", "BOMBE", "CUSHY", "SPACY", \r
+    "PUKED", "LEERY", "THEWS", "PRINK", "AMENS", "TESLA", "INTRO", "FIVER", "FRUMP",\r
+    "CAPOS", "OPINE", "CODER", "NAMER", "JOWLY", "PUKES", "HALED", "CHARD", "DUFFS",\r
+    "BRUIN", "REUSE", "WHANG", "TOONS", "FRATS", "SILTY", "TELEX", "CUTUP", "NISEI",\r
+    "NEATO", "DECAF", "SOFTY", "BIMBO", "ADLIB", "LOONY", "SHOED", "AGUES", "PEEVE",\r
+    "NOWAY", "GAMEY", "SARGE", "RERAN", "EPACT", "POTTY", "CONED", "UPEND", "NARCO",\r
+    "IKATS", "WHORL", "JINKS", "TIZZY", "WEEPY", "POSIT", "MARGE", "VEGAN", "CLOPS",\r
+    "NUMBS", "REEKS", "RUBES", "ROWER", "BIPED", "TIFFS", "HOCUS", "HAMMY", "BUNCO",\r
+    "FIXIT", "TYKES", "CHAWS", "YUCKY", "HOKEY", "RESEW", "MAVEN", "ADMAN", "SCUZZ",\r
+    "SLOGS", "SOUSE", "NACHO", "MIMED", "MELDS", "BOFFO", "DEBIT", "PINUP", "VAGUS",\r
+    "GULAG", "RANDY", "BOSUN", "EDUCE", "FAXES", "AURAS", "PESTO", "ANTSY", "BETAS",\r
+    "FIZZY", "DORKY", "SNITS", "MOXIE", "THANE", "MYLAR", "NOBBY", "GAMIN", "GOUTY",\r
+    "ESSES", "GOYIM", "PANED", "DRUID", "JADES", "REHAB", "GOFER", "TZARS", "OCTET",\r
+    "HOMED", "SOCKO", "DORKS", "EARED", "ANTED", "ELIDE", "FAZES", "OXBOW", "DOWSE",\r
+    "SITUS", "MACAW", "SCONE", "DRILY", "HYPER", "SALSA", "MOOCH", "GATED", "UNJAM",\r
+    "LIPID", "MITRE", "VENAL", "KNISH", "RITZY", "DIVAS", "TORUS", "MANGE", "DIMER",\r
+    "RECUT", "MESON", "WINED", "FENDS", "PHAGE", "FIATS", "CAULK", "CAVIL", "PANTY",\r
+    "ROANS", "BILKS", "HONES", "BOTCH", "ESTOP", "SULLY", "SOOTH", "GELDS", "AHOLD",\r
+    "RAPER", "PAGER", "FIXER", "INFIX", "HICKS", "TUXES", "PLEBE", "TWITS", "ABASH",\r
+    "TWIXT", "WACKO", "PRIMP", "NABLA", "GIRTS", "MIFFS", "EMOTE", "XEROX", "REBID",\r
+    "SHAHS", "RUTTY", "GROUT", "GRIFT", "DEIFY", "BIDDY", "KOPEK", "SEMIS", "BRIES",\r
+    "ACMES", "PITON", "HUSSY", "TORTS", "DISCO", "WHORE", "BOOZY", "GIBED", "VAMPS",\r
+    "AMOUR", "SOPPY", "GONZO", "DURST", "WADER", "TUTUS", "PERMS", "CATTY", "GLITZ",\r
+    "BRIGS", "NERDS", "BARMY", "GIZMO", "OWLET", "SAYER", "MOLLS", "SHARD", "WHOPS",\r
+    "COMPS", "CORER", "COLAS", "MATTE", "DROID", "PLOYS", "VAPID", "CAIRN", "DEISM",\r
+    "MIXUP", "YIKES", "PROSY", "RAKER", "FLUBS", "WHISH", "REIFY", "CRAPS", "SHAGS",\r
+    "CLONE", "HAZED", "MACHO", "RECTO", "REFIX", "DRAMS", "BIKER", "AQUAS", "PORKY",\r
+    "DOYEN", "EXUDE", "GOOFS", "DIVVY", "NOELS", "JIVED", "HULKY", "CAGER", "HARPY",\r
+    "OLDIE", "VIVAS", "ADMIX", "CODAS", "ZILCH", "DEIST", "ORCAS", "RETRO", "PILAF",\r
+    "PARSE", "RANTS", "ZINGY", "TODDY", "CHIFF", "MICRO", "VEEPS", "GIRLY", "NEXUS",\r
+    "DEMOS", "BIBBS", "ANTES", "LULUS", "GNARL", "ZIPPY", "IVIED", "EPEES", "WIMPS",\r
+    "TROMP", "GRAIL", "YOYOS", "POUFS", "HALES", "ROUST", "CABAL", "RAWER", "PAMPA",\r
+    "MOSEY", "KEFIR", "BURGS", "UNMET", "CUSPY", "BOOBS", "BOONS", "HYPES", "DYNES",\r
+    "NARDS", "LANAI", "YOGIS", "SEPAL", "QUARK", "TOKED", "PRATE", "AYINS", "HAWED",\r
+    "SWIGS", "VITAS", "TOKER", "DOPER", "BOSSA", "LINTY", "FOIST", "MONDO", "STASH",\r
+    "KAYOS", "TWERP", "ZESTY", "CAPON", "WIMPY", "REWED", "FUNGO", "TAROT", "FROSH",\r
+    "KABOB", "PINKO", "REDID", "MIMEO", "HEIST", "TARPS", "LAMAS", "SUTRA", "DINAR",\r
+    "WHAMS", "BUSTY", "SPAYS", "MAMBO", "NABOB", "PREPS", "ODOUR", "CABBY", "CONKS",\r
+    "SLUFF", "DADOS", "HOURI", "SWART", "BALMS", "GUTSY", "FAXED", "EGADS", "PUSHY",\r
+    "RETRY", "AGORA", "DRUBS", "DAFFY", "CHITS", "MUFTI", "KARMA", "LOTTO", "TOFFS",\r
+    "BURPS", "DEUCE", "ZINGS", "KAPPA", "CLADS", "DOGGY", "DUPER", "SCAMS", "OGLER",\r
+    "MIMES", "THROE", "ZETAS", "WALED", "PROMO", "BLATS", "MUFFS", "OINKS", "VIAND",\r
+    "COSET", "FINKS", "FADDY", "MINIS", "SNAFU", "SAUNA", "USURY", "MUXES", "CRAWS",\r
+    "STATS", "CONDO", "COXES", "LOOPY", "DORMS", "ASCOT", "DIPPY", "EXECS", "DOPEY",\r
+    "ENVOI", "UMPTY", "GISMO", "FAZED", "STROP", "JIVES", "SLIMS", "BATIK", "PINGS",\r
+    "SONLY", "LEGGO", "PEKOE", "PRAWN", "LUAUS", "CAMPY", "OODLE", "PREXY", "PROMS",\r
+    "TOUTS", "OGLES", "TWEET", "TOADY", "NAIAD", "HIDER", "NUKED", "FATSO", "SLUTS",\r
+    "OBITS", "NARCS", "TYROS", "DELIS", "WOOER", "HYPED", "POSET", "BYWAY", "TEXAS",\r
+    "SCROD", "AVOWS", "FUTON", "TORTE", "TUPLE", "CAROM", "KEBAB", "TAMPS", "JILTS",\r
+    "DUALS", "ARTSY", "REPRO", "MODEM", "TOPED", "PSYCH", "SICKO", "KLUTZ", "TARNS",\r
+    "COXED", "DRAYS", "CLOYS", "ANDED", "PIKER", "AIMER", "SURAS", "LIMOS", "FLACK",\r
+    "HAPAX", "DUTCH", "MUCKY", "SHIRE", "KLIEG", "STAPH", "LAYUP", "TOKES", "AXING",\r
+    "TOPER", "DUVET", "COWRY", "PROFS", "BLAHS", "ADDLE", "SUDSY", "BATTY", "COIFS",\r
+    "SUETY", "GABBY", "HAFTA", "PITAS", "GOUDA", "DEICE", "TAUPE", "TOPES", "DUCHY",\r
+    "NITRO", "CARNY", "LIMEY", "ORALS", "HIRER", "TAXER", "ROILS", "RUBLE", "ELATE",\r
+    "DOLOR", "WRYER", "SNOTS", "QUAIS", "COKED", "GIMEL", "GORSE", "MINAS", "GOEST",\r
+    "AGAPE", "MANTA", "JINGS", "ILIAC", "ADMEN", "OFFEN", "CILLS", "OFFAL", "LOTTA",\r
+    "BOLAS", "THWAP", "ALWAY", "BOGGY", "DONNA", "LOCOS", "BELAY", "GLUEY", "BITSY",\r
+    "MIMSY", "HILAR", "OUTTA", "VROOM", "FETAL", "RATHS", "RENAL", "DYADS", "CROCS",\r
+    "VIRES", "CULPA", "KIVAS", "FEIST", "TEATS", "THATS", "YAWLS", "WHENS", "ABACA",\r
+    "OHHHH", "APHIS", "FUSTY", "ECLAT", "PERDU", "MAYST", "EXEAT", "MOLLY", "SUPRA",\r
+    "WETLY", "PLASM", "BUFFA", "SEMEN", "PUKKA", "TAGUA", "PARAS", "STOAT", "SECCO",\r
+    "CARTE", "HAUTE", "MOLAL", "SHADS", "FORMA", "OVOID", "PIONS", "MODUS", "BUENO",\r
+    "RHEUM", "SCURF", "PARER", "EPHAH", "DOEST", "SPRUE", "FLAMS", "MOLTO", "DIETH",\r
+    "CHOOS", "MIKED", "BRONX", "GOOPY", "BALLY", "PLUMY", "MOONY", "MORTS", "YOURN",\r
+    "BIPOD", "SPUME", "ALGAL", "AMBIT", "MUCHO", "SPUED", "DOZER", "HARUM", "GROAT",\r
+    "SKINT", "LAUDE", "THRUM", "PAPPY", "ONCET", "RIMED", "GIGUE", "LIMED", "PLEIN",\r
+    "REDLY", "HUMPF", "LITES", "SEEST", "GREBE", "ABSIT", "THANX", "PSHAW", "YAWPS",\r
+    "PLATS", "PAYED", "AREAL", "TILTH", "YOUSE", "GWINE", "THEES", "WATSA", "LENTO",\r
+    "SPITZ", "YAWED", "GIPSY", "SPRAT", "CORNU", "AMAHS", "BLOWY", "WAHOO", "LUBRA",\r
+    "MECUM", "WHOOO", "COQUI", "SABRA", "EDEMA", "MRADS", "DICOT", "ASTRO", "KITED",\r
+    "OUZEL", "DIDOS", "GRATA", "BONNE", "AXMEN", "KLUNK", "SUMMA", "LAVES", "PURLS",\r
+    "YAWNY", "TEARY", "MASSE", "LARGO", "BAZAR", "PSSST", "SYLPH", "LULAB", "TOQUE",\r
+    "FUGIT", "PLUNK", "ORTHO", "LUCRE", "COOCH", "WHIPT", "FOLKY", "TYRES", "WHEEE",\r
+    "CORKY", "INJUN", "SOLON", "DIDOT", "KERFS", "RAYED", "WASSA", "CHILE", "BEGAT",\r
+    "NIPPY", "LITRE", "MAGNA", "REBOX", "HYDRO", "MILCH", "BRENT", "GYVES", "LAZED",\r
+    "FEUED", "MAVIS", "INAPT", "BAULK", "CASUS", "SCRUM", "WISED", "FOSSA", "DOWER",\r
+    "KYRIE", "BHOYS", "SCUSE", "FEUAR", "OHMIC", "JUSTE", "UKASE", "BEAUX", "TUSKY",\r
+    "ORATE", "MUSTA", "LARDY", "INTRA", "QUIFF", "EPSOM", "NEATH", "OCHER", "TARED",\r
+    "HOMME", "MEZZO", "CORMS", "PSOAS", "BEAKY", "TERRY", "INFRA", "SPIVS", "TUANS",\r
+    "BELLI", "BERGS", "ANIMA", "WEIRS", "MAHUA", "SCOPS", "MANSE", "TITRE", "CURIA",\r
+    "KEBOB", "CYCAD", "TALKY", "FUCKS", "TAPIS", "AMIDE", "DOLCE", "SLOES", "JAKES",\r
+    "RUSSE", "BLASH", "TUTTI", "PRUTA", "PANGA", "BLEBS", "TENCH", "SWARF", "HEREM",\r
+    "MISSY", "MERSE", "PAWKY", "LIMEN", "VIVRE", "CHERT", "UNSEE", "TIROS", "BRACK",\r
+    "FOOTS", "WELSH", "FOSSE", "KNOPS", "ILEUM", "NOIRE", "FIRMA", "PODGY", "LAIRD",\r
+    "THUNK", "SHUTE", "ROWAN", "SHOJI", "POESY", "UNCAP", "FAMES", "GLEES", "COSTA",\r
+    "TURPS", "FORES", "SOLUM", "IMAGO", "BYRES", "FONDU", "CONEY", "POLIS", "DICTU",\r
+    "KRAAL", "SHERD", "MUMBO", "WROTH", "CHARS", "UNBOX", "VACUO", "SLUED", "WEEST",\r
+    "HADES", "WILED", "SYNCS", "MUSER", "EXCON", "HOARS", "SIBYL", "PASSE", "JOEYS",\r
+    "LOTSA", "LEPTA", "SHAYS", "BOCKS", "ENDUE", "DARER", "NONES", "ILEUS", "PLASH",\r
+    "BUSBY", "WHEAL", "BUFFO", "YOBBO", "BILES", "POXES", "ROOTY", "LICIT", "TERCE",\r
+    "BROMO", "HAYEY", "DWEEB", "IMBED", "SARAN", "BRUIT", "PUNKY", "SOFTS", "BIFFS",\r
+    "LOPPY", "AGARS", "AQUAE", "LIVRE", "BIOME", "BUNDS", "SHEWS", "DIEMS", "GINNY",\r
+    "DEGUM", "POLOS", "DESEX", "UNMAN", "DUNGY", "VITAM", "WEDGY", "GLEBE", "APERS",\r
+    "RIDGY", "ROIDS", "WIFEY", "VAPES", "WHOAS", "BUNKO", "YOLKY", "ULNAS", "REEKY",\r
+    "BODGE", "BRANT", "DAVIT", "DEQUE", "LIKER", "JENNY", "TACTS", "FULLS", "TREAP",\r
+    "LIGNE", "ACKED", "REFRY", "VOWER", "AARGH", "CHURL", "MOMMA", "GAOLS", "WHUMP",\r
+    "ARRAS", "MARLS", "TILER", "GROGS", "MEMES", "MIDIS", "TIDED", "HALER", "DUCES",\r
+    "TWINY", "POSTE", "UNRIG", "PRISE", "DRABS", "QUIDS", "FACER", "SPIER", "BARIC",\r
+    "GEOID", "REMAP", "TRIER", "GUNKS", "STENO", "STOMA", "AIRER", "OVATE", "TORAH",\r
+    "APIAN", "SMUTS", "POCKS", "YURTS", "EXURB", "DEFOG", "NUDER", "BOSKY", "NIMBI",\r
+    "MOTHY", "JOYED", "LABIA", "PARDS", "JAMMY", "BIGLY", "FAXER", "HOPPY", "NURBS",\r
+    "COTES", "DISHY", "VISED", "CELEB", "PISMO", "CASAS", "WITHS", "DODGY", "SCUDI",\r
+    "MUNGS", "MUONS", "UREAS", "IOCTL", "UNHIP", "KRONE", "SAGER", "VERST", "EXPAT",\r
+    "GRONK", "UVULA", "SHAWM", "BILGY", "BRAES", "CENTO", "WEBBY", "LIPPY", "GAMIC",\r
+    "LORDY", "MAZED", "TINGS", "SHOAT", "FAERY", "WIRER", "DIAZO", "CARER", "RATER",\r
+    "GREPS", "RENTE", "ZLOTY", "VIERS", "UNAPT", "POOPS", "FECAL", "KEPIS", "TAXON",\r
+    "EYERS", "WONTS", "SPINA", "STOAE", "YENTA", "POOEY", "BURET", "JAPAN", "BEDEW",\r
+    "HAFTS", "SELFS", "OARED", "HERBY", "PRYER", "OAKUM", "DINKS", "TITTY", "SEPOY",\r
+    "PENES", "FUSEE", "WINEY", "GIMPS", "NIHIL", "RILLE", "GIBER", "OUSEL", "UMIAK",\r
+    "CUPPY", "HAMES", "SHITS", "AZINE", "GLADS", "TACET", "BUMPH", "COYER", "HONKY",\r
+    "GAMER", "GOOKY", "WASPY", "SEDGY", "BENTS", "VARIA", "DJINN", "JUNCO", "PUBIC",\r
+    "WILCO", "LAZES", "IDYLS", "LUPUS", "RIVES", "SNOOD", "SCHMO", "SPAZZ", "FINIS",\r
+    "NOTER", "PAVAN", "ORBED", "BATES", "PIPET", "BADDY", "GOERS", "SHAKO", "STETS",\r
+    "SEBUM", "SEETH", "LOBAR", "RAVER", "AJUGA", "RICED", "VELDS", "DRIBS", "VILLE",\r
+    "DHOWS", "UNSEW", "HALMA", "KRONA", "LIMBY", "JIFFS", "TREYS", "BAUDS", "PFFFT",\r
+    "MIMER", "PLEBS", "CANER", "JIBER", "CUPPA", "WASHY", "CHUFF", "UNARM", "YUKKY",\r
+    "STYES", "WAKER", "FLAKS", "MACES", "RIMES", "GIMPY", "GUANO", "LIRAS", "KAPOK",\r
+    "SCUDS", "BWANA", "ORING", "AIDER", "PRIER", "KLUGY", "MONTE", "GOLEM", "VELAR",\r
+    "FIRER", "PIETA", "UMBEL", "CAMPO", "UNPEG", "FOVEA", "ABEAM", "BOSON", "ASKER",\r
+    "GOTHS", "VOCAB", "VINED", "TROWS", "TIKIS", "LOPER", "INDIE", "BOFFS", "SPANG",\r
+    "GRAPY", "TATER", "ICHOR", "KILTY", "LOCHS", "SUPES", "DEGAS", "FLICS", "TORSI",\r
+    "BETHS", "WEBER", "RESAW", "LAWNY", "COVEN", "MUJIK", "RELET", "THERM", "HEIGH",\r
+    "SHNOR", "TRUED", "ZAYIN", "LIEST", "BARFS", "BASSI", "QOPHS", "ROILY", "FLABS",\r
+    "PUNNY", "OKRAS", "HANKS", "DIPSO", "NERFS", "FAUNS", "CALLA", "PSEUD", "LURER",\r
+    "MAGUS", "OBEAH", "ATRIA", "TWINK", "PALMY", "POCKY", "PENDS", "RECTA", "PLONK",\r
+    "SLAWS", "KEENS", "NICAD", "PONES", "INKER", "WHEWS", "GROKS", "MOSTS", "TREWS",\r
+    "ULNAR", "GYPPY", "COCAS", "EXPOS", "ERUCT", "OILER", "VACUA", "DRECK", "DATER",\r
+    "ARUMS", "TUBAL", "VOXEL", "DIXIT", "BEERY", "ASSAI", "LADES", "ACTIN", "GHOTI",\r
+    "BUZZY", "MEADS", "GRODY", "RIBBY", "CLEWS", "CREME", "EMAIL", "PYXIE", "KULAK",\r
+    "BOCCI", "RIVED", "DUDDY", "HOPER", "LAPIN", "WONKS", "PETRI", "PHIAL", "FUGAL",\r
+    "HOLON", "BOOMY", "DUOMO", "MUSOS", "SHIER", "HAYER", "PORGY", "HIVED", "LITHO",\r
+    "FISTY", "STAGY", "LUVYA", "MARIA", "SMOGS", "ASANA", "YOGIC", "SLOMO", "FAWNY",\r
+    "AMINE", "WEFTS", "GONAD", "TWIRP", "BRAVA", "PLYER", "FERMI", "LOGES", "NITER",\r
+    "REVET", "UNATE", "GYVED", "TOTTY", "ZAPPY", "HONER", "GIROS", "DICER", "CALKS",\r
+    "LUXES", "MONAD", "CRUFT", "QUOIN", "FUMER", "AMPED", "SHLEP", "VINCA", "YAHOO",\r
+    "VULVA", "ZOOEY", "DRYAD", "NIXIE", "MOPER", "IAMBS", "LUNES", "NUDIE", "LIMNS",\r
+    "WEALS", "NOHOW", "MIAOW", "GOUTS", "MYNAS", "MAZER", "KIKES", "OXEYE", "STOUP",\r
+    "JUJUS", "DEBAR", "PUBES", "TAELS", "DEFUN", "RANDS", "BLEAR", "PAVER", "GOOSY",\r
+    "SPROG", "OLEOS", "TOFFY", "PAWER", "MACED", "CRITS", "KLUGE", "TUBED", "SAHIB",\r
+    "GANEF", "SCATS", "SPUTA", "VANED", "ACNED", "TAXOL", "PLINK", "OWETH", "TRIBS",\r
+    "RESAY", "BOULE", "THOUS", "HAPLY", "GLANS", "MAXIS", "BEZEL", "ANTIS", "PORKS",\r
+    "QUOIT", "ALKYD", "GLARY", "BEAMY", "HEXAD", "BONKS", "TECUM", "KERBS", "FILAR",\r
+    "FRIER", "REDUX", "ABUZZ", "FADER", "SHOER", "COUTH", "TRUES", "GUYED", "GOONY",\r
+    "BOOKY", "FUZES", "HURLY", "GENET", "HODAD", "CALIX", "FILER", "PAWLS", "IODIC",\r
+    "UTERO", "HENGE", "UNSAY", "LIERS", "PIING", "WEALD", "SEXED", "FOLIC", "POXED",\r
+    "CUNTS", "ANILE", "KITHS", "BECKS", "TATTY", "PLENA", "REBAR", "ABLED", "TOYER",\r
+    "ATTAR", "TEAKS", "AIOLI", "AWING", "ANENT", "FECES", "REDIP", "WISTS", "PRATS",\r
+    "MESNE", "MUTER", "SMURF", "OWEST", "BAHTS", "LOSSY", "FTPED", "HUNKY", "HOERS",\r
+    "SLIER", "SICKS", "FATLY", "DELFT", "HIVER", "HIMBO", "PENGO", "BUSKS", "LOXES",\r
+    "ZONKS", "ILIUM", "APORT", "IKONS", "MULCT", "REEVE", "CIVVY", "CANNA", "BARFY",\r
+    "KAIAK", "SCUDO", "KNOUT", "GAPER", "BHANG", "PEASE", "UTERI", "LASES", "PATEN",\r
+    "RASAE", "AXELS", "STOAS", "OMBRE", "STYLI", "GUNKY", "HAZER", "KENAF", "AHOYS",\r
+    "AMMOS", "WEENY", "URGER", "KUDZU", "PAREN", "BOLOS", "FETOR", "NITTY", "TECHY",\r
+    "LIETH", "SOMAS", "DARKY", "VILLI", "GLUON", "JANES", "CANTS", "FARTS", "SOCLE",\r
+    "JINNS", "RUING", "SLILY", "RICER", "HADDA", "WOWEE", "RICES", "NERTS", "CAULS",\r
+    "SWIVE", "LILTY", "MICKS", "ARITY", "PASHA", "FINIF", "OINKY", "GUTTY", "TETRA",\r
+    "WISES", "WOLDS", "BALDS", "PICOT", "WHATS", "SHIKI", "BUNGS", "SNARF", "LEGOS",\r
+    "DUNGS", "STOGY", "BERMS", "TANGS", "VAILS", "ROODS", "MOREL", "SWARE", "ELANS",\r
+    "LATUS", "GULES", "RAZER", "DOXIE", "BUENA", "OVERS", "GUTTA", "ZINCS", "NATES",\r
+    "KIRKS", "TIKES", "DONEE", "JERRY", "MOHEL", "CEDER", "DOGES", "UNMAP", "FOLIA",\r
+    "RAWLY", "SNARK", "TOPOI", "CEILS", "IMMIX", "YORES", "DIEST", "BUBBA", "POMPS",\r
+    "FORKY", "TURDY", "LAWZY", "POOHS", "WORTS", "GLOMS", "BEANO", "MULEY", "BARKY",\r
+    "TUNNY", "AURIC", "FUNKS", "GAFFS", "CORDY", "CURDY", "LISLE", "TORIC", "SOYAS",\r
+    "REMAN", "MUNGY", "CARPY", "APISH", "OATEN", "GAPPY", "AURAE", "BRACT", "ROOKY",\r
+    "AXLED", "BURRY", "SIZER", "PROEM", "TURFY", "IMPRO", "MASHY", "MIENS", "NONNY",\r
+    "OLIOS", "GROOK", "SATES", "AGLEY", "CORGI", "DASHY", "DOSER", "DILDO", "APSOS",\r
+    "XORED", "LAKER", "PLAYA", "SELAH", "MALTY", "DULSE", "FRIGS", "DEMIT", "WHOSO",\r
+    "RIALS", "SAWER", "BEDIM", "SNUGS", "FANIN", "AZOIC", "ICERS", "SUERS", "WIZEN",\r
+    "KOINE", "TOPOS", "SHIRR", "RIFER", "FERAL", "LADED", "LASED", "TURDS", "SWEDE",\r
+    "EASTS", "COZEN", "UNHIT", "PALLY", "AITCH", "SEDUM", "COPER", "RUCHE", "GEEKS",\r
+    "SWAGS", "ETEXT", "ALGIN", "OFFED", "NINJA", "HOLER", "DOTER", "TOTER", "BESOT",\r
+    "DICUT", "MACER", "PEENS", "PEWIT", "REDOX", "POLER", "YECCH", "FLUKY", "DOETH",\r
+    "TWATS", "CRUDS", "BEBUG", "BIDER", "STELE", "HEXER", "WESTS", "GLUER", "PILAU",\r
+    "ABAFT", "WHELM", "LACER", "INODE", "TABUS", "GATOR", "CUING", "REFLY", "LUTED",\r
+    "CUKES", "BAIRN", "BIGHT", "ARSES", "CRUMP", "LOGGY", "BLINI", "SPOOR", "TOYON",\r
+    "HARKS", "WAZOO", "FENNY", "NAVES", "KEYER", "TUFAS", "MORPH", "RAJAS", "TYPAL",\r
+    "SPIFF", "OXLIP", "UNBAN", "MUSSY", "FINNY", "RIMER", "LOGIN", "MOLAS", "CIRRI",\r
+    "HUZZA", "AGONE", "UNSEX", "UNWON", "PEATS", "TOILE", "ZOMBI", "DEWED", "NOOKY",\r
+    "ALKYL", "IXNAY", "DOVEY", "HOLEY", "CUBER", "AMYLS", "PODIA", "CHINO", "APNEA",\r
+    "PRIMS", "LYCRA", "JOHNS", "PRIMO", "FATWA", "EGGER", "HEMPY", "SNOOK", "HYING",\r
+    "FUZED", "BARMS", "CRINK", "MOOTS", "YERBA", "RHUMB", "UNARC", "DIRER", "MUNGE",\r
+    "ELAND", "NARES", "WRIER", "NODDY", "ATILT", "JUKES", "ENDER", "THENS", "UNFIX",\r
+    "DOGGO", "ZOOKS", "DIDDY", "SHMOO", "BRUSK", "PREST", "CURER", "PASTS", "KELPY",\r
+    "BOCCE", "KICKY", "TAROS", "LINGS", "DICKY", "NERDY", "ABEND", "STELA", "BIGGY",\r
+    "LAVED", "BALDY", "PUBIS", "GOOKS", "WONKY", "STIED", "HYPOS", "ASSED", "SPUMY",\r
+    "OSIER", "ROBLE", "RUMBA", "BIFFY", "PUPAL"\r
+]\r
+\r
+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']\r
+\r
+def most_used_letters():\r
+    dicto = {}\r
+    for i in alphabet:\r
+        count = 0\r
+        for word in words:\r
+            for letter in word:\r
+                if i.upper() == letter.upper():\r
+                    count+=1\r
+                    break\r
+        dicto[i] = count\r
+    dicto = dict(sorted(dicto.items(), key=lambda item: item[1], reverse=True))\r
+    print("Letter | Usage")\r
+    print("--------------")\r
+    for k in dicto:\r
+        print(f"{k.upper()}      | {dicto[k]}")\r
+\r
+\r
+def list_of_valid_words():\r
+    letters = ['s', 'e', 'a', 'r', 'o', 'i', 'L', 'n', 'p', 'c']\r
+    for i, letter in enumerate(letters): # Force all letters to be capitalized\r
+        letters[i] = letter.upper()\r
+\r
+    legal_words = []\r
+    for word in words:\r
+        valid_word = True\r
+        for letter in word:\r
+            if letter.upper() not in letters:\r
+                valid_word = False\r
+                break\r
+        if valid_word and word not in legal_words:\r
+            legal_words.append(word)\r
+\r
+    for i,word in enumerate(legal_words):\r
+        legal_words[i] = word.upper().replace("D","d")\r
+                \r
+    print(f"Number of words found: {len(legal_words)}")\r
+    items_per_row = 9\r
+    i = 0\r
+    print("static const char _legal_words[][WORDLE_LENGTH + 1] = {")\r
+    while i < len(legal_words):\r
+        print("    ", end='')\r
+        for j in range(min(items_per_row, len(legal_words)-i)):\r
+            print(f'"{legal_words[i]}", ', end='')\r
+            i+=1\r
+        print('')\r
+    print("};")\r
+\r
+if __name__ == "__main__":\r
+    #most_used_letters()\r
+    list_of_valid_words()\r
+\r