├── .gitignore ├── Makefile ├── PalmWordle.c ├── PalmWordle.h ├── PalmWordle.rcp ├── PalmWordleColor.bmp ├── PalmWordleGray4.bmp ├── PalmWordleHires.bmp ├── PalmWordleMono.bmp ├── PalmWordleSmall.bmp ├── README.md ├── chain_bw.png ├── chain_color.png ├── guess_bw.png ├── guess_color.png ├── keyboard_bw.png ├── keyboard_color.png ├── palms.jpg ├── slope_bw.png ├── slope_color.png ├── validwords.h ├── validwordsbyletter.h └── wordorder.h /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | *.bin 3 | *.o 4 | *.prc 5 | PalmWordle -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | CC = m68k-palmos-gcc 2 | CFLAGS = -O2 -Wall 3 | 4 | all: PWordle.prc 5 | 6 | PWordle.prc: PalmWordle bin.stamp 7 | build-prc PWordle.prc "Wordle" WRDL PalmWordle *.bin 8 | 9 | PalmWordle: PalmWordle.o 10 | $(CC) $(CFLAGS) -o PalmWordle PalmWordle.o 11 | 12 | PalmWordle.o: PalmWordle.c PalmWordle.h 13 | $(CC) $(CFLAGS) -c PalmWordle.c 14 | 15 | bin.stamp: PalmWordle.rcp PalmWordle.h *.bmp 16 | pilrc PalmWordle.rcp 17 | 18 | clean: 19 | -rm -f *.[oa] PalmWordle *.bin *.stamp 20 | -------------------------------------------------------------------------------- /PalmWordle.c: -------------------------------------------------------------------------------- 1 | #include "PalmWordle.h" 2 | #include 3 | #include "wordorder.h" 4 | 5 | #define thickFrame 2 6 | #define PALETTE_OFFSET 127 7 | #define CORRECT_COLOR PALETTE_OFFSET 8 | #define INWORD_COLOR PALETTE_OFFSET + 1 9 | #define WRONG_COLOR PALETTE_OFFSET + 2 10 | 11 | const Char *word; 12 | int guessRow = 0; 13 | int guessCol = 0; 14 | Char guess[6][5]; 15 | Boolean enableColor; 16 | IndexedColorType letterStatuses[26]; 17 | int screenWidth, xOffset; 18 | 19 | static void DrawKeyboardLetter(Char c, IndexedColorType color, int x, int y) 20 | { 21 | RectangleType rect; 22 | FrameType frame = simpleFrame; 23 | 24 | rect.topLeft.x = x; 25 | rect.topLeft.y = y; 26 | rect.extent.x = 10; 27 | rect.extent.y = 10; 28 | 29 | WinDrawChar(c, x + 1, y - 1); 30 | if (enableColor) 31 | { 32 | WinSetForeColor(color); 33 | WinDrawRectangleFrame(frame, &rect); 34 | } 35 | else 36 | { 37 | if (color == CORRECT_COLOR) 38 | { 39 | frame = thickFrame; 40 | WinDrawRectangleFrame(frame, &rect); 41 | } 42 | else if (color == INWORD_COLOR) 43 | { 44 | frame = roundFrame; 45 | WinDrawRectangleFrame(frame, &rect); 46 | } 47 | else if (color == WRONG_COLOR) 48 | { 49 | WinDrawRectangle(&rect, 0); 50 | WinEraseChars(&c, 1, x + 1, y - 1); 51 | } 52 | } 53 | } 54 | 55 | static void DrawKeyboardUsedChars(int x, int y) 56 | { 57 | const char *topRow = "qwertyuiop"; 58 | const char *midRow = "asdfghjkl"; 59 | const char *botRow = "zxcvbnm"; 60 | int guessNum, colNum, i, letterIndex, letterStatus; 61 | 62 | WinPushDrawState(); 63 | 64 | for (guessNum = 0; guessNum < guessRow; guessNum++) 65 | { 66 | for (colNum = 0; colNum < 5; colNum++) 67 | { 68 | letterIndex = guess[guessNum][colNum] - 'a'; 69 | if (guess[guessNum][colNum] == word[colNum]) 70 | { 71 | letterStatuses[letterIndex] = CORRECT_COLOR; 72 | } 73 | else if (letterStatuses[letterIndex] != CORRECT_COLOR) 74 | { 75 | letterStatuses[letterIndex] = WRONG_COLOR; 76 | for (i = 0; i < 5; i++) 77 | { 78 | if (guess[guessNum][colNum] == word[i]) 79 | { 80 | letterStatuses[letterIndex] = INWORD_COLOR; 81 | } 82 | } 83 | } 84 | } 85 | } 86 | 87 | FntSetFont(stdFont); 88 | 89 | for (i = 0; i < StrLen(topRow); i++) 90 | { 91 | letterStatus = letterStatuses[topRow[i] - 'a']; 92 | DrawKeyboardLetter(topRow[i], letterStatus, x + i * 14, y); 93 | } 94 | 95 | for (i = 0; i < StrLen(midRow); i++) 96 | { 97 | letterStatus = letterStatuses[midRow[i] - 'a']; 98 | DrawKeyboardLetter(midRow[i], letterStatus, x + 7 + i * 14, y + 14); 99 | } 100 | 101 | for (i = 0; i < StrLen(botRow); i++) 102 | { 103 | letterStatus = letterStatuses[botRow[i] - 'a']; 104 | DrawKeyboardLetter(botRow[i], letterStatus, x + 21 + i * 14, y + 28); 105 | } 106 | 107 | WinPopDrawState(); 108 | } 109 | 110 | static Boolean CheckAndRenderWord(const Char correct[5], const Char guess[5], int x, int y) 111 | { 112 | Boolean won = true; 113 | int i, j, k; 114 | int wordInstances, guessInstances; 115 | int timesBeaten; 116 | IndexedColorType colors[5] = { 117 | CORRECT_COLOR, 118 | CORRECT_COLOR, 119 | CORRECT_COLOR, 120 | CORRECT_COLOR, 121 | CORRECT_COLOR}; 122 | RectangleType rect; 123 | rect.topLeft.x = x; 124 | rect.topLeft.y = y; 125 | rect.extent.x = 20; 126 | rect.extent.y = 20; 127 | 128 | WinPushDrawState(); 129 | 130 | FntSetFont(largeFont); 131 | 132 | for (i = 0; i < 5; i++) 133 | { 134 | if (correct[i] != guess[i]) 135 | { 136 | colors[i] = WRONG_COLOR; 137 | won = false; 138 | for (j = 0; j < 5; j++) 139 | { 140 | if (correct[j] == guess[i]) 141 | { 142 | wordInstances = 0; 143 | guessInstances = 0; 144 | for (k = 0; k < 5; k++) 145 | { 146 | if (correct[k] == guess[i]) 147 | { 148 | wordInstances++; 149 | } 150 | if (guess[k] == guess[i]) 151 | { 152 | guessInstances++; 153 | } 154 | } 155 | colors[i] = INWORD_COLOR; 156 | if (wordInstances < guessInstances) 157 | { 158 | timesBeaten = 0; 159 | for (k = 0; k < 5; k++) 160 | { 161 | if (k < i) 162 | { 163 | if (guess[k] == guess[i] && colors[k] < WRONG_COLOR) 164 | { 165 | timesBeaten++; 166 | } 167 | } 168 | else if (k > i) 169 | { 170 | if (guess[k] == guess[i] && guess[k] == correct[k]) 171 | { 172 | timesBeaten++; 173 | } 174 | } 175 | } 176 | if (timesBeaten >= wordInstances) 177 | { 178 | colors[i] = WRONG_COLOR; 179 | } 180 | } 181 | } 182 | } 183 | } 184 | 185 | rect.topLeft.x = x + i * 24; 186 | 187 | if (enableColor) 188 | { 189 | WinSetForeColor(colors[i]); 190 | WinDrawRectangleFrame(thickFrame, &rect); 191 | } 192 | else 193 | { 194 | if (colors[i] != CORRECT_COLOR) 195 | { 196 | WinEraseRectangleFrame(simpleFrame, &rect); 197 | } 198 | if (colors[i] == CORRECT_COLOR) 199 | { 200 | WinDrawRectangleFrame(thickFrame, &rect); 201 | } 202 | else if (colors[i] == INWORD_COLOR) 203 | { 204 | WinDrawRectangleFrame(roundFrame, &rect); 205 | } 206 | } 207 | WinDrawChar(guess[i] - 0x20, x + i * 24 + 7, y + 2); 208 | } 209 | 210 | WinPopDrawState(); 211 | return won; 212 | } 213 | 214 | static void RenderBoard() 215 | { 216 | int row, col; 217 | RectangleType rect; 218 | rect.extent.x = 20; 219 | rect.extent.y = 20; 220 | 221 | if (screenWidth >= 320) 222 | { 223 | DrawKeyboardUsedChars(screenWidth / 2 + 10, 20); 224 | } 225 | 226 | for (row = 0; row < 6; row++) 227 | { 228 | if (row < guessRow) 229 | { 230 | CheckAndRenderWord(word, guess[row], xOffset, row * 24 + 18); 231 | } 232 | else 233 | { 234 | for (col = 0; col < 5; col++) 235 | { 236 | rect.topLeft.x = col * 24 + xOffset; 237 | rect.topLeft.y = row * 24 + 18; 238 | WinDrawRectangleFrame(simpleFrame, &rect); 239 | if (row == guessRow && col < guessCol) 240 | { 241 | WinDrawChar(guess[row][col] - 0x20, col * 24 + xOffset + 7, row * 24 + 20); 242 | } 243 | } 244 | } 245 | } 246 | } 247 | 248 | static void RenderNextAndLastGuess(int x, int y) 249 | { 250 | int i; 251 | RectangleType rect; 252 | rect.extent.x = 20; 253 | rect.extent.y = 20; 254 | rect.topLeft.y = y; 255 | 256 | for (i = 0; i < 5; i++) 257 | { 258 | rect.topLeft.x = x + i * 24; 259 | rect.topLeft.y = y; 260 | WinDrawRectangleFrame(simpleFrame, &rect); 261 | rect.topLeft.y = y + 24; 262 | WinDrawRectangleFrame(simpleFrame, &rect); 263 | if (guessCol > i) 264 | { 265 | WinDrawChar(guess[guessRow][i] - 0x20, i * 24 + x + 7, y + 26); 266 | } 267 | } 268 | 269 | if (guessRow > 0) 270 | { 271 | CheckAndRenderWord(word, guess[guessRow - 1], screenWidth / 2 - 60, y); 272 | } 273 | } 274 | 275 | static void ClearWord(int x, int y) 276 | { 277 | int i; 278 | RectangleType rect; 279 | rect.extent.x = 20; 280 | rect.extent.y = 20; 281 | rect.topLeft.y = y; 282 | 283 | for (i = 0; i < 5; i++) 284 | { 285 | rect.topLeft.x = x + i * 24; 286 | rect.topLeft.y = y; 287 | WinEraseRectangle(&rect, 0); 288 | rect.topLeft.y = y + 24; 289 | WinEraseRectangle(&rect, 0); 290 | } 291 | } 292 | 293 | static void RenderCorrectWord() 294 | { 295 | CheckAndRenderWord(word, word, screenWidth / 2 - 60, 70); 296 | } 297 | 298 | static void RenderFinalWord() 299 | { 300 | CheckAndRenderWord(word, guess[guessRow], screenWidth / 2 - 60, 110); 301 | } 302 | 303 | static Boolean WinFormHandleEvent(EventPtr e) 304 | { 305 | if (e->eType == frmOpenEvent) 306 | { 307 | RenderCorrectWord(); 308 | return true; 309 | } 310 | return false; 311 | } 312 | 313 | static Boolean LoseFormHandleEvent(EventPtr e) 314 | { 315 | if (e->eType == frmOpenEvent) 316 | { 317 | RenderCorrectWord(); 318 | RenderFinalWord(); 319 | return true; 320 | } 321 | return false; 322 | } 323 | 324 | static Boolean HandleKeyDown(EventPtr e) 325 | { 326 | RectangleType rect, keyboardRect; 327 | Boolean won; 328 | Boolean handled = false; 329 | UInt16 activeFormId = FrmGetActiveFormID(); 330 | 331 | rect.extent.x = 20; 332 | rect.extent.y = 20; 333 | 334 | if (e->data.keyDown.chr == chrBackspace) 335 | { 336 | if (guessCol > 0) 337 | { 338 | guessCol--; 339 | } 340 | rect.topLeft.x = guessCol * 24 + xOffset; 341 | if (activeFormId == MainForm) 342 | { 343 | rect.topLeft.y = guessRow * 24 + 18; 344 | } 345 | else 346 | { 347 | rect.topLeft.y = 44; 348 | } 349 | WinEraseRectangle(&rect, 0); 350 | handled = true; 351 | } 352 | else if ((e->data.keyDown.chr == chrLineFeed || e->data.keyDown.chr == vchrRockerCenter || e->data.keyDown.chr == vchrThumbWheelPush) && 353 | guessCol == 5) 354 | { 355 | if (activeFormId == MainForm) 356 | { 357 | won = CheckAndRenderWord(word, guess[guessRow], xOffset, guessRow * 24 + 18); 358 | } 359 | else 360 | { 361 | ClearWord(xOffset, 20); 362 | ClearWord(xOffset, 44); 363 | won = CheckAndRenderWord(word, guess[guessRow], xOffset, 20); 364 | } 365 | 366 | if (won) 367 | { 368 | if (screenWidth == 560) 369 | { 370 | FrmGotoForm(WinFormDana); 371 | } 372 | else 373 | { 374 | FrmGotoForm(WinForm); 375 | } 376 | return true; 377 | } 378 | 379 | if (guessRow < 5 && !won) 380 | { 381 | guessRow++; 382 | guessCol = 0; 383 | if (screenWidth >= 320) 384 | { 385 | keyboardRect.topLeft.x = screenWidth / 2; 386 | keyboardRect.topLeft.y = 20; 387 | keyboardRect.extent.x = 160; 388 | keyboardRect.extent.y = 80; 389 | WinEraseRectangle(&keyboardRect, 0); 390 | DrawKeyboardUsedChars(screenWidth / 2 + 10, 20); 391 | } 392 | else if (activeFormId == KeyboardForm) 393 | { 394 | keyboardRect.topLeft.x = 10; 395 | keyboardRect.topLeft.y = 95; 396 | keyboardRect.extent.x = 160; 397 | keyboardRect.extent.y = 40; 398 | WinEraseRectangle(&keyboardRect, 0); 399 | DrawKeyboardUsedChars(10, 96); 400 | } 401 | } 402 | else 403 | { 404 | if (screenWidth == 560) 405 | { 406 | FrmGotoForm(LoseFormDana); 407 | } 408 | else 409 | { 410 | FrmGotoForm(LoseForm); 411 | } 412 | return true; 413 | } 414 | handled = true; 415 | } 416 | else if (((e->data.keyDown.chr >= chrCapital_A && e->data.keyDown.chr <= chrCapital_Z) || 417 | (e->data.keyDown.chr >= chrSmall_A && e->data.keyDown.chr <= chrSmall_Z)) && 418 | guessCol < 5) 419 | { 420 | if (e->data.keyDown.chr > chrCapital_Z) 421 | { 422 | guess[guessRow][guessCol] = e->data.keyDown.chr; 423 | } 424 | else 425 | { 426 | guess[guessRow][guessCol] = e->data.keyDown.chr + 0x20; 427 | } 428 | FntSetFont(largeFont); 429 | if (activeFormId == MainForm) 430 | { 431 | WinDrawChar(guess[guessRow][guessCol] - 0x20, guessCol * 24 + xOffset + 7, guessRow * 24 + 20); 432 | } 433 | else 434 | { 435 | WinDrawChar(guess[guessRow][guessCol] - 0x20, guessCol * 24 + xOffset + 7, 44); 436 | } 437 | guessCol++; 438 | handled = true; 439 | } 440 | return handled; 441 | } 442 | 443 | static Boolean MainFormHandleEvent(EventPtr e) 444 | { 445 | Boolean handled = false; 446 | 447 | switch (e->eType) 448 | { 449 | case keyDownEvent: 450 | handled = HandleKeyDown(e); 451 | break; 452 | case frmOpenEvent: 453 | RenderBoard(); 454 | handled = true; 455 | break; 456 | default: 457 | // do nothing 458 | } 459 | return handled; 460 | } 461 | 462 | static Boolean KeyboardFormHandleEvent(EventPtr e) 463 | { 464 | Boolean handled = false; 465 | if (e->eType == frmOpenEvent) 466 | { 467 | RenderNextAndLastGuess(xOffset, 20); 468 | DrawKeyboardUsedChars(10, 96); 469 | } 470 | else if (e->eType == keyDownEvent) 471 | { 472 | handled = HandleKeyDown(e); 473 | } 474 | return handled; 475 | } 476 | 477 | static Boolean HowToForm2HandleEvent(EventPtr e) { 478 | if (e->eType == frmOpenEvent) 479 | { 480 | CheckAndRenderWord("liven", "pilot", screenWidth / 2 - 60, 64); 481 | } 482 | return false; 483 | } 484 | 485 | static Boolean ApplicationHandleEvent(EventPtr e) 486 | { 487 | short formId; 488 | FormPtr frm; 489 | 490 | if (e->eType == frmLoadEvent) 491 | { 492 | formId = e->data.frmLoad.formID; 493 | frm = FrmInitForm(formId); 494 | FrmSetActiveForm(frm); 495 | 496 | switch (formId) 497 | { 498 | case MainForm: 499 | FrmSetEventHandler(frm, MainFormHandleEvent); 500 | break; 501 | case WinForm: 502 | case WinFormDana: 503 | FrmSetEventHandler(frm, WinFormHandleEvent); 504 | break; 505 | case LoseForm: 506 | case LoseFormDana: 507 | FrmSetEventHandler(frm, LoseFormHandleEvent); 508 | break; 509 | case KeyboardForm: 510 | FrmSetEventHandler(frm, KeyboardFormHandleEvent); 511 | break; 512 | case HowToForm2: 513 | FrmSetEventHandler(frm, HowToForm2HandleEvent); 514 | break; 515 | } 516 | return true; 517 | } 518 | return false; 519 | } 520 | 521 | static void AppInit() 522 | { 523 | UInt32 nowSeconds; 524 | UInt32 nowDays; 525 | UInt32 seedDays = 42904; // June 19 2021 526 | UInt32 wordIndex; 527 | RGBColorType table[3]; 528 | 529 | table[0].r = 0; 530 | table[0].g = 127; 531 | table[0].b = 0; 532 | 533 | table[1].r = 255; 534 | table[1].g = 255; 535 | table[1].b = 0; 536 | 537 | table[2].r = 200; 538 | table[2].g = 200; 539 | table[2].b = 200; 540 | 541 | WinPalette(winPaletteSet, PALETTE_OFFSET, 3, table); 542 | WinScreenMode(winScreenModeGet, NULL, NULL, NULL, &enableColor); 543 | 544 | FrmGotoForm(MainForm); 545 | nowSeconds = TimGetSeconds(); 546 | nowDays = nowSeconds / 86400; 547 | wordIndex = nowDays - seedDays; 548 | wordIndex %= NUM_WORDS; 549 | if (wordIndex < 0) 550 | { 551 | wordIndex += NUM_WORDS; 552 | } 553 | word = wordOrder[wordIndex]; 554 | } 555 | 556 | UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags) 557 | { 558 | short err; 559 | EventType e; 560 | FormType *pfrm; 561 | RectangleType winRect; 562 | 563 | if (cmd == sysAppLaunchCmdNormalLaunch) // Make sure only react to NormalLaunch, not Reset, Beam, Find, GoTo... 564 | { 565 | AppInit(); 566 | 567 | while (1) 568 | { 569 | EvtGetEvent(&e, 100); 570 | if (SysHandleEvent(&e)) 571 | continue; 572 | if (MenuHandleEvent((void *)0, &e, &err)) 573 | continue; 574 | if (ApplicationHandleEvent(&e)) 575 | { 576 | continue; 577 | } 578 | 579 | switch (e.eType) 580 | { 581 | case ctlSelectEvent: 582 | switch (e.data.ctlSelect.controlID) 583 | { 584 | case OkButton: 585 | FrmGotoForm(MainForm); 586 | break; 587 | case NextButton: 588 | FrmGotoForm(HowToForm2); 589 | break; 590 | case BackButton: 591 | if (screenWidth == 560) 592 | { 593 | FrmGotoForm(HowToFormDana); 594 | } 595 | else 596 | { 597 | FrmGotoForm(HowToForm); 598 | } 599 | break; 600 | case QuitButton: 601 | goto _quit; 602 | break; 603 | } 604 | goto _default; 605 | break; 606 | 607 | case frmLoadEvent: 608 | FrmSetActiveForm(FrmInitForm(e.data.frmLoad.formID)); 609 | break; 610 | 611 | case frmOpenEvent: 612 | pfrm = FrmGetActiveForm(); 613 | 614 | // INCREASE THE SIZE OF THE FORM TO MATCH SCREEN SIZE 615 | winRect.topLeft.x = 0; 616 | winRect.topLeft.y = 0; 617 | // get the current screen size 618 | WinGetDisplayExtent(&winRect.extent.x, &winRect.extent.y); 619 | screenWidth = winRect.extent.x; 620 | if (screenWidth >= 320) 621 | { 622 | xOffset = screenWidth / 2 - 140; 623 | } 624 | else 625 | { 626 | xOffset = 20; 627 | } 628 | 629 | // change the size of the form to match the screen size 630 | WinSetWindowBounds(FrmGetWindowHandle(pfrm), &winRect); 631 | 632 | FrmDrawForm(pfrm); 633 | goto _default; 634 | break; 635 | 636 | case menuEvent: 637 | switch (e.data.menu.itemID) 638 | { 639 | case Keyboard: 640 | FrmGotoForm(KeyboardForm); 641 | break; 642 | case Quit: 643 | goto _quit; 644 | break; 645 | case About: 646 | if (screenWidth == 560) 647 | { 648 | FrmGotoForm(AboutFormDana); 649 | } 650 | else 651 | { 652 | FrmGotoForm(AboutForm); 653 | } 654 | break; 655 | case HowTo: 656 | if (screenWidth == 560) 657 | { 658 | FrmGotoForm(HowToFormDana); 659 | } 660 | else 661 | { 662 | FrmGotoForm(HowToForm); 663 | } 664 | break; 665 | } 666 | break; 667 | 668 | case appStopEvent: 669 | goto _quit; 670 | 671 | default: 672 | _default: 673 | if (FrmGetActiveForm()) 674 | FrmDispatchEvent(&e); 675 | } 676 | } 677 | 678 | _quit: 679 | FrmCloseAllForms(); 680 | } 681 | 682 | return 0; 683 | } 684 | -------------------------------------------------------------------------------- /PalmWordle.h: -------------------------------------------------------------------------------- 1 | #define MainForm 1000 2 | #define AboutForm 1001 3 | #define HowToForm 1002 4 | #define WinForm 1003 5 | #define LoseForm 1004 6 | #define KeyboardForm 1005 7 | #define WinFormDana 1006 8 | #define LoseFormDana 1007 9 | #define AboutFormDana 1008 10 | #define HowToFormDana 1009 11 | #define HowToForm2 1010 12 | 13 | #define OkButton 9000 14 | #define QuitButton 9001 15 | #define NextButton 9002 16 | #define BackButton 9003 17 | 18 | #define WordleMenu 2000 19 | #define Quit 2011 20 | #define Keyboard 2012 21 | #define About 2021 22 | #define HowTo 2022 23 | 24 | #define CorrectWordLabel 3000 -------------------------------------------------------------------------------- /PalmWordle.rcp: -------------------------------------------------------------------------------- 1 | #include "PalmWordle.h" 2 | 3 | /* Set bit 0 for wide tall aware. */ 4 | HEX "wTap" ID 1000 5 | 0x00 0x00 0x00 0x01 6 | 7 | FORM ID MainForm AT (0 0 160 160) 8 | USABLE 9 | MENUID WordleMenu 10 | BEGIN 11 | TITLE "Wordle" 12 | END 13 | 14 | FORM ID AboutForm AT (0 0 160 160) 15 | USABLE 16 | MENUID WordleMenu 17 | BEGIN 18 | TITLE "Wordle" 19 | LABEL "Wordle for Palm OS" AUTOID AT (CENTER 24) FONT 2 20 | LABEL "By: Bobberto1995" AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 21 | LABEL "Source code and binaries on Github:" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 22 | LABEL "https://github.com/" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 23 | LABEL "RobbieNesmith/PalmWordle" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 24 | LABEL "Based on Wordle by Josh Wardle" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 25 | LABEL "https://www.powerlanguage.co.uk/" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 26 | LABEL "wordle/" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 27 | BUTTON "OK" ID OkButton AT (CENTER 140 AUTO AUTO) 28 | END 29 | 30 | FORM ID AboutFormDana AT (0 0 560 160) 31 | USABLE 32 | MENUID WordleMenu 33 | BEGIN 34 | TITLE "Wordle" 35 | LABEL "Wordle for Palm OS" AUTOID AT (CENTER 24) FONT 2 36 | LABEL "By: Bobberto1995" AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 37 | LABEL "Source code and binaries on Github:" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 38 | LABEL "https://github.com/RobbieNesmith/PalmWordle" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 39 | LABEL "Based on Wordle by Josh Wardle" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 40 | LABEL "https://www.powerlanguage.co.uk/wordle/" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 41 | BUTTON "OK" ID OkButton AT (CENTER 140 AUTO AUTO) 42 | END 43 | 44 | FORM ID HowToForm AT (0 0 160 160) 45 | USABLE 46 | MENUID WordleMenu 47 | BEGIN 48 | TITLE "Wordle" 49 | LABEL "How to play Wordle" AUTOID AT (CENTER 24) FONT 2 50 | LABEL "Guess the WORDLE in 6 tries." AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 51 | LABEL "After each guess, the color of the" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 52 | LABEL "tiles will change to show how close" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 53 | LABEL "your guess was to the word." AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 54 | LABEL "Use Graffiti or a keyboard to enter" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 55 | LABEL "letters and enter, 5-way center" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 56 | LABEL "button or press the rocker to guess." AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 57 | BUTTON "OK" ID OkButton AT (RIGHT@78 140 AUTO AUTO) 58 | BUTTON "Next" ID NextButton AT (82 140 AUTO AUTO) 59 | END 60 | 61 | FORM ID HowToForm2 AT (0 0 160 160) 62 | USABLE 63 | MENUID WordleMenu 64 | BEGIN 65 | TITLE "Wordle" 66 | LABEL "How to play Wordle" AUTOID AT (CENTER 24) FONT 2 67 | LABEL "Example" AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 68 | LABEL "I is in the word and in the correct spot" AUTOID AT (CENTER PREVBOTTOM + 36) 69 | LABEL "L is in the word but in the wrong spot" AUTOID AT (CENTER PREVBOTTOM + 4) 70 | LABEL "O is not in the word in any spot" AUTOID AT (CENTER PREVBOTTOM + 4) 71 | BUTTON "Back" ID BackButton AT (RIGHT@78 140 AUTO AUTO) 72 | BUTTON "OK" ID OkButton AT (82 140 AUTO AUTO) 73 | END 74 | 75 | FORM ID HowToFormDana AT (0 0 560 160) 76 | USABLE 77 | MENUID WordleMenu 78 | BEGIN 79 | TITLE "Wordle" 80 | LABEL "How to play Wordle" AUTOID AT (CENTER 24) FONT 2 81 | LABEL "Guess the WORDLE in 6 tries." AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 82 | LABEL "After each guess, the color of the tiles will change" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 83 | LABEL "to show how close your guess was to the word." AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 84 | LABEL "Use Graffiti or a keyboard to enter letters" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 85 | LABEL "and enter, 5-way center button or press the rocker to guess." AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 86 | BUTTON "OK" ID OkButton AT (RIGHT@78 140 AUTO AUTO) 87 | BUTTON "Next" ID NextButton AT (82 140 AUTO AUTO) 88 | END 89 | 90 | FORM ID WinForm AT (0 0 160 160) 91 | USABLE 92 | BEGIN 93 | TITLE "Wordle" 94 | LABEL "You won!" AUTOID AT (CENTER 24) FONT 2 95 | LABEL "Congratulations!" AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 96 | LABEL "The word was" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 97 | BUTTON "Quit" ID QuitButton AT (CENTER 140 AUTO AUTO) 98 | END 99 | 100 | FORM ID LoseForm AT (0 0 160 160) 101 | USABLE 102 | BEGIN 103 | TITLE "Wordle" 104 | LABEL "You lost!" AUTOID AT (CENTER 24) FONT 2 105 | LABEL "Better luck next time" AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 106 | LABEL "The word was" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 107 | LABEL "not" AUTOID AT (CENTER PREVBOTTOM + 26) FONT 0 108 | BUTTON "Quit" ID QuitButton AT (CENTER 140 AUTO AUTO) 109 | END 110 | 111 | FORM ID WinFormDana AT (0 0 560 160) 112 | USABLE 113 | BEGIN 114 | TITLE "Wordle" 115 | LABEL "You won!" AUTOID AT (CENTER 24) FONT 2 116 | LABEL "Congratulations!" AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 117 | LABEL "The word was" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 118 | BUTTON "Quit" ID QuitButton AT (CENTER 140 AUTO AUTO) 119 | END 120 | 121 | FORM ID LoseFormDana AT (0 0 560 160) 122 | USABLE 123 | BEGIN 124 | TITLE "Wordle" 125 | LABEL "You lost!" AUTOID AT (CENTER 24) FONT 2 126 | LABEL "Better luck next time" AUTOID AT (CENTER PREVBOTTOM + 4) FONT 0 127 | LABEL "The word was" AUTOID AT (CENTER PREVBOTTOM + 2) FONT 0 128 | LABEL "not" AUTOID AT (CENTER PREVBOTTOM + 26) FONT 0 129 | BUTTON "Quit" ID QuitButton AT (CENTER 140 AUTO AUTO) 130 | END 131 | 132 | FORM ID KeyboardForm AT (0 0 160 160) 133 | USABLE 134 | MENUID WordleMenu 135 | BEGIN 136 | TITLE "Wordle" 137 | BUTTON "OK" ID OkButton AT (CENTER 140 AUTO AUTO) 138 | END 139 | 140 | MENU ID WordleMenu 141 | BEGIN 142 | PULLDOWN "Game" 143 | BEGIN 144 | MENUITEM "Show Keyboard" ID Keyboard "K" 145 | MENUITEM "Quit" ID Quit "Q" 146 | END 147 | PULLDOWN "Help" 148 | BEGIN 149 | MENUITEM "About" ID About "A" 150 | MENUITEM "How to Play" ID HowTo "H" 151 | END 152 | END 153 | 154 | ICONFAMILYEX 155 | BEGIN 156 | BITMAP "PalmWordleMono.bmp" BPP 1 157 | BITMAP "PalmWordleGray4.bmp" BPP 2 158 | BITMAP "PalmWordleColor.bmp" BPP 8 TRANSPARENCY 255 0 0 159 | BITMAP "PalmWordleHires.bmp" BPP 8 DENSITY 2 TRANSPARENCY 255 0 0 160 | END 161 | 162 | SMALLICON "PalmWordleSmall.bmp" 163 | 164 | VERSION 1 "3.1.0" 165 | 166 | LAUNCHERCATEGORY ID 1000 "Games" 167 | -------------------------------------------------------------------------------- /PalmWordleColor.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/PalmWordleColor.bmp -------------------------------------------------------------------------------- /PalmWordleGray4.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/PalmWordleGray4.bmp -------------------------------------------------------------------------------- /PalmWordleHires.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/PalmWordleHires.bmp -------------------------------------------------------------------------------- /PalmWordleMono.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/PalmWordleMono.bmp -------------------------------------------------------------------------------- /PalmWordleSmall.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/PalmWordleSmall.bmp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PalmWordle 2 | 3 | ![Some Palms running PalmWordle](palms.jpg) 4 | 5 | ## About 6 | In a fit of madness, I have ported the web game [WORDLE](https://www.powerlanguage.co.uk/wordle/) by Josh Wardle to Palm OS devices. 7 | WORDLE is a game where you try to five letter word. After each guess you are told whether your letters are not in the word, in the word but in the wrong place, or in the correct place. 8 | You have six guesses to get the hidden word. There is a new word each day. 9 | 10 | ## Building 11 | 12 | I am using [PRC Tools Remix](https://github.com/jichu4n/prc-tools-remix) to build on Ubuntu WSL. 13 | This project is using ANSI C. 14 | 15 | ## How To Play 16 | 17 | Every day a new word is available for you to guess. When you enter a word, the tiles change to show how close your guess is to the correct word. If a letter has a grey border or is not highlighted, it is not in the word. You have six guesses to correctly guess the word. 18 | 19 | Once you have entered your guess, use Graffiti or your keyboard to hit enter. You can also use the D-pad center button or press in on the rocker if these are available. 20 | 21 | | letter state | black and white devices| color devices | 22 | |---|---|---| 23 | | Not guessed | ![not guessed black and white](guess_bw.png) | ![not guessed color](guess_color.png) | 24 | | In the word but in the wrong location | ![close black and white](slope_bw.png) | ![close color](slope_color.png) | 25 | | Correct | ![correct black and white](chain_bw.png) | ![correct color](chain_color.png) | 26 | 27 | You can also view your previous letter guesses on a keyboard by selecting "Show Keyboard" from the "Game" menu. Similar styles are used to show which letters have been guessed, but on black and white devices, inverted letters means that they are not in the word. 28 | | black and white | color | 29 | |---|---| 30 | | ![keyboard black and white](keyboard_bw.png) | ![keyboard color](keyboard_color.png) | 31 | 32 | ## Supported Devices 33 | 34 | It doesn't work on older devices due to various API incompatibilities, but anything above Palm OS 3.5 should work just fine. 35 | 36 | Here is a list of devices that it has been tested on (Feel free to open a PR if your device works and isn't on this list!) 37 | 38 | ### Alphasmart 39 | - Dana Wireless (OS 4.1) 40 | 41 | ### Fossil 42 | - Abacus AU5005 (OS 4.1) 43 | 44 | ### Palm 45 | - III (4.1) 46 | - IIIc (3.5) 47 | - M100 (3.5.1) 48 | - M105 (3.5.1) 49 | - M505 (4.0) 50 | - M515 (4.1) 51 | - Tungsten C (5.2.1) 52 | - Tungsten E (5.2.1) 53 | - Tungsten T3 (5.2.1) 54 | - T|X (5.4.9) 55 | 56 | ### Sony 57 | - CLIÉ NX70V (OS 5.0) 58 | - CLIÉ PEG-SL10/E (OS 4.0) 59 | - CLIÉ PEG-UX50 (5.2) 60 | -------------------------------------------------------------------------------- /chain_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/chain_bw.png -------------------------------------------------------------------------------- /chain_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/chain_color.png -------------------------------------------------------------------------------- /guess_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/guess_bw.png -------------------------------------------------------------------------------- /guess_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/guess_color.png -------------------------------------------------------------------------------- /keyboard_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/keyboard_bw.png -------------------------------------------------------------------------------- /keyboard_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/keyboard_color.png -------------------------------------------------------------------------------- /palms.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/palms.jpg -------------------------------------------------------------------------------- /slope_bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/slope_bw.png -------------------------------------------------------------------------------- /slope_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobbieNesmith/PalmWordle/52cbcedacaf15ba4d1a76ea5b8b7d48eb5a4f809/slope_color.png -------------------------------------------------------------------------------- /validwordsbyletter.h: -------------------------------------------------------------------------------- 1 | Char validWordsa[596][5] = {"aahed", "aalii", "aargh", "aarti", "abaca", "abaci", "abacs", "abaft", "abaka", "abamp", "aband", "abash", "abask", "abaya", "abbas", "abbed", "abbes", "abcee", "abeam", "abear", "abele", "abers", "abets", "abies", "abler", "ables", "ablet", "ablow", "abmho", "abohm", "aboil", "aboma", "aboon", "abord", "abore", "abram", "abray", "abrim", "abrin", "abris", "absey", "absit", "abuna", "abune", "abuts", "abuzz", "abyes", "abysm", "acais", "acari", "accas", "accoy", "acerb", "acers", "aceta", "achar", "ached", "aches", "achoo", "acids", "acidy", "acing", "acini", "ackee", "acker", "acmes", "acmic", "acned", "acnes", "acock", "acold", "acred", "acres", "acros", "acted", "actin", "acton", "acyls", "adaws", "adays", "adbot", "addax", "added", "adder", "addio", "addle", "adeem", "adhan", "adieu", "adios", "adits", "adman", "admen", "admix", "adobo", "adown", "adoze", "adrad", "adred", "adsum", "aduki", "adunc", "adust", "advew", "adyta", "adzed", "adzes", "aecia", "aedes", "aegis", "aeons", "aerie", "aeros", "aesir", "afald", "afara", "afars", "afear", "aflaj", "afore", "afrit", "afros", "agama", "agami", "agars", "agast", "agave", "agaze", "agene", "agers", "agger", "aggie", "aggri", "aggro", "aggry", "aghas", "agila", "agios", "agism", "agist", "agita", "aglee", "aglet", "agley", "agloo", "aglus", "agmas", "agoge", "agone", "agons", "agood", "agria", "agrin", "agros", "agued", "agues", "aguna", "aguti", "aheap", "ahent", "ahigh", "ahind", "ahing", "ahint", "ahold", "ahull", "ahuru", "aidas", "aided", "aides", "aidoi", "aidos", "aiery", "aigas", "aight", "ailed", "aimed", "aimer", "ainee", "ainga", "aioli", "aired", "airer", "airns", "airth", "airts", "aitch", "aitus", "aiver", "aiyee", "aizle", "ajies", "ajiva", "ajuga", "ajwan", "akees", "akela", "akene", "aking", "akita", "akkas", "alaap", "alack", "alamo", "aland", "alane", "alang", "alans", "alant", "alapa", "alaps", "alary", "alate", "alays", "albas", "albee", "alcid", "alcos", "aldea", "alder", "aldol", "aleck", "alecs", "alefs", "aleft", "aleph", "alews", "aleye", "alfas", "algal", "algas", "algid", "algin", "algor", "algum", "alias", "alifs", "aline", "alist", "aliya", "alkie", "alkos", "alkyd", "alkyl", "allee", "allel", "allis", "allod", "allyl", "almah", "almas", "almeh", "almes", "almud", "almug", "alods", "aloed", "aloes", "aloha", "aloin", "aloos", "alowe", "altho", "altos", "alula", "alums", "alure", "alvar", "alway", "amahs", "amain", "amate", "amaut", "amban", "ambit", "ambos", "ambry", "ameba", "ameer", "amene", "amens", "ament", "amias", "amice", "amici", "amide", "amido", "amids", "amies", "amiga", "amigo", "amine", "amino", "amins", "amirs", "amlas", "amman", "ammon", "ammos", "amnia", "amnic", "amnio", "amoks", "amole", "amort", "amour", "amove", "amowt", "amped", "ampul", "amrit", "amuck", "amyls", "anana", "anata", "ancho", "ancle", "ancon", "andro", "anear", "anele", "anent", "angas", "anglo", "anigh", "anile", "anils", "anima", "animi", "anion", "anise", "anker", "ankhs", "ankus", "anlas", "annal", "annas", "annat", "anoas", "anole", "anomy", "ansae", "antae", "antar", "antas", "anted", "antes", "antis", "antra", "antre", "antsy", "anura", "anyon", "apace", "apage", "apaid", "apayd", "apays", "apeak", "apeek", "apers", "apert", "apery", "apgar", "aphis", "apian", "apiol", "apish", "apism", "apode", "apods", "apoop", "aport", "appal", "appay", "appel", "appro", "appui", "appuy", "apres", "apses", "apsis", "apsos", "apted", "apter", "aquae", "aquas", "araba", "araks", "arame", "arars", "arbas", "arced", "archi", "arcos", "arcus", "ardeb", "ardri", "aread", "areae", "areal", "arear", "areas", "areca", "aredd", "arede", "arefy", "areic", "arene", "arepa", "arere", "arete", "arets", "arett", "argal", "argan", "argil", "argle", "argol", "argon", "argot", "argus", "arhat", "arias", "ariel", "ariki", "arils", "ariot", "arish", "arked", "arled", "arles", "armed", "armer", "armet", "armil", "arnas", "arnut", "aroba", "aroha", "aroid", "arpas", "arpen", "arrah", "arras", "arret", "arris", "arroz", "arsed", "arses", "arsey", "arsis", "artal", "artel", "artic", "artis", "aruhe", "arums", "arval", "arvee", "arvos", "aryls", "asana", "ascon", "ascus", "asdic", "ashed", "ashes", "ashet", "asked", "asker", "askoi", "askos", "aspen", "asper", "aspic", "aspie", "aspis", "aspro", "assai", "assam", "asses", "assez", "assot", "aster", "astir", "astun", "asura", "asway", "aswim", "asyla", "ataps", "ataxy", "atigi", "atilt", "atimy", "atlas", "atman", "atmas", "atmos", "atocs", "atoke", "atoks", "atoms", "atomy", "atony", "atopy", "atria", "atrip", "attap", "attar", "atuas", "audad", "auger", "aught", "aulas", "aulic", "auloi", "aulos", "aumil", "aunes", "aunts", "aurae", "aural", "aurar", "auras", "aurei", "aures", "auric", "auris", "aurum", "autos", "auxin", "avale", "avant", "avast", "avels", "avens", "avers", "avgas", "avine", "avion", "avise", "aviso", "avize", "avows", "avyze", "awarn", "awato", "awave", "aways", "awdls", "aweel", "aweto", "awing", "awmry", "awned", "awner", "awols", "awork", "axels", "axile", "axils", "axing", "axite", "axled", "axles", "axman", "axmen", "axoid", "axone", "axons", "ayahs", "ayaya", "ayelp", "aygre", "ayins", "ayont", "ayres", "ayrie", "azans", "azide", "azido", "azine", "azlon", "azoic", "azole", "azons", "azote", "azoth", "azuki", "azurn", "azury", "azygy", "azyme", "azyms"}; 2 | const Char validWordsb[736][5] = {"baaed", "baals", "babas", "babel", "babes", "babka", "baboo", "babul", "babus", "bacca", "bacco", "baccy", "bacha", "bachs", "backs", "baddy", "baels", "baffs", "baffy", "bafts", "baghs", "bagie", "bahts", "bahus", "bahut", "bails", "bairn", "baisa", "baith", "baits", "baiza", "baize", "bajan", "bajra", "bajri", "bajus", "baked", "baken", "bakes", "bakra", "balas", "balds", "baldy", "baled", "bales", "balks", "balky", "balls", "bally", "balms", "baloo", "balsa", "balti", "balun", "balus", "bambi", "banak", "banco", "bancs", "banda", "bandh", "bands", "bandy", "baned", "banes", "bangs", "bania", "banks", "banns", "bants", "bantu", "banty", "banya", "bapus", "barbe", "barbs", "barby", "barca", "barde", "bardo", "bards", "bardy", "bared", "barer", "bares", "barfi", "barfs", "baric", "barks", "barky", "barms", "barmy", "barns", "barny", "barps", "barra", "barre", "barro", "barry", "barye", "basan", "based", "basen", "baser", "bases", "basho", "basij", "basks", "bason", "basse", "bassi", "basso", "bassy", "basta", "basti", "basto", "basts", "bated", "bates", "baths", "batik", "batta", "batts", "battu", "bauds", "bauks", "baulk", "baurs", "bavin", "bawds", "bawks", "bawls", "bawns", "bawrs", "bawty", "bayed", "bayer", "bayes", "bayle", "bayts", "bazar", "bazoo", "beads", "beaks", "beaky", "beals", "beams", "beamy", "beano", "beans", "beany", "beare", "bears", "beath", "beats", "beaty", "beaus", "beaut", "beaux", "bebop", "becap", "becke", "becks", "bedad", "bedel", "bedes", "bedew", "bedim", "bedye", "beedi", "beefs", "beeps", "beers", "beery", "beets", "befog", "begad", "begar", "begem", "begot", "begum", "beige", "beigy", "beins", "bekah", "belah", "belar", "belay", "belee", "belga", "bells", "belon", "belts", "bemad", "bemas", "bemix", "bemud", "bends", "bendy", "benes", "benet", "benga", "benis", "benne", "benni", "benny", "bento", "bents", "benty", "bepat", "beray", "beres", "bergs", "berko", "berks", "berme", "berms", "berob", "beryl", "besat", "besaw", "besee", "beses", "besit", "besom", "besot", "besti", "bests", "betas", "beted", "betes", "beths", "betid", "beton", "betta", "betty", "bever", "bevor", "bevue", "bevvy", "bewet", "bewig", "bezes", "bezil", "bezzy", "bhais", "bhaji", "bhang", "bhats", "bhels", "bhoot", "bhuna", "bhuts", "biach", "biali", "bialy", "bibbs", "bibes", "biccy", "bices", "bided", "bider", "bides", "bidet", "bidis", "bidon", "bield", "biers", "biffo", "biffs", "biffy", "bifid", "bigae", "biggs", "biggy", "bigha", "bight", "bigly", "bigos", "bijou", "biked", "biker", "bikes", "bikie", "bilbo", "bilby", "biled", "biles", "bilgy", "bilks", "bills", "bimah", "bimas", "bimbo", "binal", "bindi", "binds", "biner", "bines", "bings", "bingy", "binit", "binks", "bints", "biogs", "biont", "biota", "biped", "bipod", "birds", "birks", "birle", "birls", "biros", "birrs", "birse", "birsy", "bises", "bisks", "bisom", "bitch", "biter", "bites", "bitos", "bitou", "bitsy", "bitte", "bitts", "bivia", "bivvy", "bizes", "bizzo", "bizzy", "blabs", "blads", "blady", "blaer", "blaes", "blaff", "blags", "blahs", "blain", "blams", "blart", "blase", "blash", "blate", "blats", "blatt", "blaud", "blawn", "blaws", "blays", "blear", "blebs", "blech", "blees", "blent", "blert", "blest", "blets", "bleys", "blimy", "bling", "blini", "blins", "bliny", "blips", "blist", "blite", "blits", "blive", "blobs", "blocs", "blogs", "blook", "bloop", "blore", "blots", "blows", "blowy", "blubs", "blude", "bluds", "bludy", "blued", "blues", "bluet", "bluey", "bluid", "blume", "blunk", "blurs", "blype", "boabs", "boaks", "boars", "boart", "boats", "bobac", "bobak", "bobas", "bobol", "bobos", "bocca", "bocce", "bocci", "boche", "bocks", "boded", "bodes", "bodge", "bodhi", "bodle", "boeps", "boets", "boeuf", "boffo", "boffs", "bogan", "bogey", "boggy", "bogie", "bogle", "bogue", "bogus", "bohea", "bohos", "boils", "boing", "boink", "boite", "boked", "bokeh", "bokes", "bokos", "bolar", "bolas", "bolds", "boles", "bolix", "bolls", "bolos", "bolts", "bolus", "bomas", "bombe", "bombo", "bombs", "bonce", "bonds", "boned", "boner", "bones", "bongs", "bonie", "bonks", "bonne", "bonny", "bonza", "bonze", "booai", "booay", "boobs", "boody", "booed", "boofy", "boogy", "boohs", "books", "booky", "bools", "booms", "boomy", "boong", "boons", "boord", "boors", "boose", "boots", "boppy", "borak", "boral", "boras", "borde", "bords", "bored", "boree", "borel", "borer", "bores", "borgo", "boric", "borks", "borms", "borna", "boron", "borts", "borty", "bortz", "bosie", "bosks", "bosky", "boson", "bosun", "botas", "botel", "botes", "bothy", "botte", "botts", "botty", "bouge", "bouks", "boult", "bouns", "bourd", "bourg", "bourn", "bouse", "bousy", "bouts", "bovid", "bowat", "bowed", "bower", "bowes", "bowet", "bowie", "bowls", "bowne", "bowrs", "bowse", "boxed", "boxen", "boxes", "boxla", "boxty", "boyar", "boyau", "boyed", "boyfs", "boygs", "boyla", "boyos", "boysy", "bozos", "braai", "brach", "brack", "bract", "brads", "braes", "brags", "brail", "braks", "braky", "brame", "brane", "brank", "brans", "brant", "brast", "brats", "brava", "bravi", "braws", "braxy", "brays", "braza", "braze", "bream", "brede", "breds", "breem", "breer", "brees", "breid", "breis", "breme", "brens", "brent", "brere", "brers", "breve", "brews", "breys", "brier", "bries", "brigs", "briki", "briks", "brill", "brims", "brins", "brios", "brise", "briss", "brith", "brits", "britt", "brize", "broch", "brock", "brods", "brogh", "brogs", "brome", "bromo", "bronc", "brond", "brool", "broos", "brose", "brosy", "brows", "brugh", "bruin", "bruit", "brule", "brume", "brung", "brusk", "brust", "bruts", "buats", "buaze", "bubal", "bubas", "bubba", "bubbe", "bubby", "bubus", "buchu", "bucko", "bucks", "bucku", "budas", "budis", "budos", "buffa", "buffe", "buffi", "buffo", "buffs", "buffy", "bufos", "bufty", "buhls", "buhrs", "buiks", "buist", "bukes", "bulbs", "bulgy", "bulks", "bulla", "bulls", "bulse", "bumbo", "bumfs", "bumph", "bumps", "bumpy", "bunas", "bunce", "bunco", "bunde", "bundh", "bunds", "bundt", "bundu", "bundy", "bungs", "bungy", "bunia", "bunje", "bunjy", "bunko", "bunks", "bunns", "bunts", "bunty", "bunya", "buoys", "buppy", "buran", "buras", "burbs", "burds", "buret", "burfi", "burgh", "burgs", "burin", "burka", "burke", "burks", "burls", "burns", "buroo", "burps", "burqa", "burro", "burrs", "burry", "bursa", "burse", "busby", "buses", "busks", "busky", "bussu", "busti", "busts", "busty", "buteo", "butes", "butle", "butoh", "butts", "butty", "butut", "butyl", "buzzy", "bwana", "bwazi", "byded", "bydes", "byked", "bykes", "byres", "byrls", "byssi", "bytes", "byway"}; 3 | const Char validWordsc[724][5] = {"caaed", "cabas", "caber", "cabob", "caboc", "cabre", "cacas", "cacks", "cacky", "cadee", "cades", "cadge", "cadgy", "cadie", "cadis", "cadre", "caeca", "caese", "cafes", "caffs", "caged", "cager", "cages", "cagot", "cahow", "caids", "cains", "caird", "cajon", "cajun", "caked", "cakes", "cakey", "calfs", "calid", "calif", "calix", "calks", "calla", "calls", "calms", "calmy", "calos", "calpa", "calps", "calve", "calyx", "caman", "camas", "cames", "camis", "camos", "campi", "campo", "camps", "campy", "camus", "caned", "caneh", "caner", "canes", "cangs", "canid", "canna", "canns", "canso", "canst", "canto", "cants", "canty", "capas", "caped", "capes", "capex", "caphs", "capiz", "caple", "capon", "capos", "capot", "capri", "capul", "carap", "carbo", "carbs", "carby", "cardi", "cards", "cardy", "cared", "carer", "cares", "caret", "carex", "carks", "carle", "carls", "carns", "carny", "carob", "carom", "caron", "carpi", "carps", "carrs", "carse", "carta", "carte", "carts", "carvy", "casas", "casco", "cased", "cases", "casks", "casky", "casts", "casus", "cates", "cauda", "cauks", "cauld", "cauls", "caums", "caups", "cauri", "causa", "cavas", "caved", "cavel", "caver", "caves", "cavie", "cawed", "cawks", "caxon", "ceaze", "cebid", "cecal", "cecum", "ceded", "ceder", "cedes", "cedis", "ceiba", "ceili", "ceils", "celeb", "cella", "celli", "cells", "celom", "celts", "cense", "cento", "cents", "centu", "ceorl", "cepes", "cerci", "cered", "ceres", "cerge", "ceria", "ceric", "cerne", "ceroc", "ceros", "certs", "certy", "cesse", "cesta", "cesti", "cetes", "cetyl", "cezve", "chace", "chack", "chaco", "chado", "chads", "chaft", "chais", "chals", "chams", "chana", "chang", "chank", "chape", "chaps", "chapt", "chara", "chare", "chark", "charr", "chars", "chary", "chats", "chave", "chavs", "chawk", "chaws", "chaya", "chays", "cheep", "chefs", "cheka", "chela", "chelp", "chemo", "chems", "chere", "chert", "cheth", "chevy", "chews", "chewy", "chiao", "chias", "chibs", "chica", "chich", "chico", "chics", "chiel", "chiks", "chile", "chimb", "chimo", "chimp", "chine", "ching", "chink", "chino", "chins", "chips", "chirk", "chirl", "chirm", "chiro", "chirr", "chirt", "chiru", "chits", "chive", "chivs", "chivy", "chizz", "choco", "chocs", "chode", "chogs", "choil", "choko", "choky", "chola", "choli", "cholo", "chomp", "chons", "choof", "chook", "choom", "choon", "chops", "chota", "chott", "chout", "choux", "chowk", "chows", "chubs", "chufa", "chuff", "chugs", "chums", "churl", "churr", "chuse", "chuts", "chyle", "chyme", "chynd", "cibol", "cided", "cides", "ciels", "ciggy", "cilia", "cills", "cimar", "cimex", "cinct", "cines", "cinqs", "cions", "cippi", "circs", "cires", "cirls", "cirri", "cisco", "cissy", "cists", "cital", "cited", "citer", "cites", "cives", "civet", "civie", "civvy", "clach", "clade", "clads", "claes", "clags", "clame", "clams", "clans", "claps", "clapt", "claro", "clart", "clary", "clast", "clats", "claut", "clave", "clavi", "claws", "clays", "cleck", "cleek", "cleep", "clefs", "clegs", "cleik", "clems", "clepe", "clept", "cleve", "clews", "clied", "clies", "clift", "clime", "cline", "clint", "clipe", "clips", "clipt", "clits", "cloam", "clods", "cloff", "clogs", "cloke", "clomb", "clomp", "clonk", "clons", "cloop", "cloot", "clops", "clote", "clots", "clour", "clous", "clows", "cloye", "cloys", "cloze", "clubs", "clues", "cluey", "clunk", "clype", "cnida", "coact", "coady", "coala", "coals", "coaly", "coapt", "coarb", "coate", "coati", "coats", "cobbs", "cobby", "cobia", "coble", "cobza", "cocas", "cocci", "cocco", "cocks", "cocky", "cocos", "codas", "codec", "coded", "coden", "coder", "codes", "codex", "codon", "coeds", "coffs", "cogie", "cogon", "cogue", "cohab", "cohen", "cohoe", "cohog", "cohos", "coifs", "coign", "coils", "coins", "coirs", "coits", "coked", "cokes", "colas", "colby", "colds", "coled", "coles", "coley", "colic", "colin", "colls", "colly", "colog", "colts", "colza", "comae", "comal", "comas", "combe", "combi", "combo", "combs", "comby", "comer", "comes", "comix", "commo", "comms", "commy", "compo", "comps", "compt", "comte", "comus", "coned", "cones", "coney", "confs", "conga", "conge", "congo", "conia", "conin", "conks", "conky", "conne", "conns", "conte", "conto", "conus", "convo", "cooch", "cooed", "cooee", "cooer", "cooey", "coofs", "cooks", "cooky", "cools", "cooly", "coomb", "cooms", "coomy", "coons", "coops", "coopt", "coost", "coots", "cooze", "copal", "copay", "coped", "copen", "coper", "copes", "coppy", "copra", "copsy", "coqui", "coram", "corbe", "corby", "cords", "cored", "cores", "corey", "corgi", "coria", "corks", "corky", "corms", "corni", "corno", "corns", "cornu", "corps", "corse", "corso", "cosec", "cosed", "coses", "coset", "cosey", "cosie", "costa", "coste", "costs", "cotan", "coted", "cotes", "coths", "cotta", "cotts", "coude", "coups", "courb", "courd", "coure", "cours", "couta", "couth", "coved", "coves", "covin", "cowal", "cowan", "cowed", "cowks", "cowls", "cowps", "cowry", "coxae", "coxal", "coxed", "coxes", "coxib", "coyau", "coyed", "coyer", "coypu", "cozed", "cozen", "cozes", "cozey", "cozie", "craal", "crabs", "crags", "craic", "craig", "crake", "crame", "crams", "crans", "crape", "craps", "crapy", "crare", "craws", "crays", "creds", "creel", "crees", "crems", "crena", "creps", "crepy", "crewe", "crews", "crias", "cribs", "cries", "crims", "crine", "crios", "cripe", "crips", "crise", "crith", "crits", "croci", "crocs", "croft", "crogs", "cromb", "crome", "cronk", "crons", "crool", "croon", "crops", "crore", "crost", "crout", "crows", "croze", "cruck", "crudo", "cruds", "crudy", "crues", "cruet", "cruft", "crunk", "cruor", "crura", "cruse", "crusy", "cruve", "crwth", "cryer", "ctene", "cubby", "cubeb", "cubed", "cuber", "cubes", "cubit", "cuddy", "cuffo", "cuffs", "cuifs", "cuing", "cuish", "cuits", "cukes", "culch", "culet", "culex", "culls", "cully", "culms", "culpa", "culti", "cults", "culty", "cumec", "cundy", "cunei", "cunit", "cunts", "cupel", "cupid", "cuppa", "cuppy", "curat", "curbs", "curch", "curds", "curdy", "cured", "curer", "cures", "curet", "curfs", "curia", "curie", "curli", "curls", "curns", "curny", "currs", "cursi", "curst", "cusec", "cushy", "cusks", "cusps", "cuspy", "cusso", "cusum", "cutch", "cuter", "cutes", "cutey", "cutin", "cutis", "cutto", "cutty", "cutup", "cuvee", "cuzes", "cwtch", "cyano", "cyans", "cycad", "cycas", "cyclo", "cyder", "cylix", "cymae", "cymar", "cymas", "cymes", "cymol", "cysts", "cytes", "cyton", "czars"}; 4 | const Char validWordsd[574][5] = {"daals", "dabba", "daces", "dacha", "dacks", "dadah", "dadas", "dados", "daffs", "daffy", "dagga", "daggy", "dagos", "dahls", "daiko", "daine", "daint", "daker", "daled", "dales", "dalis", "dalle", "dalts", "daman", "damar", "dames", "damme", "damns", "damps", "dampy", "dancy", "dangs", "danio", "danks", "danny", "dants", "daraf", "darbs", "darcy", "dared", "darer", "dares", "darga", "dargs", "daric", "daris", "darks", "darky", "darns", "darre", "darts", "darzi", "dashi", "dashy", "datal", "dated", "dater", "dates", "datos", "datto", "daube", "daubs", "dauby", "dauds", "dault", "daurs", "dauts", "daven", "davit", "dawah", "dawds", "dawed", "dawen", "dawks", "dawns", "dawts", "dayan", "daych", "daynt", "dazed", "dazer", "dazes", "deads", "deair", "deals", "deans", "deare", "dearn", "dears", "deary", "deash", "deave", "deaws", "deawy", "debag", "debby", "debel", "debes", "debts", "debud", "debur", "debus", "debye", "decad", "decaf", "decan", "decko", "decks", "decos", "dedal", "deeds", "deedy", "deely", "deems", "deens", "deeps", "deere", "deers", "deets", "deeve", "deevs", "defat", "deffo", "defis", "defog", "degas", "degum", "degus", "deice", "deids", "deify", "deils", "deism", "deist", "deked", "dekes", "dekko", "deled", "deles", "delfs", "delft", "delis", "dells", "delly", "delos", "delph", "delts", "deman", "demes", "demic", "demit", "demob", "demoi", "demos", "dempt", "denar", "denay", "dench", "denes", "denet", "denis", "dents", "deoxy", "derat", "deray", "dered", "deres", "derig", "derma", "derms", "derns", "derny", "deros", "derro", "derry", "derth", "dervs", "desex", "deshi", "desis", "desks", "desse", "devas", "devel", "devis", "devon", "devos", "devot", "dewan", "dewar", "dewax", "dewed", "dexes", "dexie", "dhaba", "dhaks", "dhals", "dhikr", "dhobi", "dhole", "dholl", "dhols", "dhoti", "dhows", "dhuti", "diact", "dials", "diane", "diazo", "dibbs", "diced", "dicer", "dices", "dicht", "dicks", "dicky", "dicot", "dicta", "dicts", "dicty", "diddy", "didie", "didos", "didst", "diebs", "diels", "diene", "diets", "diffs", "dight", "dikas", "diked", "diker", "dikes", "dikey", "dildo", "dilli", "dills", "dimbo", "dimer", "dimes", "dimps", "dinar", "dined", "dines", "dinge", "dings", "dinic", "dinks", "dinky", "dinna", "dinos", "dints", "diols", "diota", "dippy", "dipso", "diram", "direr", "dirke", "dirks", "dirls", "dirts", "disas", "disci", "discs", "dishy", "disks", "disme", "dital", "ditas", "dited", "dites", "ditsy", "ditts", "ditzy", "divan", "divas", "dived", "dives", "divis", "divna", "divos", "divot", "divvy", "diwan", "dixie", "dixit", "diyas", "dizen", "djinn", "djins", "doabs", "doats", "dobby", "dobes", "dobie", "dobla", "dobra", "dobro", "docht", "docks", "docos", "docus", "doddy", "dodos", "doeks", "doers", "doest", "doeth", "doffs", "dogan", "doges", "dogey", "doggo", "doggy", "dogie", "dohyo", "doilt", "doily", "doits", "dojos", "dolce", "dolci", "doled", "doles", "dolia", "dolls", "dolma", "dolor", "dolos", "dolts", "domal", "domed", "domes", "domic", "donah", "donas", "donee", "doner", "donga", "dongs", "donko", "donna", "donne", "donny", "donsy", "doobs", "dooce", "doody", "dooks", "doole", "dools", "dooly", "dooms", "doomy", "doona", "doorn", "doors", "doozy", "dopas", "doped", "doper", "dopes", "dorad", "dorba", "dorbs", "doree", "dores", "doric", "doris", "dorks", "dorky", "dorms", "dormy", "dorps", "dorrs", "dorsa", "dorse", "dorts", "dorty", "dosai", "dosas", "dosed", "doseh", "doser", "doses", "dosha", "dotal", "doted", "doter", "dotes", "dotty", "douar", "douce", "doucs", "douks", "doula", "douma", "doums", "doups", "doura", "douse", "douts", "doved", "doven", "dover", "doves", "dovie", "dowar", "dowds", "dowed", "dower", "dowie", "dowle", "dowls", "dowly", "downa", "downs", "dowps", "dowse", "dowts", "doxed", "doxes", "doxie", "doyen", "doyly", "dozed", "dozer", "dozes", "drabs", "drack", "draco", "draff", "drags", "drail", "drams", "drant", "draps", "drats", "drave", "draws", "drays", "drear", "dreck", "dreed", "dreer", "drees", "dregs", "dreks", "drent", "drere", "drest", "dreys", "dribs", "drice", "dries", "drily", "drips", "dript", "droid", "droil", "droke", "drole", "drome", "drony", "droob", "droog", "drook", "drops", "dropt", "drouk", "drows", "drubs", "drugs", "drums", "drupe", "druse", "drusy", "druxy", "dryad", "dryas", "dsobo", "dsomo", "duads", "duals", "duans", "duars", "dubbo", "ducal", "ducat", "duces", "ducks", "ducky", "ducts", "duddy", "duded", "dudes", "duels", "duets", "duett", "duffs", "dufus", "duing", "duits", "dukas", "duked", "dukes", "dukka", "dulce", "dules", "dulia", "dulls", "dulse", "dumas", "dumbo", "dumbs", "dumka", "dumky", "dumps", "dunam", "dunch", "dunes", "dungs", "dungy", "dunks", "dunno", "dunny", "dunsh", "dunts", "duomi", "duomo", "duped", "duper", "dupes", "duple", "duply", "duppy", "dural", "duras", "dured", "dures", "durgy", "durns", "duroc", "duros", "duroy", "durra", "durrs", "durry", "durst", "durum", "durzi", "dusks", "dusts", "duxes", "dwaal", "dwale", "dwalm", "dwams", "dwang", "dwaum", "dweeb", "dwile", "dwine", "dyads", "dyers", "dyked", "dykes", "dykey", "dykon", "dynel", "dynes", "dzhos"}; 5 | const Char validWordse[231][5] = {"eagre", "ealed", "eales", "eaned", "eards", "eared", "earls", "earns", "earnt", "earst", "eased", "easer", "eases", "easle", "easts", "eathe", "eaved", "eaves", "ebbed", "ebbet", "ebons", "ebook", "ecads", "eched", "eches", "echos", "ecrus", "edema", "edged", "edger", "edges", "edile", "edits", "educe", "educt", "eejit", "eensy", "eeven", "eevns", "effed", "egads", "egers", "egest", "eggar", "egged", "egger", "egmas", "ehing", "eider", "eidos", "eigne", "eiked", "eikon", "eilds", "eisel", "ejido", "ekkas", "elain", "eland", "elans", "elchi", "eldin", "elemi", "elfed", "eliad", "elint", "elmen", "eloge", "elogy", "eloin", "elops", "elpee", "elsin", "elute", "elvan", "elven", "elver", "elves", "emacs", "embar", "embay", "embog", "embow", "embox", "embus", "emeer", "emend", "emerg", "emery", "emeus", "emics", "emirs", "emits", "emmas", "emmer", "emmet", "emmew", "emmys", "emoji", "emong", "emote", "emove", "empts", "emule", "emure", "emyde", "emyds", "enarm", "enate", "ended", "ender", "endew", "endue", "enews", "enfix", "eniac", "enlit", "enmew", "ennog", "enoki", "enols", "enorm", "enows", "enrol", "ensew", "ensky", "entia", "enure", "enurn", "envoi", "enzym", "eorls", "eosin", "epact", "epees", "ephah", "ephas", "ephod", "ephor", "epics", "epode", "epopt", "epris", "eques", "equid", "erbia", "erevs", "ergon", "ergos", "ergot", "erhus", "erica", "erick", "erics", "ering", "erned", "ernes", "erose", "erred", "erses", "eruct", "erugo", "eruvs", "erven", "ervil", "escar", "escot", "esile", "eskar", "esker", "esnes", "esses", "estoc", "estop", "estro", "etage", "etape", "etats", "etens", "ethal", "ethne", "ethyl", "etics", "etnas", "ettin", "ettle", "etuis", "etwee", "etyma", "eughs", "euked", "eupad", "euros", "eusol", "evens", "evert", "evets", "evhoe", "evils", "evite", "evohe", "ewers", "ewest", "ewhow", "ewked", "exams", "exeat", "execs", "exeem", "exeme", "exfil", "exies", "exine", "exing", "exits", "exode", "exome", "exons", "expat", "expos", "exude", "exuls", "exurb", "eyass", "eyers", "eyots", "eyras", "eyres", "eyrie", "eyrir", "ezine"}; 6 | const Char validWordsf[462][5] = {"fabby", "faced", "facer", "faces", "facia", "facta", "facts", "faddy", "faded", "fader", "fades", "fadge", "fados", "faena", "faery", "faffs", "faffy", "faggy", "fagin", "fagot", "faiks", "fails", "faine", "fains", "fairs", "faked", "faker", "fakes", "fakey", "fakie", "fakir", "falaj", "falls", "famed", "fames", "fanal", "fands", "fanes", "fanga", "fango", "fangs", "fanks", "fanon", "fanos", "fanum", "faqir", "farad", "farci", "farcy", "fards", "fared", "farer", "fares", "farle", "farls", "farms", "faros", "farro", "farse", "farts", "fasci", "fasti", "fasts", "fated", "fates", "fatly", "fatso", "fatwa", "faugh", "fauld", "fauns", "faurd", "fauts", "fauve", "favas", "favel", "faver", "faves", "favus", "fawns", "fawny", "faxed", "faxes", "fayed", "fayer", "fayne", "fayre", "fazed", "fazes", "feals", "feare", "fears", "feart", "fease", "feats", "feaze", "feces", "fecht", "fecit", "fecks", "fedex", "feebs", "feeds", "feels", "feens", "feers", "feese", "feeze", "fehme", "feint", "feist", "felch", "felid", "fells", "felly", "felts", "felty", "femal", "femes", "femmy", "fends", "fendy", "fenis", "fenks", "fenny", "fents", "feods", "feoff", "ferer", "feres", "feria", "ferly", "fermi", "ferms", "ferns", "ferny", "fesse", "festa", "fests", "festy", "fetas", "feted", "fetes", "fetor", "fetta", "fetts", "fetwa", "feuar", "feuds", "feued", "feyed", "feyer", "feyly", "fezes", "fezzy", "fiars", "fiats", "fibro", "fices", "fiche", "fichu", "ficin", "ficos", "fides", "fidge", "fidos", "fiefs", "fient", "fiere", "fiers", "fiest", "fifed", "fifer", "fifes", "fifis", "figgy", "figos", "fiked", "fikes", "filar", "filch", "filed", "files", "filii", "filks", "fille", "fillo", "fills", "filmi", "films", "filos", "filum", "finca", "finds", "fined", "fines", "finis", "finks", "finny", "finos", "fiord", "fiqhs", "fique", "fired", "firer", "fires", "firie", "firks", "firms", "firns", "firry", "firth", "fiscs", "fisks", "fists", "fisty", "fitch", "fitly", "fitna", "fitte", "fitts", "fiver", "fives", "fixed", "fixes", "fixit", "fjeld", "flabs", "flaff", "flags", "flaks", "flamm", "flams", "flamy", "flane", "flans", "flaps", "flary", "flats", "flava", "flawn", "flaws", "flawy", "flaxy", "flays", "fleam", "fleas", "fleek", "fleer", "flees", "flegs", "fleme", "fleur", "flews", "flexi", "flexo", "fleys", "flics", "flied", "flies", "flimp", "flims", "flips", "flirs", "flisk", "flite", "flits", "flitt", "flobs", "flocs", "floes", "flogs", "flong", "flops", "flors", "flory", "flosh", "flota", "flote", "flows", "flubs", "flued", "flues", "fluey", "fluky", "flump", "fluor", "flurr", "fluty", "fluyt", "flyby", "flype", "flyte", "foals", "foams", "foehn", "fogey", "fogie", "fogle", "fogou", "fohns", "foids", "foils", "foins", "folds", "foley", "folia", "folic", "folie", "folks", "folky", "fomes", "fonda", "fonds", "fondu", "fones", "fonly", "fonts", "foods", "foody", "fools", "foots", "footy", "foram", "forbs", "forby", "fordo", "fords", "forel", "fores", "forex", "forks", "forky", "forme", "forms", "forts", "forza", "forze", "fossa", "fosse", "fouat", "fouds", "fouer", "fouet", "foule", "fouls", "fount", "fours", "fouth", "fovea", "fowls", "fowth", "foxed", "foxes", "foxie", "foyle", "foyne", "frabs", "frack", "fract", "frags", "fraim", "franc", "frape", "fraps", "frass", "frate", "frati", "frats", "fraus", "frays", "frees", "freet", "freit", "fremd", "frena", "freon", "frere", "frets", "fribs", "frier", "fries", "frigs", "frise", "frist", "frith", "frits", "fritt", "frize", "frizz", "froes", "frogs", "frons", "frore", "frorn", "frory", "frosh", "frows", "frowy", "frugs", "frump", "frush", "frust", "fryer", "fubar", "fubby", "fubsy", "fucks", "fucus", "fuddy", "fudgy", "fuels", "fuero", "fuffs", "fuffy", "fugal", "fuggy", "fugie", "fugio", "fugle", "fugly", "fugus", "fujis", "fulls", "fumed", "fumer", "fumes", "fumet", "fundi", "funds", "fundy", "fungo", "fungs", "funks", "fural", "furan", "furca", "furls", "furol", "furrs", "furth", "furze", "furzy", "fused", "fusee", "fusel", "fuses", "fusil", "fusks", "fusts", "fusty", "futon", "fuzed", "fuzee", "fuzes", "fuzil", "fyces", "fyked", "fykes", "fyles", "fyrds", "fytte"}; 7 | const Char validWordsg[523][5] = {"gabba", "gabby", "gable", "gaddi", "gades", "gadge", "gadid", "gadis", "gadje", "gadjo", "gadso", "gaffs", "gaged", "gager", "gages", "gaids", "gains", "gairs", "gaita", "gaits", "gaitt", "gajos", "galah", "galas", "galax", "galea", "galed", "gales", "galls", "gally", "galop", "galut", "galvo", "gamas", "gamay", "gamba", "gambe", "gambo", "gambs", "gamed", "games", "gamey", "gamic", "gamin", "gamme", "gammy", "gamps", "ganch", "gandy", "ganef", "ganev", "gangs", "ganja", "ganof", "gants", "gaols", "gaped", "gaper", "gapes", "gapos", "gappy", "garbe", "garbo", "garbs", "garda", "gares", "garis", "garms", "garni", "garre", "garth", "garum", "gases", "gasps", "gaspy", "gasts", "gatch", "gated", "gater", "gates", "gaths", "gator", "gauch", "gaucy", "gauds", "gauje", "gault", "gaums", "gaumy", "gaups", "gaurs", "gauss", "gauzy", "gavot", "gawcy", "gawds", "gawks", "gawps", "gawsy", "gayal", "gazal", "gazar", "gazed", "gazes", "gazon", "gazoo", "geals", "geans", "geare", "gears", "geats", "gebur", "gecks", "geeks", "geeps", "geest", "geist", "geits", "gelds", "gelee", "gelid", "gelly", "gelts", "gemel", "gemma", "gemmy", "gemot", "genal", "genas", "genes", "genet", "genic", "genii", "genip", "genny", "genoa", "genom", "genro", "gents", "genty", "genua", "genus", "geode", "geoid", "gerah", "gerbe", "geres", "gerle", "germs", "germy", "gerne", "gesse", "gesso", "geste", "gests", "getas", "getup", "geums", "geyan", "geyer", "ghast", "ghats", "ghaut", "ghazi", "ghees", "ghest", "ghyll", "gibed", "gibel", "giber", "gibes", "gibli", "gibus", "gifts", "gigas", "gighe", "gigot", "gigue", "gilas", "gilds", "gilet", "gills", "gilly", "gilpy", "gilts", "gimel", "gimme", "gimps", "gimpy", "ginch", "ginge", "gings", "ginks", "ginny", "ginzo", "gipon", "gippo", "gippy", "girds", "girls", "girns", "giron", "giros", "girrs", "girsh", "girts", "gismo", "gisms", "gists", "gitch", "gites", "giust", "gived", "gives", "gizmo", "glace", "glads", "glady", "glaik", "glair", "glams", "glans", "glary", "glaum", "glaur", "glazy", "gleba", "glebe", "gleby", "glede", "gleds", "gleed", "gleek", "glees", "gleet", "gleis", "glens", "glent", "gleys", "glial", "glias", "glibs", "gliff", "glift", "glike", "glime", "glims", "glisk", "glits", "glitz", "gloam", "globi", "globs", "globy", "glode", "glogg", "gloms", "gloop", "glops", "glost", "glout", "glows", "gloze", "glued", "gluer", "glues", "gluey", "glugs", "glume", "glums", "gluon", "glute", "gluts", "gnarl", "gnarr", "gnars", "gnats", "gnawn", "gnaws", "gnows", "goads", "goafs", "goals", "goary", "goats", "goaty", "goban", "gobar", "gobbi", "gobbo", "gobby", "gobis", "gobos", "godet", "godso", "goels", "goers", "goest", "goeth", "goety", "gofer", "goffs", "gogga", "gogos", "goier", "gojis", "golds", "goldy", "goles", "golfs", "golpe", "golps", "gombo", "gomer", "gompa", "gonch", "gonef", "gongs", "gonia", "gonif", "gonks", "gonna", "gonof", "gonys", "gonzo", "gooby", "goods", "goofs", "googs", "gooks", "gooky", "goold", "gools", "gooly", "goons", "goony", "goops", "goopy", "goors", "goory", "goosy", "gopak", "gopik", "goral", "goras", "gored", "gores", "goris", "gorms", "gormy", "gorps", "gorse", "gorsy", "gosht", "gosse", "gotch", "goths", "gothy", "gotta", "gouch", "gouks", "goura", "gouts", "gouty", "gowan", "gowds", "gowfs", "gowks", "gowls", "gowns", "goxes", "goyim", "goyle", "graal", "grabs", "grads", "graff", "graip", "grama", "grame", "gramp", "grams", "grana", "grans", "grapy", "gravs", "grays", "grebe", "grebo", "grece", "greek", "grees", "grege", "grego", "grein", "grens", "grese", "greve", "grews", "greys", "grice", "gride", "grids", "griff", "grift", "grigs", "grike", "grins", "griot", "grips", "gript", "gripy", "grise", "grist", "grisy", "grith", "grits", "grize", "groat", "grody", "grogs", "groks", "groma", "grone", "groof", "grosz", "grots", "grouf", "grovy", "grows", "grrls", "grrrl", "grubs", "grued", "grues", "grufe", "grume", "grump", "grund", "gryce", "gryde", "gryke", "grype", "grypt", "guaco", "guana", "guano", "guans", "guars", "gucks", "gucky", "gudes", "guffs", "gugas", "guids", "guimp", "guiro", "gulag", "gular", "gulas", "gules", "gulet", "gulfs", "gulfy", "gulls", "gulph", "gulps", "gulpy", "gumma", "gummi", "gumps", "gundy", "gunge", "gungy", "gunks", "gunky", "gunny", "guqin", "gurdy", "gurge", "gurls", "gurly", "gurns", "gurry", "gursh", "gurus", "gushy", "gusla", "gusle", "gusli", "gussy", "gusts", "gutsy", "gutta", "gutty", "guyed", "guyle", "guyot", "guyse", "gwine", "gyals", "gyans", "gybed", "gybes", "gyeld", "gymps", "gynae", "gynie", "gynny", "gynos", "gyoza", "gypos", "gyppo", "gyppy", "gyral", "gyred", "gyres", "gyron", "gyros", "gyrus", "gytes", "gyved", "gyves"}; 8 | const Char validWordsh[420][5] = {"haafs", "haars", "hable", "habus", "hacek", "hacks", "hadal", "haded", "hades", "hadji", "hadst", "haems", "haets", "haffs", "hafiz", "hafts", "haggs", "hahas", "haick", "haika", "haiks", "haiku", "hails", "haily", "hains", "haint", "hairs", "haith", "hajes", "hajis", "hajji", "hakam", "hakas", "hakea", "hakes", "hakim", "hakus", "halal", "haled", "haler", "hales", "halfa", "halfs", "halid", "hallo", "halls", "halma", "halms", "halon", "halos", "halse", "halts", "halva", "halwa", "hamal", "hamba", "hamed", "hames", "hammy", "hamza", "hanap", "hance", "hanch", "hands", "hangi", "hangs", "hanks", "hanky", "hansa", "hanse", "hants", "haole", "haoma", "hapax", "haply", "happi", "hapus", "haram", "hards", "hared", "hares", "harim", "harks", "harls", "harms", "harns", "haros", "harps", "harts", "hashy", "hasks", "hasps", "hasta", "hated", "hates", "hatha", "hauds", "haufs", "haugh", "hauld", "haulm", "hauls", "hault", "hauns", "hause", "haver", "haves", "hawed", "hawks", "hawms", "hawse", "hayed", "hayer", "hayey", "hayle", "hazan", "hazed", "hazer", "hazes", "heads", "heald", "heals", "heame", "heaps", "heapy", "heare", "hears", "heast", "heats", "heben", "hebes", "hecht", "hecks", "heder", "hedgy", "heeds", "heedy", "heels", "heeze", "hefte", "hefts", "heids", "heigh", "heils", "heirs", "hejab", "hejra", "heled", "heles", "helio", "hells", "helms", "helos", "helot", "helps", "helve", "hemal", "hemes", "hemic", "hemin", "hemps", "hempy", "hench", "hends", "henge", "henna", "henny", "henry", "hents", "hepar", "herbs", "herby", "herds", "heres", "herls", "herma", "herms", "herns", "heros", "herry", "herse", "hertz", "herye", "hesps", "hests", "hetes", "heths", "heuch", "heugh", "hevea", "hewed", "hewer", "hewgh", "hexad", "hexed", "hexer", "hexes", "hexyl", "heyed", "hiant", "hicks", "hided", "hider", "hides", "hiems", "highs", "hight", "hijab", "hijra", "hiked", "hiker", "hikes", "hikoi", "hilar", "hilch", "hillo", "hills", "hilts", "hilum", "hilus", "himbo", "hinau", "hinds", "hings", "hinky", "hinny", "hints", "hiois", "hiply", "hired", "hiree", "hirer", "hires", "hissy", "hists", "hithe", "hived", "hiver", "hives", "hizen", "hoaed", "hoagy", "hoars", "hoary", "hoast", "hobos", "hocks", "hocus", "hodad", "hodja", "hoers", "hogan", "hogen", "hoggs", "hoghs", "hohed", "hoick", "hoied", "hoiks", "hoing", "hoise", "hokas", "hoked", "hokes", "hokey", "hokis", "hokku", "hokum", "holds", "holed", "holes", "holey", "holks", "holla", "hollo", "holme", "holms", "holon", "holos", "holts", "homas", "homed", "homes", "homey", "homie", "homme", "homos", "honan", "honda", "honds", "honed", "honer", "hones", "hongi", "hongs", "honks", "honky", "hooch", "hoods", "hoody", "hooey", "hoofs", "hooka", "hooks", "hooky", "hooly", "hoons", "hoops", "hoord", "hoors", "hoosh", "hoots", "hooty", "hoove", "hopak", "hoped", "hoper", "hopes", "hoppy", "horah", "horal", "horas", "horis", "horks", "horme", "horns", "horst", "horsy", "hosed", "hosel", "hosen", "hoser", "hoses", "hosey", "hosta", "hosts", "hotch", "hoten", "hotty", "houff", "houfs", "hough", "houri", "hours", "houts", "hovea", "hoved", "hoven", "hoves", "howbe", "howes", "howff", "howfs", "howks", "howls", "howre", "howso", "hoxed", "hoxes", "hoyas", "hoyed", "hoyle", "hubby", "hucks", "hudna", "hudud", "huers", "huffs", "huffy", "huger", "huggy", "huhus", "huias", "hulas", "hules", "hulks", "hulky", "hullo", "hulls", "hully", "humas", "humfs", "humic", "humps", "humpy", "hunks", "hunts", "hurds", "hurls", "hurly", "hurra", "hurst", "hurts", "hushy", "husks", "husos", "hutia", "huzza", "huzzy", "hwyls", "hydra", "hyens", "hygge", "hying", "hykes", "hylas", "hyleg", "hyles", "hylic", "hymns", "hynde", "hyoid", "hyped", "hypes", "hypha", "hyphy", "hypos", "hyrax", "hyson", "hythe"}; 9 | const Char validWordsi[131][5] = {"iambi", "iambs", "ibrik", "icers", "iched", "iches", "ichor", "icier", "icker", "ickle", "icons", "ictal", "ictic", "ictus", "idant", "ideas", "idees", "ident", "idled", "idles", "idola", "idols", "idyls", "iftar", "igapo", "igged", "iglus", "ihram", "ikans", "ikats", "ikons", "ileac", "ileal", "ileum", "ileus", "iliad", "ilial", "ilium", "iller", "illth", "imago", "imams", "imari", "imaum", "imbar", "imbed", "imide", "imido", "imids", "imine", "imino", "immew", "immit", "immix", "imped", "impis", "impot", "impro", "imshi", "imshy", "inapt", "inarm", "inbye", "incel", "incle", "incog", "incus", "incut", "indew", "india", "indie", "indol", "indow", "indri", "indue", "inerm", "infix", "infos", "infra", "ingan", "ingle", "inion", "inked", "inker", "inkle", "inned", "innit", "inorb", "inrun", "inset", "inspo", "intel", "intil", "intis", "intra", "inula", "inure", "inurn", "inust", "invar", "inwit", "iodic", "iodid", "iodin", "iotas", "ippon", "irade", "irids", "iring", "irked", "iroko", "irone", "irons", "isbas", "ishes", "isled", "isles", "isnae", "issei", "istle", "items", "ither", "ivied", "ivies", "ixias", "ixnay", "ixora", "ixtle", "izard", "izars", "izzat"}; 10 | const Char validWordsj[182][5] = {"jaaps", "jabot", "jacal", "jacks", "jacky", "jaded", "jades", "jafas", "jaffa", "jagas", "jager", "jaggs", "jaggy", "jagir", "jagra", "jails", "jaker", "jakes", "jakey", "jalap", "jalop", "jambe", "jambo", "jambs", "jambu", "james", "jammy", "jamon", "janes", "janns", "janny", "janty", "japan", "japed", "japer", "japes", "jarks", "jarls", "jarps", "jarta", "jarul", "jasey", "jaspe", "jasps", "jatos", "jauks", "jaups", "javas", "javel", "jawan", "jawed", "jaxie", "jeans", "jeats", "jebel", "jedis", "jeels", "jeely", "jeeps", "jeers", "jeeze", "jefes", "jeffs", "jehad", "jehus", "jelab", "jello", "jells", "jembe", "jemmy", "jenny", "jeons", "jerid", "jerks", "jerry", "jesse", "jests", "jesus", "jetes", "jeton", "jeune", "jewed", "jewie", "jhala", "jiaos", "jibba", "jibbs", "jibed", "jiber", "jibes", "jiffs", "jiggy", "jigot", "jihad", "jills", "jilts", "jimmy", "jimpy", "jingo", "jinks", "jinne", "jinni", "jinns", "jirds", "jirga", "jirre", "jisms", "jived", "jiver", "jives", "jivey", "jnana", "jobed", "jobes", "jocko", "jocks", "jocky", "jocos", "jodel", "joeys", "johns", "joins", "joked", "jokes", "jokey", "jokol", "joled", "joles", "jolls", "jolts", "jolty", "jomon", "jomos", "jones", "jongs", "jonty", "jooks", "joram", "jorum", "jotas", "jotty", "jotun", "joual", "jougs", "jouks", "joule", "jours", "jowar", "jowed", "jowls", "jowly", "joyed", "jubas", "jubes", "jucos", "judas", "judgy", "judos", "jugal", "jugum", "jujus", "juked", "jukes", "jukus", "julep", "jumar", "jumby", "jumps", "junco", "junks", "junky", "jupes", "jupon", "jural", "jurat", "jurel", "jures", "justs", "jutes", "jutty", "juves", "juvie"}; 11 | const Char validWordsk[356][5] = {"kaama", "kabab", "kabar", "kabob", "kacha", "kacks", "kadai", "kades", "kadis", "kafir", "kagos", "kagus", "kahal", "kaiak", "kaids", "kaies", "kaifs", "kaika", "kaiks", "kails", "kaims", "kaing", "kains", "kakas", "kakis", "kalam", "kales", "kalif", "kalis", "kalpa", "kamas", "kames", "kamik", "kamis", "kamme", "kanae", "kanas", "kandy", "kaneh", "kanes", "kanga", "kangs", "kanji", "kants", "kanzu", "kaons", "kapas", "kaphs", "kapok", "kapow", "kapus", "kaput", "karas", "karat", "karks", "karns", "karoo", "karos", "karri", "karst", "karsy", "karts", "karzy", "kasha", "kasme", "katal", "katas", "katis", "katti", "kaugh", "kauri", "kauru", "kaury", "kaval", "kavas", "kawas", "kawau", "kawed", "kayle", "kayos", "kazis", "kazoo", "kbars", "kebar", "kebob", "kecks", "kedge", "kedgy", "keech", "keefs", "keeks", "keels", "keema", "keeno", "keens", "keeps", "keets", "keeve", "kefir", "kehua", "keirs", "kelep", "kelim", "kells", "kelly", "kelps", "kelpy", "kelts", "kelty", "kembo", "kembs", "kemps", "kempt", "kempy", "kenaf", "kench", "kendo", "kenos", "kente", "kents", "kepis", "kerbs", "kerel", "kerfs", "kerky", "kerma", "kerne", "kerns", "keros", "kerry", "kerve", "kesar", "kests", "ketas", "ketch", "ketes", "ketol", "kevel", "kevil", "kexes", "keyed", "keyer", "khadi", "khafs", "khans", "khaph", "khats", "khaya", "khazi", "kheda", "kheth", "khets", "khoja", "khors", "khoum", "khuds", "kiaat", "kiack", "kiang", "kibbe", "kibbi", "kibei", "kibes", "kibla", "kicks", "kicky", "kiddo", "kiddy", "kidel", "kidge", "kiefs", "kiers", "kieve", "kievs", "kight", "kikes", "kikoi", "kiley", "kilim", "kills", "kilns", "kilos", "kilps", "kilts", "kilty", "kimbo", "kinas", "kinda", "kinds", "kindy", "kines", "kings", "kinin", "kinks", "kinos", "kiore", "kipes", "kippa", "kipps", "kirby", "kirks", "kirns", "kirri", "kisan", "kissy", "kists", "kited", "kiter", "kites", "kithe", "kiths", "kitul", "kivas", "kiwis", "klang", "klaps", "klett", "klick", "klieg", "kliks", "klong", "kloof", "kluge", "klutz", "knags", "knaps", "knarl", "knars", "knaur", "knawe", "knees", "knell", "knish", "knits", "knive", "knobs", "knops", "knosp", "knots", "knout", "knowe", "knows", "knubs", "knurl", "knurr", "knurs", "knuts", "koans", "koaps", "koban", "kobos", "koels", "koffs", "kofta", "kogal", "kohas", "kohen", "kohls", "koine", "kojis", "kokam", "kokas", "koker", "kokra", "kokum", "kolas", "kolos", "kombu", "konbu", "kondo", "konks", "kooks", "kooky", "koori", "kopek", "kophs", "kopje", "koppa", "korai", "koras", "korat", "kores", "korma", "koros", "korun", "korus", "koses", "kotch", "kotos", "kotow", "koura", "kraal", "krabs", "kraft", "krais", "krait", "krang", "krans", "kranz", "kraut", "krays", "kreep", "kreng", "krewe", "krona", "krone", "kroon", "krubi", "krunk", "ksars", "kubie", "kudos", "kudus", "kudzu", "kufis", "kugel", "kuias", "kukri", "kukus", "kulak", "kulan", "kulas", "kulfi", "kumis", "kumys", "kuris", "kurre", "kurta", "kurus", "kusso", "kutas", "kutch", "kutis", "kutus", "kuzus", "kvass", "kvell", "kwela", "kyack", "kyaks", "kyang", "kyars", "kyats", "kybos", "kydst", "kyles", "kylie", "kylin", "kylix", "kyloe", "kynde", "kynds", "kypes", "kyrie", "kytes", "kythe"}; 12 | const Char validWordsl[489][5] = {"laari", "labda", "labia", "labis", "labra", "laced", "lacer", "laces", "lacet", "lacey", "lacks", "laddy", "laded", "lader", "lades", "laers", "laevo", "lagan", "lahal", "lahar", "laich", "laics", "laids", "laigh", "laika", "laiks", "laird", "lairs", "lairy", "laith", "laity", "laked", "laker", "lakes", "lakhs", "lakin", "laksa", "laldy", "lalls", "lamas", "lambs", "lamby", "lamed", "lamer", "lames", "lamia", "lammy", "lamps", "lanai", "lanas", "lanch", "lande", "lands", "lanes", "lanks", "lants", "lapin", "lapis", "lapje", "larch", "lards", "lardy", "laree", "lares", "largo", "laris", "larks", "larky", "larns", "larnt", "larum", "lased", "laser", "lases", "lassi", "lassu", "lassy", "lasts", "latah", "lated", "laten", "latex", "lathi", "laths", "lathy", "latke", "latus", "lauan", "lauch", "lauds", "laufs", "laund", "laura", "laval", "lavas", "laved", "laver", "laves", "lavra", "lavvy", "lawed", "lawer", "lawin", "lawks", "lawns", "lawny", "laxed", "laxer", "laxes", "laxly", "layed", "layin", "layup", "lazar", "lazed", "lazes", "lazos", "lazzi", "lazzo", "leads", "leady", "leafs", "leaks", "leams", "leans", "leany", "leaps", "leare", "lears", "leary", "leats", "leavy", "leaze", "leben", "leccy", "ledes", "ledgy", "ledum", "leear", "leeks", "leeps", "leers", "leese", "leets", "leeze", "lefte", "lefts", "leger", "leges", "legge", "leggo", "legit", "lehrs", "lehua", "leirs", "leish", "leman", "lemed", "lemel", "lemes", "lemma", "lemme", "lends", "lenes", "lengs", "lenis", "lenos", "lense", "lenti", "lento", "leone", "lepid", "lepra", "lepta", "lered", "leres", "lerps", "lesbo", "leses", "lests", "letch", "lethe", "letup", "leuch", "leuco", "leuds", "leugh", "levas", "levee", "leves", "levin", "levis", "lewis", "lexes", "lexis", "lezes", "lezza", "lezzy", "liana", "liane", "liang", "liard", "liars", "liart", "liber", "libra", "libri", "lichi", "licht", "licit", "licks", "lidar", "lidos", "liefs", "liens", "liers", "lieus", "lieve", "lifer", "lifes", "lifts", "ligan", "liger", "ligge", "ligne", "liked", "liker", "likes", "likin", "lills", "lilos", "lilts", "liman", "limas", "limax", "limba", "limbi", "limbs", "limby", "limed", "limen", "limes", "limey", "limma", "limns", "limos", "limpa", "limps", "linac", "linch", "linds", "lindy", "lined", "lines", "liney", "linga", "lings", "lingy", "linin", "links", "linky", "linns", "linny", "linos", "lints", "linty", "linum", "linux", "lions", "lipas", "lipes", "lipin", "lipos", "lippy", "liras", "lirks", "lirot", "lisks", "lisle", "lisps", "lists", "litai", "litas", "lited", "liter", "lites", "litho", "liths", "litre", "lived", "liven", "lives", "livor", "livre", "llano", "loach", "loads", "loafs", "loams", "loans", "loast", "loave", "lobar", "lobed", "lobes", "lobos", "lobus", "loche", "lochs", "locie", "locis", "locks", "locos", "locum", "loden", "lodes", "loess", "lofts", "logan", "loges", "loggy", "logia", "logie", "logoi", "logon", "logos", "lohan", "loids", "loins", "loipe", "loirs", "lokes", "lolls", "lolly", "lolog", "lomas", "lomed", "lomes", "loner", "longa", "longe", "longs", "looby", "looed", "looey", "loofa", "loofs", "looie", "looks", "looky", "looms", "loons", "loony", "loops", "loord", "loots", "loped", "loper", "lopes", "loppy", "loral", "loran", "lords", "lordy", "lorel", "lores", "loric", "loris", "losed", "losel", "losen", "loses", "lossy", "lotah", "lotas", "lotes", "lotic", "lotos", "lotsa", "lotta", "lotte", "lotto", "lotus", "loued", "lough", "louie", "louis", "louma", "lound", "louns", "loupe", "loups", "loure", "lours", "loury", "louts", "lovat", "loved", "loves", "lovey", "lovie", "lowan", "lowed", "lowes", "lownd", "lowne", "lowns", "lowps", "lowry", "lowse", "lowts", "loxed", "loxes", "lozen", "luach", "luaus", "lubed", "lubes", "lubra", "luces", "lucks", "lucre", "ludes", "ludic", "ludos", "luffa", "luffs", "luged", "luger", "luges", "lulls", "lulus", "lumas", "lumbi", "lumme", "lummy", "lumps", "lunas", "lunes", "lunet", "lungi", "lungs", "lunks", "lunts", "lupin", "lured", "lurer", "lures", "lurex", "lurgi", "lurgy", "lurks", "lurry", "lurve", "luser", "lushy", "lusks", "lusts", "lusus", "lutea", "luted", "luter", "lutes", "luvvy", "luxed", "luxer", "luxes", "lweis", "lyams", "lyard", "lyart", "lyase", "lycea", "lycee", "lycra", "lymes", "lynes", "lyres", "lysed", "lyses", "lysin", "lysis", "lysol", "lyssa", "lyted", "lytes", "lythe", "lytic", "lytta"}; 13 | const Char validWordsm[586][5] = {"maaed", "maare", "maars", "mabes", "macas", "maced", "macer", "maces", "mache", "machi", "machs", "macks", "macle", "macon", "madge", "madid", "madre", "maerl", "mafic", "mages", "maggs", "magot", "magus", "mahoe", "mahua", "mahwa", "maids", "maiko", "maiks", "maile", "maill", "mails", "maims", "mains", "maire", "mairs", "maise", "maist", "makar", "makes", "makis", "makos", "malam", "malar", "malas", "malax", "males", "malic", "malik", "malis", "malls", "malms", "malmy", "malts", "malty", "malus", "malva", "malwa", "mamas", "mamba", "mamee", "mamey", "mamie", "manas", "manat", "mandi", "maneb", "maned", "maneh", "manes", "manet", "mangs", "manis", "manky", "manna", "manos", "manse", "manta", "manto", "manty", "manul", "manus", "mapau", "maqui", "marae", "marah", "maras", "marcs", "mardy", "mares", "marge", "margs", "maria", "marid", "marka", "marks", "marle", "marls", "marly", "marms", "maron", "maror", "marra", "marri", "marse", "marts", "marvy", "masas", "mased", "maser", "mases", "mashy", "masks", "massa", "massy", "masts", "masty", "masus", "matai", "mated", "mater", "mates", "maths", "matin", "matlo", "matte", "matts", "matza", "matzo", "mauby", "mauds", "mauls", "maund", "mauri", "mausy", "mauts", "mauzy", "maven", "mavie", "mavin", "mavis", "mawed", "mawks", "mawky", "mawns", "mawrs", "maxed", "maxes", "maxis", "mayan", "mayas", "mayed", "mayos", "mayst", "mazed", "mazer", "mazes", "mazey", "mazut", "mbira", "meads", "meals", "meane", "means", "meany", "meare", "mease", "meath", "meats", "mebos", "mechs", "mecks", "medii", "medle", "meeds", "meers", "meets", "meffs", "meins", "meint", "meiny", "meith", "mekka", "melas", "melba", "melds", "melic", "melik", "mells", "melts", "melty", "memes", "memos", "menad", "mends", "mened", "menes", "menge", "mengs", "mensa", "mense", "mensh", "menta", "mento", "menus", "meous", "meows", "merch", "mercs", "merde", "mered", "merel", "merer", "meres", "meril", "meris", "merks", "merle", "merls", "merse", "mesal", "mesas", "mesel", "meses", "meshy", "mesic", "mesne", "meson", "messy", "mesto", "meted", "metes", "metho", "meths", "metic", "metif", "metis", "metol", "metre", "meuse", "meved", "meves", "mewed", "mewls", "meynt", "mezes", "mezze", "mezzo", "mhorr", "miaou", "miaow", "miasm", "miaul", "micas", "miche", "micht", "micks", "micky", "micos", "micra", "middy", "midgy", "midis", "miens", "mieve", "miffs", "miffy", "mifty", "miggs", "mihas", "mihis", "miked", "mikes", "mikra", "mikva", "milch", "milds", "miler", "miles", "milfs", "milia", "milko", "milks", "mille", "mills", "milor", "milos", "milpa", "milts", "milty", "miltz", "mimed", "mimeo", "mimer", "mimes", "mimsy", "minae", "minar", "minas", "mincy", "minds", "mined", "mines", "minge", "mings", "mingy", "minis", "minke", "minks", "minny", "minos", "mints", "mired", "mires", "mirex", "mirid", "mirin", "mirks", "mirky", "mirly", "miros", "mirvs", "mirza", "misch", "misdo", "mises", "misgo", "misos", "missa", "mists", "misty", "mitch", "miter", "mites", "mitis", "mitre", "mitts", "mixed", "mixen", "mixer", "mixes", "mixte", "mixup", "mizen", "mizzy", "mneme", "moans", "moats", "mobby", "mobes", "mobey", "mobie", "moble", "mochi", "mochs", "mochy", "mocks", "moder", "modes", "modge", "modii", "modus", "moers", "mofos", "moggy", "mohel", "mohos", "mohrs", "mohua", "mohur", "moile", "moils", "moira", "moire", "moits", "mojos", "mokes", "mokis", "mokos", "molal", "molas", "molds", "moled", "moles", "molla", "molls", "molly", "molto", "molts", "molys", "momes", "momma", "mommy", "momus", "monad", "monal", "monas", "monde", "mondo", "moner", "mongo", "mongs", "monic", "monie", "monks", "monos", "monte", "monty", "moobs", "mooch", "moods", "mooed", "mooks", "moola", "mooli", "mools", "mooly", "moong", "moons", "moony", "moops", "moors", "moory", "moots", "moove", "moped", "moper", "mopes", "mopey", "moppy", "mopsy", "mopus", "morae", "moras", "morat", "moray", "morel", "mores", "moria", "morne", "morns", "morra", "morro", "morse", "morts", "mosed", "moses", "mosey", "mosks", "mosso", "moste", "mosts", "moted", "moten", "motes", "motet", "motey", "moths", "mothy", "motis", "motte", "motts", "motty", "motus", "motza", "mouch", "moues", "mould", "mouls", "moups", "moust", "mousy", "moved", "moves", "mowas", "mowed", "mowra", "moxas", "moxie", "moyas", "moyle", "moyls", "mozed", "mozes", "mozos", "mpret", "mucho", "mucic", "mucid", "mucin", "mucks", "mucor", "mucro", "mudge", "mudir", "mudra", "muffs", "mufti", "mugga", "muggs", "muggy", "muhly", "muids", "muils", "muirs", "muist", "mujik", "mulct", "muled", "mules", "muley", "mulga", "mulie", "mulla", "mulls", "mulse", "mulsh", "mumms", "mumps", "mumsy", "mumus", "munga", "munge", "mungo", "mungs", "munis", "munts", "muntu", "muons", "muras", "mured", "mures", "murex", "murid", "murks", "murls", "murly", "murra", "murre", "murri", "murrs", "murry", "murti", "murva", "musar", "musca", "mused", "muser", "muses", "muset", "musha", "musit", "musks", "musos", "musse", "mussy", "musth", "musts", "mutch", "muted", "muter", "mutes", "mutha", "mutis", "muton", "mutts", "muxed", "muxes", "muzak", "muzzy", "mvule", "myall", "mylar", "mynah", "mynas", "myoid", "myoma", "myope", "myops", "myopy", "mysid", "mythi", "myths", "mythy", "myxos", "mzees"}; 14 | const Char validWordsn[288][5] = {"naams", "naans", "nabes", "nabis", "nabks", "nabla", "nabob", "nache", "nacho", "nacre", "nadas", "naeve", "naevi", "naffs", "nagas", "naggy", "nagor", "nahal", "naiad", "naifs", "naiks", "nails", "naira", "nairu", "naked", "naker", "nakfa", "nalas", "naled", "nalla", "named", "namer", "names", "namma", "namus", "nanas", "nance", "nancy", "nandu", "nanna", "nanos", "nanua", "napas", "naped", "napes", "napoo", "nappa", "nappe", "nappy", "naras", "narco", "narcs", "nards", "nares", "naric", "naris", "narks", "narky", "narre", "nashi", "natch", "nates", "natis", "natty", "nauch", "naunt", "navar", "naves", "navew", "navvy", "nawab", "nazes", "nazir", "nazis", "nduja", "neafe", "neals", "neaps", "nears", "neath", "neats", "nebek", "nebel", "necks", "neddy", "needs", "neeld", "neele", "neemb", "neems", "neeps", "neese", "neeze", "negro", "negus", "neifs", "neist", "neive", "nelis", "nelly", "nemas", "nemns", "nempt", "nenes", "neons", "neper", "nepit", "neral", "nerds", "nerka", "nerks", "nerol", "nerts", "nertz", "nervy", "nests", "netes", "netop", "netts", "netty", "neuks", "neume", "neums", "nevel", "neves", "nevus", "newbs", "newed", "newel", "newie", "newsy", "newts", "nexts", "nexus", "ngaio", "ngana", "ngati", "ngoma", "ngwee", "nicad", "nicht", "nicks", "nicol", "nidal", "nided", "nides", "nidor", "nidus", "niefs", "nieve", "nifes", "niffs", "niffy", "nifty", "niger", "nighs", "nihil", "nikab", "nikah", "nikau", "nills", "nimbi", "nimbs", "nimps", "niner", "nines", "ninon", "nipas", "nippy", "niqab", "nirls", "nirly", "nisei", "nisse", "nisus", "niter", "nites", "nitid", "niton", "nitre", "nitro", "nitry", "nitty", "nival", "nixed", "nixer", "nixes", "nixie", "nizam", "nkosi", "noahs", "nobby", "nocks", "nodal", "noddy", "nodes", "nodus", "noels", "noggs", "nohow", "noils", "noily", "noint", "noirs", "noles", "nolls", "nolos", "nomas", "nomen", "nomes", "nomic", "nomoi", "nomos", "nonas", "nonce", "nones", "nonet", "nongs", "nonis", "nonny", "nonyl", "noobs", "nooit", "nooks", "nooky", "noons", "noops", "nopal", "noria", "noris", "norks", "norma", "norms", "nosed", "noser", "noses", "notal", "noted", "noter", "notes", "notum", "nould", "noule", "nouls", "nouns", "nouny", "noups", "novae", "novas", "novum", "noway", "nowed", "nowls", "nowts", "nowty", "noxal", "noxes", "noyau", "noyed", "noyes", "nubby", "nubia", "nucha", "nuddy", "nuder", "nudes", "nudie", "nudzh", "nuffs", "nugae", "nuked", "nukes", "nulla", "nulls", "numbs", "numen", "nummy", "nunny", "nurds", "nurdy", "nurls", "nurrs", "nutso", "nutsy", "nyaff", "nyala", "nying", "nyssa"}; 15 | const Char validWordso[221][5] = {"oaked", "oaker", "oakum", "oared", "oases", "oasis", "oasts", "oaten", "oater", "oaths", "oaves", "obang", "obeah", "obeli", "obeys", "obias", "obied", "obiit", "obits", "objet", "oboes", "obole", "oboli", "obols", "occam", "ocher", "oches", "ochre", "ochry", "ocker", "ocrea", "octad", "octan", "octas", "octyl", "oculi", "odahs", "odals", "odeon", "odeum", "odism", "odist", "odium", "odors", "odour", "odyle", "odyls", "ofays", "offed", "offie", "oflag", "ofter", "ogams", "ogeed", "ogees", "oggin", "ogham", "ogive", "ogled", "ogler", "ogles", "ogmic", "ogres", "ohias", "ohing", "ohmic", "ohone", "oidia", "oiled", "oiler", "oinks", "oints", "ojime", "okapi", "okays", "okehs", "okras", "oktas", "oldie", "oleic", "olein", "olent", "oleos", "oleum", "olios", "ollas", "ollav", "oller", "ollie", "ology", "olpae", "olpes", "omasa", "omber", "ombus", "omens", "omers", "omits", "omlah", "omovs", "omrah", "oncer", "onces", "oncet", "oncus", "onely", "oners", "onery", "onium", "onkus", "onlay", "onned", "ontic", "oobit", "oohed", "oomph", "oonts", "ooped", "oorie", "ooses", "ootid", "oozed", "oozes", "opahs", "opals", "opens", "opepe", "oping", "oppos", "opsin", "opted", "opter", "orach", "oracy", "orals", "orang", "orant", "orate", "orbed", "orcas", "orcin", "ordos", "oread", "orfes", "orgia", "orgic", "orgue", "oribi", "oriel", "orixa", "orles", "orlon", "orlop", "ormer", "ornis", "orpin", "orris", "ortho", "orval", "orzos", "oscar", "oshac", "osier", "osmic", "osmol", "ossia", "ostia", "otaku", "otary", "ottar", "ottos", "oubit", "oucht", "ouens", "ouija", "oulks", "oumas", "oundy", "oupas", "ouped", "ouphe", "ouphs", "ourie", "ousel", "ousts", "outby", "outed", "outre", "outro", "outta", "ouzel", "ouzos", "ovals", "ovels", "ovens", "overs", "ovist", "ovoli", "ovolo", "ovule", "owche", "owies", "owled", "owler", "owlet", "owned", "owres", "owrie", "owsen", "oxbow", "oxers", "oxeye", "oxids", "oxies", "oxime", "oxims", "oxlip", "oxter", "oyers", "ozeki", "ozzie"}; 16 | const Char validWordsp[717][5] = {"paals", "paans", "pacas", "paced", "pacer", "paces", "pacey", "pacha", "packs", "pacos", "pacta", "pacts", "padis", "padle", "padma", "padre", "padri", "paean", "paedo", "paeon", "paged", "pager", "pages", "pagle", "pagod", "pagri", "paiks", "pails", "pains", "paire", "pairs", "paisa", "paise", "pakka", "palas", "palay", "palea", "paled", "pales", "palet", "palis", "palki", "palla", "palls", "pally", "palms", "palmy", "palpi", "palps", "palsa", "pampa", "panax", "pance", "panda", "pands", "pandy", "paned", "panes", "panga", "pangs", "panim", "panko", "panne", "panni", "panto", "pants", "panty", "paoli", "paolo", "papas", "papaw", "papes", "pappi", "pappy", "parae", "paras", "parch", "pardi", "pards", "pardy", "pared", "paren", "pareo", "pares", "pareu", "parev", "parge", "pargo", "paris", "parki", "parks", "parky", "parle", "parly", "parma", "parol", "parps", "parra", "parrs", "parti", "parts", "parve", "parvo", "paseo", "pases", "pasha", "pashm", "paska", "paspy", "passe", "pasts", "pated", "paten", "pater", "pates", "paths", "patin", "patka", "patly", "patte", "patus", "pauas", "pauls", "pavan", "paved", "paven", "paver", "paves", "pavid", "pavin", "pavis", "pawas", "pawaw", "pawed", "pawer", "pawks", "pawky", "pawls", "pawns", "paxes", "payed", "payor", "paysd", "peage", "peags", "peaks", "peaky", "peals", "peans", "peare", "pears", "peart", "pease", "peats", "peaty", "peavy", "peaze", "pebas", "pechs", "pecke", "pecks", "pecky", "pedes", "pedis", "pedro", "peece", "peeks", "peels", "peens", "peeoy", "peepe", "peeps", "peers", "peery", "peeve", "peggy", "peghs", "peins", "peise", "peize", "pekan", "pekes", "pekin", "pekoe", "pelas", "pelau", "peles", "pelfs", "pells", "pelma", "pelon", "pelta", "pelts", "pends", "pendu", "pened", "penes", "pengo", "penie", "penis", "penks", "penna", "penni", "pents", "peons", "peony", "pepla", "pepos", "peppy", "pepsi", "perai", "perce", "percs", "perdu", "perdy", "perea", "peres", "peris", "perks", "perms", "perns", "perog", "perps", "perry", "perse", "perst", "perts", "perve", "pervo", "pervs", "pervy", "pesos", "pests", "pesty", "petar", "peter", "petit", "petre", "petri", "petti", "petto", "pewee", "pewit", "peyse", "phage", "phang", "phare", "pharm", "pheer", "phene", "pheon", "phese", "phial", "phish", "phizz", "phlox", "phoca", "phono", "phons", "phots", "phpht", "phuts", "phyla", "phyle", "piani", "pians", "pibal", "pical", "picas", "piccy", "picks", "picot", "picra", "picul", "piend", "piers", "piert", "pieta", "piets", "piezo", "pight", "pigmy", "piing", "pikas", "pikau", "piked", "piker", "pikes", "pikey", "pikis", "pikul", "pilae", "pilaf", "pilao", "pilar", "pilau", "pilaw", "pilch", "pilea", "piled", "pilei", "piler", "piles", "pilis", "pills", "pilow", "pilum", "pilus", "pimas", "pimps", "pinas", "pined", "pines", "pingo", "pings", "pinko", "pinks", "pinna", "pinny", "pinon", "pinot", "pinta", "pints", "pinup", "pions", "piony", "pious", "pioye", "pioys", "pipal", "pipas", "piped", "pipes", "pipet", "pipis", "pipit", "pippy", "pipul", "pirai", "pirls", "pirns", "pirog", "pisco", "pises", "pisky", "pisos", "pissy", "piste", "pitas", "piths", "piton", "pitot", "pitta", "piums", "pixes", "pized", "pizes", "plaas", "plack", "plage", "plans", "plaps", "plash", "plasm", "plast", "plats", "platt", "platy", "playa", "plays", "pleas", "plebe", "plebs", "plena", "pleon", "plesh", "plews", "plica", "plies", "plims", "pling", "plink", "ploat", "plods", "plong", "plonk", "plook", "plops", "plots", "plotz", "plouk", "plows", "ploye", "ploys", "plues", "pluff", "plugs", "plums", "plumy", "pluot", "pluto", "plyer", "poach", "poaka", "poake", "poboy", "pocks", "pocky", "podal", "poddy", "podex", "podge", "podgy", "podia", "poems", "poeps", "poets", "pogey", "pogge", "pogos", "pohed", "poilu", "poind", "pokal", "poked", "pokes", "pokey", "pokie", "poled", "poler", "poles", "poley", "polio", "polis", "polje", "polks", "polls", "polly", "polos", "polts", "polys", "pombe", "pomes", "pommy", "pomos", "pomps", "ponce", "poncy", "ponds", "pones", "poney", "ponga", "pongo", "pongs", "pongy", "ponks", "ponts", "ponty", "ponzu", "poods", "pooed", "poofs", "poofy", "poohs", "pooja", "pooka", "pooks", "pools", "poons", "poops", "poopy", "poori", "poort", "poots", "poove", "poovy", "popes", "poppa", "popsy", "porae", "poral", "pored", "porer", "pores", "porge", "porgy", "porin", "porks", "porky", "porno", "porns", "porny", "porta", "ports", "porty", "posed", "poses", "posey", "posho", "posts", "potae", "potch", "poted", "potes", "potin", "potoo", "potsy", "potto", "potts", "potty", "pouff", "poufs", "pouke", "pouks", "poule", "poulp", "poult", "poupe", "poupt", "pours", "pouts", "powan", "powin", "pownd", "powns", "powny", "powre", "poxed", "poxes", "poynt", "poyou", "poyse", "pozzy", "praam", "prads", "prahu", "prams", "prana", "prang", "praos", "prase", "prate", "prats", "pratt", "praty", "praus", "prays", "predy", "preed", "prees", "preif", "prems", "premy", "prent", "preon", "preop", "preps", "presa", "prese", "prest", "preve", "prexy", "preys", "prial", "pricy", "prief", "prier", "pries", "prigs", "prill", "prima", "primi", "primp", "prims", "primy", "prink", "prion", "prise", "priss", "proas", "probs", "prods", "proem", "profs", "progs", "proin", "proke", "prole", "proll", "promo", "proms", "pronk", "props", "prore", "proso", "pross", "prost", "prosy", "proto", "proul", "prows", "proyn", "prunt", "pruta", "pryer", "pryse", "pseud", "pshaw", "psion", "psoae", "psoai", "psoas", "psora", "psych", "psyop", "pubco", "pubes", "pubis", "pucan", "pucer", "puces", "pucka", "pucks", "puddy", "pudge", "pudic", "pudor", "pudsy", "pudus", "puers", "puffa", "puffs", "puggy", "pugil", "puhas", "pujah", "pujas", "pukas", "puked", "puker", "pukes", "pukey", "pukka", "pukus", "pulao", "pulas", "puled", "puler", "pules", "pulik", "pulis", "pulka", "pulks", "pulli", "pulls", "pully", "pulmo", "pulps", "pulus", "pumas", "pumie", "pumps", "punas", "punce", "punga", "pungs", "punji", "punka", "punks", "punky", "punny", "punto", "punts", "punty", "pupae", "pupas", "pupus", "purda", "pured", "pures", "purin", "puris", "purls", "purpy", "purrs", "pursy", "purty", "puses", "pusle", "pussy", "putid", "puton", "putti", "putto", "putts", "puzel", "pwned", "pyats", "pyets", "pygal", "pyins", "pylon", "pyned", "pynes", "pyoid", "pyots", "pyral", "pyran", "pyres", "pyrex", "pyric", "pyros", "pyxed", "pyxes", "pyxie", "pyxis", "pzazz"}; 17 | const Char validWordsq[55][5] = {"qadis", "qaids", "qajaq", "qanat", "qapik", "qibla", "qophs", "qorma", "quads", "quaff", "quags", "quair", "quais", "quaky", "quale", "quant", "quare", "quass", "quate", "quats", "quayd", "quays", "qubit", "quean", "queme", "quena", "quern", "queyn", "queys", "quich", "quids", "quiff", "quims", "quina", "quine", "quino", "quins", "quint", "quipo", "quips", "quipu", "quire", "quirt", "quist", "quits", "quoad", "quods", "quoif", "quoin", "quoit", "quoll", "quonk", "quops", "qursh", "quyte"}; 18 | const Char validWordsr[523][5] = {"rabat", "rabic", "rabis", "raced", "races", "rache", "racks", "racon", "radge", "radix", "radon", "raffs", "rafts", "ragas", "ragde", "raged", "ragee", "rager", "rages", "ragga", "raggs", "raggy", "ragis", "ragus", "rahed", "rahui", "raias", "raids", "raiks", "raile", "rails", "raine", "rains", "raird", "raita", "raits", "rajas", "rajes", "raked", "rakee", "raker", "rakes", "rakia", "rakis", "rakus", "rales", "ramal", "ramee", "ramet", "ramie", "ramin", "ramis", "rammy", "ramps", "ramus", "ranas", "rance", "rands", "ranee", "ranga", "rangi", "rangs", "rangy", "ranid", "ranis", "ranke", "ranks", "rants", "raped", "raper", "rapes", "raphe", "rappe", "rared", "raree", "rares", "rarks", "rased", "raser", "rases", "rasps", "rasse", "rasta", "ratal", "ratan", "ratas", "ratch", "rated", "ratel", "rater", "rates", "ratha", "rathe", "raths", "ratoo", "ratos", "ratus", "rauns", "raupo", "raved", "ravel", "raver", "raves", "ravey", "ravin", "rawer", "rawin", "rawly", "rawns", "raxed", "raxes", "rayah", "rayas", "rayed", "rayle", "rayne", "razed", "razee", "razer", "razes", "razoo", "readd", "reads", "reais", "reaks", "realo", "reals", "reame", "reams", "reamy", "reans", "reaps", "rears", "reast", "reata", "reate", "reave", "rebbe", "rebec", "rebid", "rebit", "rebop", "rebuy", "recal", "recce", "recco", "reccy", "recit", "recks", "recon", "recta", "recti", "recto", "redan", "redds", "reddy", "reded", "redes", "redia", "redid", "redip", "redly", "redon", "redos", "redox", "redry", "redub", "redux", "redye", "reech", "reede", "reeds", "reefs", "reefy", "reeks", "reeky", "reels", "reens", "reest", "reeve", "refed", "refel", "reffo", "refis", "refix", "refly", "refry", "regar", "reges", "reggo", "regie", "regma", "regna", "regos", "regur", "rehem", "reifs", "reify", "reiki", "reiks", "reink", "reins", "reird", "reist", "reive", "rejig", "rejon", "reked", "rekes", "rekey", "relet", "relie", "relit", "rello", "reman", "remap", "remen", "remet", "remex", "remix", "renay", "rends", "reney", "renga", "renig", "renin", "renne", "renos", "rente", "rents", "reoil", "reorg", "repeg", "repin", "repla", "repos", "repot", "repps", "repro", "reran", "rerig", "resat", "resaw", "resay", "resee", "reses", "resew", "resid", "resit", "resod", "resow", "resto", "rests", "resty", "resus", "retag", "retax", "retem", "retia", "retie", "retox", "revet", "revie", "rewan", "rewax", "rewed", "rewet", "rewin", "rewon", "rewth", "rexes", "rezes", "rheas", "rheme", "rheum", "rhies", "rhime", "rhine", "rhody", "rhomb", "rhone", "rhumb", "rhyne", "rhyta", "riads", "rials", "riant", "riata", "ribas", "ribby", "ribes", "riced", "ricer", "rices", "ricey", "richt", "ricin", "ricks", "rides", "ridgy", "ridic", "riels", "riems", "rieve", "rifer", "riffs", "rifte", "rifts", "rifty", "riggs", "rigol", "riled", "riles", "riley", "rille", "rills", "rimae", "rimed", "rimer", "rimes", "rimus", "rinds", "rindy", "rines", "rings", "rinks", "rioja", "riots", "riped", "ripes", "ripps", "rises", "rishi", "risks", "risps", "risus", "rites", "ritts", "ritzy", "rivas", "rived", "rivel", "riven", "rives", "riyal", "rizas", "roads", "roams", "roans", "roars", "roary", "roate", "robed", "robes", "roble", "rocks", "roded", "rodes", "roguy", "rohes", "roids", "roils", "roily", "roins", "roist", "rojak", "rojis", "roked", "roker", "rokes", "rolag", "roles", "rolfs", "rolls", "romal", "roman", "romeo", "romps", "ronde", "rondo", "roneo", "rones", "ronin", "ronne", "ronte", "ronts", "roods", "roofs", "roofy", "rooks", "rooky", "rooms", "roons", "roops", "roopy", "roosa", "roose", "roots", "rooty", "roped", "roper", "ropes", "ropey", "roque", "roral", "rores", "roric", "rorid", "rorie", "rorts", "rorty", "rosed", "roses", "roset", "roshi", "rosin", "rosit", "rosti", "rosts", "rotal", "rotan", "rotas", "rotch", "roted", "rotes", "rotis", "rotls", "roton", "rotos", "rotte", "rouen", "roues", "roule", "rouls", "roums", "roups", "roupy", "roust", "routh", "routs", "roved", "roven", "roves", "rowan", "rowed", "rowel", "rowen", "rowie", "rowme", "rownd", "rowth", "rowts", "royne", "royst", "rozet", "rozit", "ruana", "rubai", "rubby", "rubel", "rubes", "rubin", "ruble", "rubli", "rubus", "ruche", "rucks", "rudas", "rudds", "rudes", "rudie", "rudis", "rueda", "ruers", "ruffe", "ruffs", "rugae", "rugal", "ruggy", "ruing", "ruins", "rukhs", "ruled", "rules", "rumal", "rumbo", "rumen", "rumes", "rumly", "rummy", "rumpo", "rumps", "rumpy", "runch", "runds", "runed", "runes", "rungs", "runic", "runny", "runts", "runty", "rupia", "rurps", "rurus", "rusas", "ruses", "rushy", "rusks", "rusma", "russe", "rusts", "ruths", "rutin", "rutty", "ryals", "rybat", "ryked", "rykes", "rymme", "rynds", "ryots", "ryper"}; 19 | const Char validWordss[1199][5] = {"saags", "sabal", "sabed", "saber", "sabes", "sabha", "sabin", "sabir", "sable", "sabot", "sabra", "sabre", "sacks", "sacra", "saddo", "sades", "sadhe", "sadhu", "sadis", "sados", "sadza", "safed", "safes", "sagas", "sager", "sages", "saggy", "sagos", "sagum", "saheb", "sahib", "saice", "saick", "saics", "saids", "saiga", "sails", "saims", "saine", "sains", "sairs", "saist", "saith", "sajou", "sakai", "saker", "sakes", "sakia", "sakis", "sakti", "salal", "salat", "salep", "sales", "salet", "salic", "salix", "salle", "salmi", "salol", "salop", "salpa", "salps", "salse", "salto", "salts", "salue", "salut", "saman", "samas", "samba", "sambo", "samek", "samel", "samen", "sames", "samey", "samfu", "sammy", "sampi", "samps", "sands", "saned", "sanes", "sanga", "sangh", "sango", "sangs", "sanko", "sansa", "santo", "sants", "saola", "sapan", "sapid", "sapor", "saran", "sards", "sared", "saree", "sarge", "sargo", "sarin", "saris", "sarks", "sarky", "sarod", "saros", "sarus", "saser", "sasin", "sasse", "satai", "satay", "sated", "satem", "sates", "satis", "sauba", "sauch", "saugh", "sauls", "sault", "saunt", "saury", "sauts", "saved", "saver", "saves", "savey", "savin", "sawah", "sawed", "sawer", "saxes", "sayed", "sayer", "sayid", "sayne", "sayon", "sayst", "sazes", "scabs", "scads", "scaff", "scags", "scail", "scala", "scall", "scams", "scand", "scans", "scapa", "scape", "scapi", "scarp", "scars", "scart", "scath", "scats", "scatt", "scaud", "scaup", "scaur", "scaws", "sceat", "scena", "scend", "schav", "schmo", "schul", "schwa", "sclim", "scody", "scogs", "scoog", "scoot", "scopa", "scops", "scots", "scoug", "scoup", "scowp", "scows", "scrab", "scrae", "scrag", "scran", "scrat", "scraw", "scray", "scrim", "scrip", "scrob", "scrod", "scrog", "scrow", "scudi", "scudo", "scuds", "scuff", "scuft", "scugs", "sculk", "scull", "sculp", "sculs", "scums", "scups", "scurf", "scurs", "scuse", "scuta", "scute", "scuts", "scuzz", "scyes", "sdayn", "sdein", "seals", "seame", "seams", "seamy", "seans", "seare", "sears", "sease", "seats", "seaze", "sebum", "secco", "sechs", "sects", "seder", "sedes", "sedge", "sedgy", "sedum", "seeds", "seeks", "seeld", "seels", "seely", "seems", "seeps", "seepy", "seers", "sefer", "segar", "segni", "segno", "segol", "segos", "sehri", "seifs", "seils", "seine", "seirs", "seise", "seism", "seity", "seiza", "sekos", "sekts", "selah", "seles", "selfs", "sella", "selle", "sells", "selva", "semee", "semes", "semie", "semis", "senas", "sends", "senes", "sengi", "senna", "senor", "sensa", "sensi", "sente", "senti", "sents", "senvy", "senza", "sepad", "sepal", "sepic", "sepoy", "septa", "septs", "serac", "serai", "seral", "sered", "serer", "seres", "serfs", "serge", "seric", "serin", "serks", "seron", "serow", "serra", "serre", "serrs", "serry", "servo", "sesey", "sessa", "setae", "setal", "seton", "setts", "sewan", "sewar", "sewed", "sewel", "sewen", "sewin", "sexed", "sexer", "sexes", "sexto", "sexts", "seyen", "shads", "shags", "shahs", "shako", "shakt", "shalm", "shaly", "shama", "shams", "shand", "shans", "shaps", "sharn", "shash", "shaul", "shawm", "shawn", "shaws", "shaya", "shays", "shchi", "sheaf", "sheal", "sheas", "sheds", "sheel", "shend", "shent", "sheol", "sherd", "shere", "shero", "shets", "sheva", "shewn", "shews", "shiai", "shiel", "shier", "shies", "shill", "shily", "shims", "shins", "ships", "shirr", "shirs", "shish", "shiso", "shist", "shite", "shits", "shiur", "shiva", "shive", "shivs", "shlep", "shlub", "shmek", "shmoe", "shoat", "shoed", "shoer", "shoes", "shogi", "shogs", "shoji", "shojo", "shola", "shool", "shoon", "shoos", "shope", "shops", "shorl", "shote", "shots", "shott", "showd", "shows", "shoyu", "shred", "shris", "shrow", "shtik", "shtum", "shtup", "shule", "shuln", "shuls", "shuns", "shura", "shute", "shuts", "shwas", "shyer", "sials", "sibbs", "sibyl", "sices", "sicht", "sicko", "sicks", "sicky", "sidas", "sided", "sider", "sides", "sidha", "sidhe", "sidle", "sield", "siens", "sient", "sieth", "sieur", "sifts", "sighs", "sigil", "sigla", "signa", "signs", "sijos", "sikas", "siker", "sikes", "silds", "siled", "silen", "siler", "siles", "silex", "silks", "sills", "silos", "silts", "silty", "silva", "simar", "simas", "simba", "simis", "simps", "simul", "sinds", "sined", "sines", "sings", "sinhs", "sinks", "sinky", "sinus", "siped", "sipes", "sippy", "sired", "siree", "sires", "sirih", "siris", "siroc", "sirra", "sirup", "sisal", "sises", "sista", "sists", "sitar", "sited", "sites", "sithe", "sitka", "situp", "situs", "siver", "sixer", "sixes", "sixmo", "sixte", "sizar", "sized", "sizel", "sizer", "sizes", "skags", "skail", "skald", "skank", "skart", "skats", "skatt", "skaws", "skean", "skear", "skeds", "skeed", "skeef", "skeen", "skeer", "skees", "skeet", "skegg", "skegs", "skein", "skelf", "skell", "skelm", "skelp", "skene", "skens", "skeos", "skeps", "skers", "skets", "skews", "skids", "skied", "skies", "skiey", "skimo", "skims", "skink", "skins", "skint", "skios", "skips", "skirl", "skirr", "skite", "skits", "skive", "skivy", "sklim", "skoal", "skody", "skoff", "skogs", "skols", "skool", "skort", "skosh", "skran", "skrik", "skuas", "skugs", "skyed", "skyer", "skyey", "skyfs", "skyre", "skyrs", "skyte", "slabs", "slade", "slaes", "slags", "slaid", "slake", "slams", "slane", "slank", "slaps", "slart", "slats", "slaty", "slaws", "slays", "slebs", "sleds", "sleer", "slews", "sleys", "slier", "slily", "slims", "slipe", "slips", "slipt", "slish", "slits", "slive", "sloan", "slobs", "sloes", "slogs", "sloid", "slojd", "slomo", "sloom", "sloot", "slops", "slopy", "slorm", "slots", "slove", "slows", "sloyd", "slubb", "slubs", "slued", "slues", "sluff", "slugs", "sluit", "slums", "slurb", "slurs", "sluse", "sluts", "slyer", "slype", "smaak", "smaik", "smalm", "smalt", "smarm", "smaze", "smeek", "smees", "smeik", "smeke", "smerk", "smews", "smirr", "smirs", "smits", "smogs", "smoko", "smolt", "smoor", "smoot", "smore", "smorg", "smout", "smowt", "smugs", "smurs", "smush", "smuts", "snabs", "snafu", "snags", "snaps", "snarf", "snark", "snars", "snary", "snash", "snath", "snaws", "snead", "sneap", "snebs", "sneck", "sneds", "sneed", "snees", "snell", "snibs", "snick", "snies", "snift", "snigs", "snips", "snipy", "snirt", "snits", "snobs", "snods", "snoek", "snoep", "snogs", "snoke", "snood", "snook", "snool", "snoot", "snots", "snowk", "snows", "snubs", "snugs", "snush", "snyes", "soaks", "soaps", "soare", "soars", "soave", "sobas", "socas", "soces", "socko", "socks", "socle", "sodas", "soddy", "sodic", "sodom", "sofar", "sofas", "softa", "softs", "softy", "soger", "sohur", "soils", "soily", "sojas", "sojus", "sokah", "soken", "sokes", "sokol", "solah", "solan", "solas", "solde", "soldi", "soldo", "solds", "soled", "solei", "soler", "soles", "solon", "solos", "solum", "solus", "soman", "somas", "sonce", "sonde", "sones", "songs", "sonly", "sonne", "sonny", "sonse", "sonsy", "sooey", "sooks", "sooky", "soole", "sools", "sooms", "soops", "soote", "soots", "sophs", "sophy", "sopor", "soppy", "sopra", "soral", "soras", "sorbo", "sorbs", "sorda", "sordo", "sords", "sored", "soree", "sorel", "sorer", "sores", "sorex", "sorgo", "sorns", "sorra", "sorta", "sorts", "sorus", "soths", "sotol", "souce", "souct", "sough", "souks", "souls", "soums", "soups", "soupy", "sours", "souse", "souts", "sowar", "sowce", "sowed", "sowff", "sowfs", "sowle", "sowls", "sowms", "sownd", "sowne", "sowps", "sowse", "sowth", "soyas", "soyle", "soyuz", "sozin", "spacy", "spado", "spaed", "spaer", "spaes", "spags", "spahi", "spail", "spain", "spait", "spake", "spald", "spale", "spall", "spalt", "spams", "spane", "spang", "spans", "spard", "spars", "spart", "spate", "spats", "spaul", "spawl", "spaws", "spayd", "spays", "spaza", "spazz", "speal", "spean", "speat", "specs", "spect", "speel", "speer", "speil", "speir", "speks", "speld", "spelk", "speos", "spets", "speug", "spews", "spewy", "spial", "spica", "spick", "spics", "spide", "spier", "spies", "spiff", "spifs", "spiks", "spile", "spims", "spina", "spink", "spins", "spirt", "spiry", "spits", "spitz", "spivs", "splay", "splog", "spode", "spods", "spoom", "spoor", "spoot", "spork", "sposh", "spots", "sprad", "sprag", "sprat", "spred", "sprew", "sprit", "sprod", "sprog", "sprue", "sprug", "spuds", "spued", "spuer", "spues", "spugs", "spule", "spume", "spumy", "spurs", "sputa", "spyal", "spyre", "squab", "squaw", "squeg", "squid", "squit", "squiz", "stabs", "stade", "stags", "stagy", "staig", "stane", "stang", "staph", "staps", "starn", "starr", "stars", "stats", "staun", "staws", "stays", "stean", "stear", "stedd", "stede", "steds", "steek", "steem", "steen", "steil", "stela", "stele", "stell", "steme", "stems", "stend", "steno", "stens", "stent", "steps", "stept", "stere", "stets", "stews", "stewy", "steys", "stich", "stied", "sties", "stilb", "stile", "stime", "stims", "stimy", "stipa", "stipe", "stire", "stirk", "stirp", "stirs", "stive", "stivy", "stoae", "stoai", "stoas", "stoat", "stobs", "stoep", "stogy", "stoit", "stoln", "stoma", "stond", "stong", "stonk", "stonn", "stook", "stoor", "stope", "stops", "stopt", "stoss", "stots", "stott", "stoun", "stoup", "stour", "stown", "stowp", "stows", "strad", "strae", "strag", "strak", "strep", "strew", "stria", "strig", "strim", "strop", "strow", "stroy", "strum", "stubs", "stude", "studs", "stull", "stulm", "stumm", "stums", "stuns", "stupa", "stupe", "sture", "sturt", "styed", "styes", "styli", "stylo", "styme", "stymy", "styre", "styte", "subah", "subas", "subby", "suber", "subha", "succi", "sucks", "sucky", "sucre", "sudds", "sudor", "sudsy", "suede", "suent", "suers", "suete", "suets", "suety", "sugan", "sughs", "sugos", "suhur", "suids", "suint", "suits", "sujee", "sukhs", "sukuk", "sulci", "sulfa", "sulfo", "sulks", "sulph", "sulus", "sumis", "summa", "sumos", "sumph", "sumps", "sunis", "sunks", "sunna", "sunns", "sunup", "supes", "supra", "surah", "sural", "suras", "surat", "surds", "sured", "sures", "surfs", "surfy", "surgy", "surra", "sused", "suses", "susus", "sutor", "sutra", "sutta", "swabs", "swack", "swads", "swage", "swags", "swail", "swain", "swale", "swaly", "swamy", "swang", "swank", "swans", "swaps", "swapt", "sward", "sware", "swarf", "swart", "swats", "swayl", "sways", "sweal", "swede", "sweed", "sweel", "sweer", "swees", "sweir", "swelt", "swerf", "sweys", "swies", "swigs", "swile", "swims", "swink", "swipe", "swire", "swiss", "swith", "swits", "swive", "swizz", "swobs", "swole", "swoln", "swops", "swopt", "swots", "swoun", "sybbe", "sybil", "syboe", "sybow", "sycee", "syces", "sycon", "syens", "syker", "sykes", "sylis", "sylph", "sylva", "symar", "synch", "syncs", "synds", "syned", "synes", "synth", "syped", "sypes", "syphs", "syrah", "syren", "sysop", "sythe", "syver"}; 20 | const Char validWordst[666][5] = {"taals", "taata", "taber", "tabes", "tabid", "tabis", "tabla", "tabor", "tabun", "tabus", "tacan", "taces", "tacet", "tache", "tacho", "tachs", "tacks", "tacos", "tacts", "taels", "tafia", "taggy", "tagma", "tahas", "tahrs", "taiga", "taigs", "taiko", "tails", "tains", "taira", "taish", "taits", "tajes", "takas", "takes", "takhi", "takin", "takis", "takky", "talak", "talaq", "talar", "talas", "talcs", "talcy", "talea", "taler", "tales", "talks", "talky", "talls", "talma", "talpa", "taluk", "talus", "tamal", "tamed", "tames", "tamin", "tamis", "tammy", "tamps", "tanas", "tanga", "tangi", "tangs", "tanhs", "tanka", "tanks", "tanky", "tanna", "tansy", "tanti", "tanto", "tanty", "tapas", "taped", "tapen", "tapes", "tapet", "tapis", "tappa", "tapus", "taras", "tardo", "tared", "tares", "targa", "targe", "tarns", "taroc", "tarok", "taros", "tarps", "tarre", "tarry", "tarsi", "tarts", "tarty", "tasar", "tased", "taser", "tases", "tasks", "tassa", "tasse", "tasso", "tatar", "tater", "tates", "taths", "tatie", "tatou", "tatts", "tatus", "taube", "tauld", "tauon", "taupe", "tauts", "tavah", "tavas", "taver", "tawai", "tawas", "tawed", "tawer", "tawie", "tawse", "tawts", "taxed", "taxer", "taxes", "taxis", "taxol", "taxon", "taxor", "taxus", "tayra", "tazza", "tazze", "teade", "teads", "teaed", "teaks", "teals", "teams", "tears", "teats", "teaze", "techs", "techy", "tecta", "teels", "teems", "teend", "teene", "teens", "teeny", "teers", "teffs", "teggs", "tegua", "tegus", "tehrs", "teiid", "teils", "teind", "teins", "telae", "telco", "teles", "telex", "telia", "telic", "tells", "telly", "teloi", "telos", "temed", "temes", "tempi", "temps", "tempt", "temse", "tench", "tends", "tendu", "tenes", "tenge", "tenia", "tenne", "tenno", "tenny", "tenon", "tents", "tenty", "tenue", "tepal", "tepas", "tepoy", "terai", "teras", "terce", "terek", "teres", "terfe", "terfs", "terga", "terms", "terne", "terns", "terry", "terts", "tesla", "testa", "teste", "tests", "tetes", "teths", "tetra", "tetri", "teuch", "teugh", "tewed", "tewel", "tewit", "texas", "texes", "texts", "thack", "thagi", "thaim", "thale", "thali", "thana", "thane", "thang", "thans", "thanx", "tharm", "thars", "thaws", "thawy", "thebe", "theca", "theed", "theek", "thees", "thegn", "theic", "thein", "thelf", "thema", "thens", "theow", "therm", "thesp", "thete", "thews", "thewy", "thigs", "thilk", "thill", "thine", "thins", "thiol", "thirl", "thoft", "thole", "tholi", "thoro", "thorp", "thous", "thowl", "thrae", "thraw", "thrid", "thrip", "throe", "thuds", "thugs", "thuja", "thunk", "thurl", "thuya", "thymi", "thymy", "tians", "tiars", "tical", "ticca", "ticed", "tices", "tichy", "ticks", "ticky", "tiddy", "tided", "tides", "tiers", "tiffs", "tifos", "tifts", "tiges", "tigon", "tikas", "tikes", "tikis", "tikka", "tilak", "tiled", "tiler", "tiles", "tills", "tilly", "tilth", "tilts", "timbo", "timed", "times", "timon", "timps", "tinas", "tinct", "tinds", "tinea", "tined", "tines", "tinge", "tings", "tinks", "tinny", "tints", "tinty", "tipis", "tippy", "tired", "tires", "tirls", "tiros", "tirrs", "titch", "titer", "titis", "titre", "titty", "titup", "tiyin", "tiyns", "tizes", "tizzy", "toads", "toady", "toaze", "tocks", "tocky", "tocos", "todde", "toeas", "toffs", "toffy", "tofts", "tofus", "togae", "togas", "toged", "toges", "togue", "tohos", "toile", "toils", "toing", "toise", "toits", "tokay", "toked", "toker", "tokes", "tokos", "tolan", "tolar", "tolas", "toled", "toles", "tolls", "tolly", "tolts", "tolus", "tolyl", "toman", "tombs", "tomes", "tomia", "tommy", "tomos", "tondi", "tondo", "toned", "toner", "tones", "toney", "tongs", "tonka", "tonks", "tonne", "tonus", "tools", "tooms", "toons", "toots", "toped", "topee", "topek", "toper", "topes", "tophe", "tophi", "tophs", "topis", "topoi", "topos", "toppy", "toque", "torah", "toran", "toras", "torcs", "tores", "toric", "torii", "toros", "torot", "torrs", "torse", "torsi", "torsk", "torta", "torte", "torts", "tosas", "tosed", "toses", "toshy", "tossy", "toted", "toter", "totes", "totty", "touks", "touns", "tours", "touse", "tousy", "touts", "touze", "touzy", "towed", "towie", "towns", "towny", "towse", "towsy", "towts", "towze", "towzy", "toyed", "toyer", "toyon", "toyos", "tozed", "tozes", "tozie", "trabs", "trads", "tragi", "traik", "trams", "trank", "tranq", "trans", "trant", "trape", "traps", "trapt", "trass", "trats", "tratt", "trave", "trayf", "trays", "treck", "treed", "treen", "trees", "trefa", "treif", "treks", "trema", "trems", "tress", "trest", "trets", "trews", "treyf", "treys", "triac", "tride", "trier", "tries", "triff", "trigo", "trigs", "trike", "trild", "trill", "trims", "trine", "trins", "triol", "trior", "trios", "trips", "tripy", "trist", "troad", "troak", "troat", "trock", "trode", "trods", "trogs", "trois", "troke", "tromp", "trona", "tronc", "trone", "tronk", "trons", "trooz", "troth", "trots", "trows", "troys", "trued", "trues", "trugo", "trugs", "trull", "tryer", "tryke", "tryma", "tryps", "tsade", "tsadi", "tsars", "tsked", "tsuba", "tsubo", "tuans", "tuart", "tuath", "tubae", "tubar", "tubas", "tubby", "tubed", "tubes", "tucks", "tufas", "tuffe", "tuffs", "tufts", "tufty", "tugra", "tuile", "tuina", "tuism", "tuktu", "tules", "tulpa", "tulsi", "tumid", "tummy", "tumps", "tumpy", "tunas", "tunds", "tuned", "tuner", "tunes", "tungs", "tunny", "tupek", "tupik", "tuple", "tuque", "turds", "turfs", "turfy", "turks", "turme", "turms", "turns", "turnt", "turps", "turrs", "tushy", "tusks", "tusky", "tutee", "tutti", "tutty", "tutus", "tuxes", "tuyer", "twaes", "twain", "twals", "twank", "twats", "tways", "tweel", "tween", "tweep", "tweer", "twerk", "twerp", "twier", "twigs", "twill", "twilt", "twink", "twins", "twiny", "twire", "twirp", "twite", "twits", "twoer", "twyer", "tyees", "tyers", "tyiyn", "tykes", "tyler", "tymps", "tynde", "tyned", "tynes", "typal", "typed", "types", "typey", "typic", "typos", "typps", "typto", "tyran", "tyred", "tyres", "tyros", "tythe", "tzars"}; 21 | const Char validWordsu[156][5] = {"udals", "udons", "ugali", "ugged", "uhlan", "uhuru", "ukase", "ulama", "ulans", "ulema", "ulmin", "ulnad", "ulnae", "ulnar", "ulnas", "ulpan", "ulvas", "ulyie", "ulzie", "umami", "umbel", "umber", "umble", "umbos", "umbre", "umiac", "umiak", "umiaq", "ummah", "ummas", "ummed", "umped", "umphs", "umpie", "umpty", "umrah", "umras", "unais", "unapt", "unarm", "unary", "unaus", "unbag", "unban", "unbar", "unbed", "unbid", "unbox", "uncap", "unces", "uncia", "uncos", "uncoy", "uncus", "undam", "undee", "undos", "undug", "uneth", "unfix", "ungag", "unget", "ungod", "ungot", "ungum", "unhat", "unhip", "unica", "units", "unjam", "unked", "unket", "unkid", "unlaw", "unlay", "unled", "unlet", "unlid", "unman", "unmew", "unmix", "unpay", "unpeg", "unpen", "unpin", "unred", "unrid", "unrig", "unrip", "unsaw", "unsay", "unsee", "unsew", "unsex", "unsod", "untax", "untin", "unwet", "unwit", "unwon", "upbow", "upbye", "updos", "updry", "upend", "upjet", "uplay", "upled", "uplit", "upped", "upran", "uprun", "upsee", "upsey", "uptak", "upter", "uptie", "uraei", "urali", "uraos", "urare", "urari", "urase", "urate", "urbex", "urbia", "urdee", "ureal", "ureas", "uredo", "ureic", "urena", "urent", "urged", "urger", "urges", "urial", "urite", "urman", "urnal", "urned", "urped", "ursae", "ursid", "urson", "urubu", "urvas", "users", "usnea", "usque", "usure", "usury", "uteri", "uveal", "uveas", "uvula"}; 22 | const Char validWordsv[199][5] = {"vacua", "vaded", "vades", "vagal", "vagus", "vails", "vaire", "vairs", "vairy", "vakas", "vakil", "vales", "valis", "valse", "vamps", "vampy", "vanda", "vaned", "vanes", "vangs", "vants", "vaped", "vaper", "vapes", "varan", "varas", "vardy", "varec", "vares", "varia", "varix", "varna", "varus", "varve", "vasal", "vases", "vasts", "vasty", "vatic", "vatus", "vauch", "vaute", "vauts", "vawte", "vaxes", "veale", "veals", "vealy", "veena", "veeps", "veers", "veery", "vegas", "veges", "vegie", "vegos", "vehme", "veils", "veily", "veins", "veiny", "velar", "velds", "veldt", "veles", "vells", "velum", "venae", "venal", "vends", "vendu", "veney", "venge", "venin", "vents", "venus", "verbs", "verra", "verry", "verst", "verts", "vertu", "vespa", "vesta", "vests", "vetch", "vexed", "vexer", "vexes", "vexil", "vezir", "vials", "viand", "vibes", "vibex", "vibey", "viced", "vices", "vichy", "viers", "views", "viewy", "vifda", "viffs", "vigas", "vigia", "vilde", "viler", "villi", "vills", "vimen", "vinal", "vinas", "vinca", "vined", "viner", "vines", "vinew", "vinic", "vinos", "vints", "viold", "viols", "vired", "vireo", "vires", "virga", "virge", "virid", "virls", "virtu", "visas", "vised", "vises", "visie", "visne", "vison", "visto", "vitae", "vitas", "vitex", "vitro", "vitta", "vivas", "vivat", "vivda", "viver", "vives", "vizir", "vizor", "vleis", "vlies", "vlogs", "voars", "vocab", "voces", "voddy", "vodou", "vodun", "voema", "vogie", "voids", "voile", "voips", "volae", "volar", "voled", "voles", "volet", "volks", "volta", "volte", "volti", "volts", "volva", "volve", "vomer", "voted", "votes", "vouge", "voulu", "vowed", "vower", "voxel", "vozhd", "vraic", "vrils", "vroom", "vrous", "vrouw", "vrows", "vuggs", "vuggy", "vughs", "vughy", "vulgo", "vulns", "vulva", "vutty"}; 23 | const Char validWordsw[330][5] = {"waacs", "wacke", "wacko", "wacks", "wadds", "waddy", "waded", "wader", "wades", "wadge", "wadis", "wadts", "waffs", "wafts", "waged", "wages", "wagga", "wagyu", "wahoo", "waide", "waifs", "waift", "wails", "wains", "wairs", "waite", "waits", "wakas", "waked", "waken", "waker", "wakes", "wakfs", "waldo", "walds", "waled", "waler", "wales", "walie", "walis", "walks", "walla", "walls", "wally", "walty", "wamed", "wames", "wamus", "wands", "waned", "wanes", "waney", "wangs", "wanks", "wanky", "wanle", "wanly", "wanna", "wants", "wanty", "wanze", "waqfs", "warbs", "warby", "wards", "wared", "wares", "warez", "warks", "warms", "warns", "warps", "warre", "warst", "warts", "wases", "washy", "wasms", "wasps", "waspy", "wasts", "watap", "watts", "wauff", "waugh", "wauks", "waulk", "wauls", "waurs", "waved", "waves", "wavey", "wawas", "wawes", "wawls", "waxed", "waxer", "waxes", "wayed", "wazir", "wazoo", "weald", "weals", "weamb", "weans", "wears", "webby", "weber", "wecht", "wedel", "wedgy", "weeds", "weeke", "weeks", "weels", "weems", "weens", "weeny", "weeps", "weepy", "weest", "weete", "weets", "wefte", "wefts", "weids", "weils", "weirs", "weise", "weize", "wekas", "welds", "welke", "welks", "welkt", "wells", "welly", "welts", "wembs", "wends", "wenge", "wenny", "wents", "weros", "wersh", "wests", "wetas", "wetly", "wexed", "wexes", "whamo", "whams", "whang", "whaps", "whare", "whata", "whats", "whaup", "whaur", "wheal", "whear", "wheen", "wheep", "wheft", "whelk", "whelm", "whens", "whets", "whews", "wheys", "whids", "whift", "whigs", "whilk", "whims", "whins", "whios", "whips", "whipt", "whirr", "whirs", "whish", "whiss", "whist", "whits", "whity", "whizz", "whomp", "whoof", "whoot", "whops", "whore", "whorl", "whort", "whoso", "whows", "whump", "whups", "whyda", "wicca", "wicks", "wicky", "widdy", "wides", "wiels", "wifed", "wifes", "wifey", "wifie", "wifty", "wigan", "wigga", "wiggy", "wikis", "wilco", "wilds", "wiled", "wiles", "wilga", "wilis", "wilja", "wills", "wilts", "wimps", "winds", "wined", "wines", "winey", "winge", "wings", "wingy", "winks", "winna", "winns", "winos", "winze", "wiped", "wiper", "wipes", "wired", "wirer", "wires", "wirra", "wised", "wises", "wisha", "wisht", "wisps", "wists", "witan", "wited", "wites", "withe", "withs", "withy", "wived", "wiver", "wives", "wizen", "wizes", "woads", "woald", "wocks", "wodge", "woful", "wojus", "woker", "wokka", "wolds", "wolfs", "wolly", "wolve", "wombs", "womby", "womyn", "wonga", "wongi", "wonks", "wonky", "wonts", "woods", "wooed", "woofs", "woofy", "woold", "wools", "woons", "woops", "woopy", "woose", "woosh", "wootz", "words", "works", "worms", "wormy", "worts", "wowed", "wowee", "woxen", "wrang", "wraps", "wrapt", "wrast", "wrate", "wrawl", "wrens", "wrick", "wried", "wrier", "wries", "writs", "wroke", "wroot", "wroth", "wryer", "wuddy", "wudus", "wulls", "wurst", "wuses", "wushu", "wussy", "wuxia", "wyled", "wyles", "wynds", "wynns", "wyted", "wytes"}; 24 | const Char validWordsx[16][5] = {"xebec", "xenia", "xenic", "xenon", "xeric", "xerox", "xerus", "xoana", "xrays", "xylan", "xylem", "xylic", "xylol", "xylyl", "xysti", "xysts"}; 25 | const Char validWordsy[175][5] = {"yaars", "yabas", "yabba", "yabby", "yacca", "yacka", "yacks", "yaffs", "yager", "yages", "yagis", "yahoo", "yaird", "yakka", "yakow", "yales", "yamen", "yampy", "yamun", "yangs", "yanks", "yapok", "yapon", "yapps", "yappy", "yarak", "yarco", "yards", "yarer", "yarfa", "yarks", "yarns", "yarrs", "yarta", "yarto", "yates", "yauds", "yauld", "yaups", "yawed", "yawey", "yawls", "yawns", "yawny", "yawps", "ybore", "yclad", "ycled", "ycond", "ydrad", "ydred", "yeads", "yeahs", "yealm", "yeans", "yeard", "years", "yecch", "yechs", "yechy", "yedes", "yeeds", "yeesh", "yeggs", "yelks", "yells", "yelms", "yelps", "yelts", "yenta", "yente", "yerba", "yerds", "yerks", "yeses", "yesks", "yests", "yesty", "yetis", "yetts", "yeuks", "yeuky", "yeven", "yeves", "yewen", "yexed", "yexes", "yfere", "yiked", "yikes", "yills", "yince", "yipes", "yippy", "yirds", "yirks", "yirrs", "yirth", "yites", "yitie", "ylems", "ylike", "ylkes", "ymolt", "ympes", "yobbo", "yobby", "yocks", "yodel", "yodhs", "yodle", "yogas", "yogee", "yoghs", "yogic", "yogin", "yogis", "yoick", "yojan", "yoked", "yokel", "yoker", "yokes", "yokul", "yolks", "yolky", "yomim", "yomps", "yonic", "yonis", "yonks", "yoofs", "yoops", "yores", "yorks", "yorps", "youks", "yourn", "yours", "yourt", "youse", "yowed", "yowes", "yowie", "yowls", "yowza", "yrapt", "yrent", "yrivd", "yrneh", "ysame", "ytost", "yuans", "yucas", "yucca", "yucch", "yucko", "yucks", "yucky", "yufts", "yugas", "yuked", "yukes", "yukky", "yukos", "yulan", "yules", "yummo", "yummy", "yumps", "yupon", "yuppy", "yurta", "yurts", "yuzus"}; 26 | const Char validWordsz[102][5] = {"zabra", "zacks", "zaida", "zaidy", "zaire", "zakat", "zaman", "zambo", "zamia", "zanja", "zante", "zanza", "zanze", "zappy", "zarfs", "zaris", "zatis", "zaxes", "zayin", "zazen", "zeals", "zebec", "zebub", "zebus", "zedas", "zeins", "zendo", "zerda", "zerks", "zeros", "zests", "zetas", "zexes", "zezes", "zhomo", "zibet", "ziffs", "zigan", "zilas", "zilch", "zilla", "zills", "zimbi", "zimbs", "zinco", "zincs", "zincy", "zineb", "zines", "zings", "zingy", "zinke", "zinky", "zippo", "zippy", "ziram", "zitis", "zizel", "zizit", "zlote", "zloty", "zoaea", "zobos", "zobus", "zocco", "zoeae", "zoeal", "zoeas", "zoism", "zoist", "zombi", "zonae", "zonda", "zoned", "zoner", "zones", "zonks", "zooea", "zooey", "zooid", "zooks", "zooms", "zoons", "zooty", "zoppa", "zoppo", "zoril", "zoris", "zorro", "zouks", "zowee", "zowie", "zulus", "zupan", "zupas", "zuppa", "zurfs", "zuzim", "zygal", "zygon", "zymes", "zymic"}; -------------------------------------------------------------------------------- /wordorder.h: -------------------------------------------------------------------------------- 1 | #define NUM_WORDS 2309 2 | 3 | const Char wordOrder[NUM_WORDS][5] = { 4 | "cigar", 5 | "rebut", 6 | "sissy", 7 | "humph", 8 | "awake", 9 | "blush", 10 | "focal", 11 | "evade", 12 | "naval", 13 | "serve", 14 | "heath", 15 | "dwarf", 16 | "model", 17 | "karma", 18 | "stink", 19 | "grade", 20 | "quiet", 21 | "bench", 22 | "abate", 23 | "feign", 24 | "major", 25 | "death", 26 | "fresh", 27 | "crust", 28 | "stool", 29 | "colon", 30 | "abase", 31 | "marry", 32 | "react", 33 | "batty", 34 | "pride", 35 | "floss", 36 | "helix", 37 | "croak", 38 | "staff", 39 | "paper", 40 | "unfed", 41 | "whelp", 42 | "trawl", 43 | "outdo", 44 | "adobe", 45 | "crazy", 46 | "sower", 47 | "repay", 48 | "digit", 49 | "crate", 50 | "cluck", 51 | "spike", 52 | "mimic", 53 | "pound", 54 | "maxim", 55 | "linen", 56 | "unmet", 57 | "flesh", 58 | "booby", 59 | "forth", 60 | "first", 61 | "stand", 62 | "belly", 63 | "ivory", 64 | "seedy", 65 | "print", 66 | "yearn", 67 | "drain", 68 | "bribe", 69 | "stout", 70 | "panel", 71 | "crass", 72 | "flume", 73 | "offal", 74 | "agree", 75 | "error", 76 | "swirl", 77 | "argue", 78 | "bleed", 79 | "delta", 80 | "flick", 81 | "totem", 82 | "wooer", 83 | "front", 84 | "shrub", 85 | "parry", 86 | "biome", 87 | "lapel", 88 | "start", 89 | "greet", 90 | "goner", 91 | "golem", 92 | "lusty", 93 | "loopy", 94 | "round", 95 | "audit", 96 | "lying", 97 | "gamma", 98 | "labor", 99 | "islet", 100 | "civic", 101 | "forge", 102 | "corny", 103 | "moult", 104 | "basic", 105 | "salad", 106 | "agate", 107 | "spicy", 108 | "spray", 109 | "essay", 110 | "fjord", 111 | "spend", 112 | "kebab", 113 | "guild", 114 | "aback", 115 | "motor", 116 | "alone", 117 | "hatch", 118 | "hyper", 119 | "thumb", 120 | "dowry", 121 | "ought", 122 | "belch", 123 | "dutch", 124 | "pilot", 125 | "tweed", 126 | "comet", 127 | "jaunt", 128 | "enema", 129 | "steed", 130 | "abyss", 131 | "growl", 132 | "fling", 133 | "dozen", 134 | "boozy", 135 | "erode", 136 | "world", 137 | "gouge", 138 | "click", 139 | "briar", 140 | "great", 141 | "altar", 142 | "pulpy", 143 | "blurt", 144 | "coast", 145 | "duchy", 146 | "groin", 147 | "fixer", 148 | "group", 149 | "rogue", 150 | "badly", 151 | "smart", 152 | "pithy", 153 | "gaudy", 154 | "chill", 155 | "heron", 156 | "vodka", 157 | "finer", 158 | "surer", 159 | "radio", 160 | "rouge", 161 | "perch", 162 | "retch", 163 | "wrote", 164 | "clock", 165 | "tilde", 166 | "store", 167 | "prove", 168 | "bring", 169 | "solve", 170 | "cheat", 171 | "grime", 172 | "exult", 173 | "usher", 174 | "epoch", 175 | "triad", 176 | "break", 177 | "rhino", 178 | "viral", 179 | "conic", 180 | "masse", 181 | "sonic", 182 | "vital", 183 | "trace", 184 | "using", 185 | "peach", 186 | "champ", 187 | "baton", 188 | "brake", 189 | "pluck", 190 | "craze", 191 | "gripe", 192 | "weary", 193 | "picky", 194 | "acute", 195 | "ferry", 196 | "aside", 197 | "tapir", 198 | "troll", 199 | "unify", 200 | "rebus", 201 | "boost", 202 | "truss", 203 | "siege", 204 | "tiger", 205 | "banal", 206 | "slump", 207 | "crank", 208 | "gorge", 209 | "query", 210 | "drink", 211 | "favor", 212 | "abbey", 213 | "tangy", 214 | "panic", 215 | "solar", 216 | "shire", 217 | "proxy", 218 | "point", 219 | "robot", 220 | "prick", 221 | "wince", 222 | "crimp", 223 | "knoll", 224 | "sugar", 225 | "whack", 226 | "mount", 227 | "perky", 228 | "could", 229 | "wrung", 230 | "light", 231 | "those", 232 | "moist", 233 | "shard", 234 | "pleat", 235 | "aloft", 236 | "skill", 237 | "elder", 238 | "frame", 239 | "humor", 240 | "pause", 241 | "ulcer", 242 | "ultra", 243 | "robin", 244 | "cynic", 245 | "aroma", 246 | "caulk", 247 | "shake", 248 | "dodge", 249 | "swill", 250 | "tacit", 251 | "other", 252 | "thorn", 253 | "trove", 254 | "bloke", 255 | "vivid", 256 | "spill", 257 | "chant", 258 | "choke", 259 | "rupee", 260 | "nasty", 261 | "mourn", 262 | "ahead", 263 | "brine", 264 | "cloth", 265 | "hoard", 266 | "sweet", 267 | "month", 268 | "lapse", 269 | "watch", 270 | "today", 271 | "focus", 272 | "smelt", 273 | "tease", 274 | "cater", 275 | "movie", 276 | "saute", 277 | "allow", 278 | "renew", 279 | "their", 280 | "slosh", 281 | "purge", 282 | "chest", 283 | "depot", 284 | "epoxy", 285 | "nymph", 286 | "found", 287 | "shall", 288 | "stove", 289 | "lowly", 290 | "snout", 291 | "trope", 292 | "fewer", 293 | "shawl", 294 | "natal", 295 | "comma", 296 | "foray", 297 | "scare", 298 | "stair", 299 | "black", 300 | "squad", 301 | "royal", 302 | "chunk", 303 | "mince", 304 | "shame", 305 | "cheek", 306 | "ample", 307 | "flair", 308 | "foyer", 309 | "cargo", 310 | "oxide", 311 | "plant", 312 | "olive", 313 | "inert", 314 | "askew", 315 | "heist", 316 | "shown", 317 | "zesty", 318 | "trash", 319 | "larva", 320 | "forgo", 321 | "story", 322 | "hairy", 323 | "train", 324 | "homer", 325 | "badge", 326 | "midst", 327 | "canny", 328 | "shine", 329 | "gecko", 330 | "farce", 331 | "slung", 332 | "tipsy", 333 | "metal", 334 | "yield", 335 | "delve", 336 | "being", 337 | "scour", 338 | "glass", 339 | "gamer", 340 | "scrap", 341 | "money", 342 | "hinge", 343 | "album", 344 | "vouch", 345 | "asset", 346 | "tiara", 347 | "crept", 348 | "bayou", 349 | "atoll", 350 | "manor", 351 | "creak", 352 | "showy", 353 | "phase", 354 | "froth", 355 | "depth", 356 | "gloom", 357 | "flood", 358 | "trait", 359 | "girth", 360 | "piety", 361 | "goose", 362 | "float", 363 | "donor", 364 | "atone", 365 | "primo", 366 | "apron", 367 | "blown", 368 | "cacao", 369 | "loser", 370 | "input", 371 | "gloat", 372 | "awful", 373 | "brink", 374 | "smite", 375 | "beady", 376 | "rusty", 377 | "retro", 378 | "droll", 379 | "gawky", 380 | "hutch", 381 | "pinto", 382 | "egret", 383 | "lilac", 384 | "sever", 385 | "field", 386 | "fluff", 387 | "agape", 388 | "voice", 389 | "stead", 390 | "berth", 391 | "madam", 392 | "night", 393 | "bland", 394 | "liver", 395 | "wedge", 396 | "roomy", 397 | "wacky", 398 | "flock", 399 | "angry", 400 | "trite", 401 | "aphid", 402 | "tryst", 403 | "midge", 404 | "power", 405 | "elope", 406 | "cinch", 407 | "motto", 408 | "stomp", 409 | "upset", 410 | "bluff", 411 | "cramp", 412 | "quart", 413 | "coyly", 414 | "youth", 415 | "rhyme", 416 | "buggy", 417 | "alien", 418 | "smear", 419 | "unfit", 420 | "patty", 421 | "cling", 422 | "glean", 423 | "label", 424 | "hunky", 425 | "khaki", 426 | "poker", 427 | "gruel", 428 | "twice", 429 | "twang", 430 | "shrug", 431 | "treat", 432 | "waste", 433 | "merit", 434 | "woven", 435 | "needy", 436 | "clown", 437 | "irony", 438 | "ruder", 439 | "gauze", 440 | "chief", 441 | "onset", 442 | "prize", 443 | "fungi", 444 | "charm", 445 | "gully", 446 | "inter", 447 | "whoop", 448 | "taunt", 449 | "leery", 450 | "class", 451 | "theme", 452 | "lofty", 453 | "tibia", 454 | "booze", 455 | "alpha", 456 | "thyme", 457 | "doubt", 458 | "parer", 459 | "chute", 460 | "stick", 461 | "trice", 462 | "alike", 463 | "recap", 464 | "saint", 465 | "glory", 466 | "grate", 467 | "admit", 468 | "brisk", 469 | "soggy", 470 | "usurp", 471 | "scald", 472 | "scorn", 473 | "leave", 474 | "twine", 475 | "sting", 476 | "bough", 477 | "marsh", 478 | "sloth", 479 | "dandy", 480 | "vigor", 481 | "howdy", 482 | "enjoy", 483 | "valid", 484 | "ionic", 485 | "equal", 486 | "floor", 487 | "catch", 488 | "spade", 489 | "stein", 490 | "exist", 491 | "quirk", 492 | "denim", 493 | "grove", 494 | "spiel", 495 | "mummy", 496 | "fault", 497 | "foggy", 498 | "flout", 499 | "carry", 500 | "sneak", 501 | "libel", 502 | "waltz", 503 | "aptly", 504 | "piney", 505 | "inept", 506 | "aloud", 507 | "photo", 508 | "dream", 509 | "stale", 510 | "unite", 511 | "snarl", 512 | "baker", 513 | "there", 514 | "glyph", 515 | "pooch", 516 | "hippy", 517 | "spell", 518 | "folly", 519 | "louse", 520 | "gulch", 521 | "vault", 522 | "godly", 523 | "threw", 524 | "fleet", 525 | "grave", 526 | "inane", 527 | "shock", 528 | "crave", 529 | "spite", 530 | "valve", 531 | "skimp", 532 | "claim", 533 | "rainy", 534 | "musty", 535 | "pique", 536 | "daddy", 537 | "quasi", 538 | "arise", 539 | "aging", 540 | "valet", 541 | "opium", 542 | "avert", 543 | "stuck", 544 | "recut", 545 | "mulch", 546 | "genre", 547 | "plume", 548 | "rifle", 549 | "count", 550 | "incur", 551 | "total", 552 | "wrest", 553 | "mocha", 554 | "deter", 555 | "study", 556 | "lover", 557 | "safer", 558 | "rivet", 559 | "funny", 560 | "smoke", 561 | "mound", 562 | "undue", 563 | "sedan", 564 | "pagan", 565 | "swine", 566 | "guile", 567 | "gusty", 568 | "equip", 569 | "tough", 570 | "canoe", 571 | "chaos", 572 | "covet", 573 | "human", 574 | "udder", 575 | "lunch", 576 | "blast", 577 | "stray", 578 | "manga", 579 | "melee", 580 | "lefty", 581 | "quick", 582 | "paste", 583 | "given", 584 | "octet", 585 | "risen", 586 | "groan", 587 | "leaky", 588 | "grind", 589 | "carve", 590 | "loose", 591 | "sadly", 592 | "spilt", 593 | "apple", 594 | "slack", 595 | "honey", 596 | "final", 597 | "sheen", 598 | "eerie", 599 | "minty", 600 | "slick", 601 | "derby", 602 | "wharf", 603 | "spelt", 604 | "coach", 605 | "erupt", 606 | "singe", 607 | "price", 608 | "spawn", 609 | "fairy", 610 | "jiffy", 611 | "filmy", 612 | "stack", 613 | "chose", 614 | "sleep", 615 | "ardor", 616 | "nanny", 617 | "niece", 618 | "woozy", 619 | "handy", 620 | "grace", 621 | "ditto", 622 | "stank", 623 | "cream", 624 | "usual", 625 | "diode", 626 | "valor", 627 | "angle", 628 | "ninja", 629 | "muddy", 630 | "chase", 631 | "reply", 632 | "prone", 633 | "spoil", 634 | "heart", 635 | "shade", 636 | "diner", 637 | "arson", 638 | "onion", 639 | "sleet", 640 | "dowel", 641 | "couch", 642 | "palsy", 643 | "bowel", 644 | "smile", 645 | "evoke", 646 | "creek", 647 | "lance", 648 | "eagle", 649 | "idiot", 650 | "siren", 651 | "built", 652 | "embed", 653 | "award", 654 | "dross", 655 | "annul", 656 | "goody", 657 | "frown", 658 | "patio", 659 | "laden", 660 | "humid", 661 | "elite", 662 | "lymph", 663 | "edify", 664 | "might", 665 | "reset", 666 | "visit", 667 | "gusto", 668 | "purse", 669 | "vapor", 670 | "crock", 671 | "write", 672 | "sunny", 673 | "loath", 674 | "chaff", 675 | "slide", 676 | "queer", 677 | "venom", 678 | "stamp", 679 | "sorry", 680 | "still", 681 | "acorn", 682 | "aping", 683 | "pushy", 684 | "tamer", 685 | "hater", 686 | "mania", 687 | "awoke", 688 | "brawn", 689 | "swift", 690 | "exile", 691 | "birch", 692 | "lucky", 693 | "freer", 694 | "risky", 695 | "ghost", 696 | "plier", 697 | "lunar", 698 | "winch", 699 | "snare", 700 | "nurse", 701 | "house", 702 | "borax", 703 | "nicer", 704 | "lurch", 705 | "exalt", 706 | "about", 707 | "savvy", 708 | "toxin", 709 | "tunic", 710 | "pried", 711 | "inlay", 712 | "chump", 713 | "lanky", 714 | "cress", 715 | "eater", 716 | "elude", 717 | "cycle", 718 | "kitty", 719 | "boule", 720 | "moron", 721 | "tenet", 722 | "place", 723 | "lobby", 724 | "plush", 725 | "vigil", 726 | "index", 727 | "blink", 728 | "clung", 729 | "qualm", 730 | "croup", 731 | "clink", 732 | "juicy", 733 | "stage", 734 | "decay", 735 | "nerve", 736 | "flier", 737 | "shaft", 738 | "crook", 739 | "clean", 740 | "china", 741 | "ridge", 742 | "vowel", 743 | "gnome", 744 | "snuck", 745 | "icing", 746 | "spiny", 747 | "rigor", 748 | "snail", 749 | "flown", 750 | "rabid", 751 | "prose", 752 | "thank", 753 | "poppy", 754 | "budge", 755 | "fiber", 756 | "moldy", 757 | "dowdy", 758 | "kneel", 759 | "track", 760 | "caddy", 761 | "quell", 762 | "dumpy", 763 | "paler", 764 | "swore", 765 | "rebar", 766 | "scuba", 767 | "splat", 768 | "flyer", 769 | "horny", 770 | "mason", 771 | "doing", 772 | "ozone", 773 | "amply", 774 | "molar", 775 | "ovary", 776 | "beset", 777 | "queue", 778 | "cliff", 779 | "magic", 780 | "truce", 781 | "sport", 782 | "fritz", 783 | "edict", 784 | "twirl", 785 | "verse", 786 | "llama", 787 | "eaten", 788 | "range", 789 | "whisk", 790 | "hovel", 791 | "rehab", 792 | "macaw", 793 | "sigma", 794 | "spout", 795 | "verve", 796 | "sushi", 797 | "dying", 798 | "fetid", 799 | "brain", 800 | "buddy", 801 | "thump", 802 | "scion", 803 | "candy", 804 | "chord", 805 | "basin", 806 | "march", 807 | "crowd", 808 | "arbor", 809 | "gayly", 810 | "musky", 811 | "stain", 812 | "dally", 813 | "bless", 814 | "bravo", 815 | "stung", 816 | "title", 817 | "ruler", 818 | "kiosk", 819 | "blond", 820 | "ennui", 821 | "layer", 822 | "fluid", 823 | "tatty", 824 | "score", 825 | "cutie", 826 | "zebra", 827 | "barge", 828 | "matey", 829 | "bluer", 830 | "aider", 831 | "shook", 832 | "river", 833 | "privy", 834 | "betel", 835 | "frisk", 836 | "bongo", 837 | "begun", 838 | "azure", 839 | "weave", 840 | "genie", 841 | "sound", 842 | "glove", 843 | "braid", 844 | "scope", 845 | "wryly", 846 | "rover", 847 | "assay", 848 | "ocean", 849 | "bloom", 850 | "irate", 851 | "later", 852 | "woken", 853 | "silky", 854 | "wreck", 855 | "dwelt", 856 | "slate", 857 | "smack", 858 | "solid", 859 | "amaze", 860 | "hazel", 861 | "wrist", 862 | "jolly", 863 | "globe", 864 | "flint", 865 | "rouse", 866 | "civil", 867 | "vista", 868 | "relax", 869 | "cover", 870 | "alive", 871 | "beech", 872 | "jetty", 873 | "bliss", 874 | "vocal", 875 | "often", 876 | "dolly", 877 | "eight", 878 | "joker", 879 | "since", 880 | "event", 881 | "ensue", 882 | "shunt", 883 | "diver", 884 | "poser", 885 | "worst", 886 | "sweep", 887 | "alley", 888 | "creed", 889 | "anime", 890 | "leafy", 891 | "bosom", 892 | "dunce", 893 | "stare", 894 | "pudgy", 895 | "waive", 896 | "choir", 897 | "stood", 898 | "spoke", 899 | "outgo", 900 | "delay", 901 | "bilge", 902 | "ideal", 903 | "clasp", 904 | "seize", 905 | "hotly", 906 | "laugh", 907 | "sieve", 908 | "block", 909 | "meant", 910 | "grape", 911 | "noose", 912 | "hardy", 913 | "shied", 914 | "drawl", 915 | "daisy", 916 | "putty", 917 | "strut", 918 | "burnt", 919 | "tulip", 920 | "crick", 921 | "idyll", 922 | "vixen", 923 | "furor", 924 | "geeky", 925 | "cough", 926 | "naive", 927 | "shoal", 928 | "stork", 929 | "bathe", 930 | "aunty", 931 | "check", 932 | "prime", 933 | "brass", 934 | "outer", 935 | "furry", 936 | "razor", 937 | "elect", 938 | "evict", 939 | "imply", 940 | "demur", 941 | "quota", 942 | "haven", 943 | "cavil", 944 | "swear", 945 | "crump", 946 | "dough", 947 | "gavel", 948 | "wagon", 949 | "salon", 950 | "nudge", 951 | "harem", 952 | "pitch", 953 | "sworn", 954 | "pupil", 955 | "excel", 956 | "stony", 957 | "cabin", 958 | "unzip", 959 | "queen", 960 | "trout", 961 | "polyp", 962 | "earth", 963 | "storm", 964 | "until", 965 | "taper", 966 | "enter", 967 | "child", 968 | "adopt", 969 | "minor", 970 | "fatty", 971 | "husky", 972 | "brave", 973 | "filet", 974 | "slime", 975 | "glint", 976 | "tread", 977 | "steal", 978 | "regal", 979 | "guest", 980 | "every", 981 | "murky", 982 | "share", 983 | "spore", 984 | "hoist", 985 | "buxom", 986 | "inner", 987 | "otter", 988 | "dimly", 989 | "level", 990 | "sumac", 991 | "donut", 992 | "stilt", 993 | "arena", 994 | "sheet", 995 | "scrub", 996 | "fancy", 997 | "slimy", 998 | "pearl", 999 | "silly", 1000 | "porch", 1001 | "dingo", 1002 | "sepia", 1003 | "amble", 1004 | "shady", 1005 | "bread", 1006 | "friar", 1007 | "reign", 1008 | "dairy", 1009 | "quill", 1010 | "cross", 1011 | "brood", 1012 | "tuber", 1013 | "shear", 1014 | "posit", 1015 | "blank", 1016 | "villa", 1017 | "shank", 1018 | "piggy", 1019 | "freak", 1020 | "which", 1021 | "among", 1022 | "fecal", 1023 | "shell", 1024 | "would", 1025 | "algae", 1026 | "large", 1027 | "rabbi", 1028 | "agony", 1029 | "amuse", 1030 | "bushy", 1031 | "copse", 1032 | "swoon", 1033 | "knife", 1034 | "pouch", 1035 | "ascot", 1036 | "plane", 1037 | "crown", 1038 | "urban", 1039 | "snide", 1040 | "relay", 1041 | "abide", 1042 | "viola", 1043 | "rajah", 1044 | "straw", 1045 | "dilly", 1046 | "crash", 1047 | "amass", 1048 | "third", 1049 | "trick", 1050 | "tutor", 1051 | "woody", 1052 | "blurb", 1053 | "grief", 1054 | "disco", 1055 | "where", 1056 | "sassy", 1057 | "beach", 1058 | "sauna", 1059 | "comic", 1060 | "clued", 1061 | "creep", 1062 | "caste", 1063 | "graze", 1064 | "snuff", 1065 | "frock", 1066 | "gonad", 1067 | "drunk", 1068 | "prong", 1069 | "lurid", 1070 | "steel", 1071 | "halve", 1072 | "buyer", 1073 | "vinyl", 1074 | "utile", 1075 | "smell", 1076 | "adage", 1077 | "worry", 1078 | "tasty", 1079 | "local", 1080 | "trade", 1081 | "finch", 1082 | "ashen", 1083 | "modal", 1084 | "gaunt", 1085 | "clove", 1086 | "enact", 1087 | "adorn", 1088 | "roast", 1089 | "speck", 1090 | "sheik", 1091 | "missy", 1092 | "grunt", 1093 | "snoop", 1094 | "party", 1095 | "touch", 1096 | "mafia", 1097 | "emcee", 1098 | "array", 1099 | "south", 1100 | "vapid", 1101 | "jelly", 1102 | "skulk", 1103 | "angst", 1104 | "tubal", 1105 | "lower", 1106 | "crest", 1107 | "sweat", 1108 | "cyber", 1109 | "adore", 1110 | "tardy", 1111 | "swami", 1112 | "notch", 1113 | "groom", 1114 | "roach", 1115 | "hitch", 1116 | "young", 1117 | "align", 1118 | "ready", 1119 | "frond", 1120 | "strap", 1121 | "puree", 1122 | "realm", 1123 | "venue", 1124 | "swarm", 1125 | "offer", 1126 | "seven", 1127 | "dryer", 1128 | "diary", 1129 | "dryly", 1130 | "drank", 1131 | "acrid", 1132 | "heady", 1133 | "theta", 1134 | "junto", 1135 | "pixie", 1136 | "quoth", 1137 | "bonus", 1138 | "shalt", 1139 | "penne", 1140 | "amend", 1141 | "datum", 1142 | "build", 1143 | "piano", 1144 | "shelf", 1145 | "lodge", 1146 | "suing", 1147 | "rearm", 1148 | "coral", 1149 | "ramen", 1150 | "worth", 1151 | "psalm", 1152 | "infer", 1153 | "overt", 1154 | "mayor", 1155 | "ovoid", 1156 | "glide", 1157 | "usage", 1158 | "poise", 1159 | "randy", 1160 | "chuck", 1161 | "prank", 1162 | "fishy", 1163 | "tooth", 1164 | "ether", 1165 | "drove", 1166 | "idler", 1167 | "swath", 1168 | "stint", 1169 | "while", 1170 | "begat", 1171 | "apply", 1172 | "slang", 1173 | "tarot", 1174 | "radar", 1175 | "credo", 1176 | "aware", 1177 | "canon", 1178 | "shift", 1179 | "timer", 1180 | "bylaw", 1181 | "serum", 1182 | "three", 1183 | "steak", 1184 | "iliac", 1185 | "shirk", 1186 | "blunt", 1187 | "puppy", 1188 | "penal", 1189 | "joist", 1190 | "bunny", 1191 | "shape", 1192 | "beget", 1193 | "wheel", 1194 | "adept", 1195 | "stunt", 1196 | "stole", 1197 | "topaz", 1198 | "chore", 1199 | "fluke", 1200 | "afoot", 1201 | "bloat", 1202 | "bully", 1203 | "dense", 1204 | "caper", 1205 | "sneer", 1206 | "boxer", 1207 | "jumbo", 1208 | "lunge", 1209 | "space", 1210 | "avail", 1211 | "short", 1212 | "slurp", 1213 | "loyal", 1214 | "flirt", 1215 | "pizza", 1216 | "conch", 1217 | "tempo", 1218 | "droop", 1219 | "plate", 1220 | "bible", 1221 | "plunk", 1222 | "afoul", 1223 | "savoy", 1224 | "steep", 1225 | "agile", 1226 | "stake", 1227 | "dwell", 1228 | "knave", 1229 | "beard", 1230 | "arose", 1231 | "motif", 1232 | "smash", 1233 | "broil", 1234 | "glare", 1235 | "shove", 1236 | "baggy", 1237 | "mammy", 1238 | "swamp", 1239 | "along", 1240 | "rugby", 1241 | "wager", 1242 | "quack", 1243 | "squat", 1244 | "snaky", 1245 | "debit", 1246 | "mange", 1247 | "skate", 1248 | "ninth", 1249 | "joust", 1250 | "tramp", 1251 | "spurn", 1252 | "medal", 1253 | "micro", 1254 | "rebel", 1255 | "flank", 1256 | "learn", 1257 | "nadir", 1258 | "maple", 1259 | "comfy", 1260 | "remit", 1261 | "gruff", 1262 | "ester", 1263 | "least", 1264 | "mogul", 1265 | "fetch", 1266 | "cause", 1267 | "oaken", 1268 | "aglow", 1269 | "meaty", 1270 | "gaffe", 1271 | "shyly", 1272 | "racer", 1273 | "prowl", 1274 | "thief", 1275 | "stern", 1276 | "poesy", 1277 | "rocky", 1278 | "tweet", 1279 | "waist", 1280 | "spire", 1281 | "grope", 1282 | "havoc", 1283 | "patsy", 1284 | "truly", 1285 | "forty", 1286 | "deity", 1287 | "uncle", 1288 | "swish", 1289 | "giver", 1290 | "preen", 1291 | "bevel", 1292 | "lemur", 1293 | "draft", 1294 | "slope", 1295 | "annoy", 1296 | "lingo", 1297 | "bleak", 1298 | "ditty", 1299 | "curly", 1300 | "cedar", 1301 | "dirge", 1302 | "grown", 1303 | "horde", 1304 | "drool", 1305 | "shuck", 1306 | "crypt", 1307 | "cumin", 1308 | "stock", 1309 | "gravy", 1310 | "locus", 1311 | "wider", 1312 | "breed", 1313 | "quite", 1314 | "chafe", 1315 | "cache", 1316 | "blimp", 1317 | "deign", 1318 | "fiend", 1319 | "logic", 1320 | "cheap", 1321 | "elide", 1322 | "rigid", 1323 | "false", 1324 | "renal", 1325 | "pence", 1326 | "rowdy", 1327 | "shoot", 1328 | "blaze", 1329 | "envoy", 1330 | "posse", 1331 | "brief", 1332 | "never", 1333 | "abort", 1334 | "mouse", 1335 | "mucky", 1336 | "sulky", 1337 | "fiery", 1338 | "media", 1339 | "trunk", 1340 | "yeast", 1341 | "clear", 1342 | "skunk", 1343 | "scalp", 1344 | "bitty", 1345 | "cider", 1346 | "koala", 1347 | "duvet", 1348 | "segue", 1349 | "creme", 1350 | "super", 1351 | "grill", 1352 | "after", 1353 | "owner", 1354 | "ember", 1355 | "reach", 1356 | "nobly", 1357 | "empty", 1358 | "speed", 1359 | "gipsy", 1360 | "recur", 1361 | "smock", 1362 | "dread", 1363 | "merge", 1364 | "burst", 1365 | "kappa", 1366 | "amity", 1367 | "shaky", 1368 | "hover", 1369 | "carol", 1370 | "snort", 1371 | "synod", 1372 | "faint", 1373 | "haunt", 1374 | "flour", 1375 | "chair", 1376 | "detox", 1377 | "shrew", 1378 | "tense", 1379 | "plied", 1380 | "quark", 1381 | "burly", 1382 | "novel", 1383 | "waxen", 1384 | "stoic", 1385 | "jerky", 1386 | "blitz", 1387 | "beefy", 1388 | "lyric", 1389 | "hussy", 1390 | "towel", 1391 | "quilt", 1392 | "below", 1393 | "bingo", 1394 | "wispy", 1395 | "brash", 1396 | "scone", 1397 | "toast", 1398 | "easel", 1399 | "saucy", 1400 | "value", 1401 | "spice", 1402 | "honor", 1403 | "route", 1404 | "sharp", 1405 | "bawdy", 1406 | "radii", 1407 | "skull", 1408 | "phony", 1409 | "issue", 1410 | "lager", 1411 | "swell", 1412 | "urine", 1413 | "gassy", 1414 | "trial", 1415 | "flora", 1416 | "upper", 1417 | "latch", 1418 | "wight", 1419 | "brick", 1420 | "retry", 1421 | "holly", 1422 | "decal", 1423 | "grass", 1424 | "shack", 1425 | "dogma", 1426 | "mover", 1427 | "defer", 1428 | "sober", 1429 | "optic", 1430 | "crier", 1431 | "vying", 1432 | "nomad", 1433 | "flute", 1434 | "hippo", 1435 | "shark", 1436 | "drier", 1437 | "obese", 1438 | "bugle", 1439 | "tawny", 1440 | "chalk", 1441 | "feast", 1442 | "ruddy", 1443 | "pedal", 1444 | "scarf", 1445 | "cruel", 1446 | "bleat", 1447 | "tidal", 1448 | "slush", 1449 | "semen", 1450 | "windy", 1451 | "dusty", 1452 | "sally", 1453 | "igloo", 1454 | "nerdy", 1455 | "jewel", 1456 | "shone", 1457 | "whale", 1458 | "hymen", 1459 | "abuse", 1460 | "fugue", 1461 | "elbow", 1462 | "crumb", 1463 | "pansy", 1464 | "welsh", 1465 | "syrup", 1466 | "terse", 1467 | "suave", 1468 | "gamut", 1469 | "swung", 1470 | "drake", 1471 | "freed", 1472 | "afire", 1473 | "shirt", 1474 | "grout", 1475 | "oddly", 1476 | "tithe", 1477 | "plaid", 1478 | "dummy", 1479 | "broom", 1480 | "blind", 1481 | "torch", 1482 | "enemy", 1483 | "again", 1484 | "tying", 1485 | "pesky", 1486 | "alter", 1487 | "gazer", 1488 | "noble", 1489 | "ethos", 1490 | "bride", 1491 | "extol", 1492 | "decor", 1493 | "hobby", 1494 | "beast", 1495 | "idiom", 1496 | "utter", 1497 | "these", 1498 | "sixth", 1499 | "alarm", 1500 | "erase", 1501 | "elegy", 1502 | "spunk", 1503 | "piper", 1504 | "scaly", 1505 | "scold", 1506 | "hefty", 1507 | "chick", 1508 | "sooty", 1509 | "canal", 1510 | "whiny", 1511 | "slash", 1512 | "quake", 1513 | "joint", 1514 | "swept", 1515 | "prude", 1516 | "heavy", 1517 | "wield", 1518 | "femme", 1519 | "lasso", 1520 | "maize", 1521 | "shale", 1522 | "screw", 1523 | "spree", 1524 | "smoky", 1525 | "whiff", 1526 | "scent", 1527 | "glade", 1528 | "spent", 1529 | "prism", 1530 | "stoke", 1531 | "riper", 1532 | "orbit", 1533 | "cocoa", 1534 | "guilt", 1535 | "humus", 1536 | "shush", 1537 | "table", 1538 | "smirk", 1539 | "wrong", 1540 | "noisy", 1541 | "alert", 1542 | "shiny", 1543 | "elate", 1544 | "resin", 1545 | "whole", 1546 | "hunch", 1547 | "pixel", 1548 | "polar", 1549 | "hotel", 1550 | "sword", 1551 | "cleat", 1552 | "mango", 1553 | "rumba", 1554 | "puffy", 1555 | "filly", 1556 | "billy", 1557 | "leash", 1558 | "clout", 1559 | "dance", 1560 | "ovate", 1561 | "facet", 1562 | "chili", 1563 | "paint", 1564 | "liner", 1565 | "curio", 1566 | "salty", 1567 | "audio", 1568 | "snake", 1569 | "fable", 1570 | "cloak", 1571 | "navel", 1572 | "spurt", 1573 | "pesto", 1574 | "balmy", 1575 | "flash", 1576 | "unwed", 1577 | "early", 1578 | "churn", 1579 | "weedy", 1580 | "stump", 1581 | "lease", 1582 | "witty", 1583 | "wimpy", 1584 | "spoof", 1585 | "saner", 1586 | "blend", 1587 | "salsa", 1588 | "thick", 1589 | "warty", 1590 | "manic", 1591 | "blare", 1592 | "squib", 1593 | "spoon", 1594 | "probe", 1595 | "crepe", 1596 | "knack", 1597 | "force", 1598 | "debut", 1599 | "order", 1600 | "haste", 1601 | "teeth", 1602 | "agent", 1603 | "widen", 1604 | "icily", 1605 | "slice", 1606 | "ingot", 1607 | "clash", 1608 | "juror", 1609 | "blood", 1610 | "abode", 1611 | "throw", 1612 | "unity", 1613 | "pivot", 1614 | "slept", 1615 | "troop", 1616 | "spare", 1617 | "sewer", 1618 | "parse", 1619 | "morph", 1620 | "cacti", 1621 | "tacky", 1622 | "spool", 1623 | "demon", 1624 | "moody", 1625 | "annex", 1626 | "begin", 1627 | "fuzzy", 1628 | "patch", 1629 | "water", 1630 | "lumpy", 1631 | "admin", 1632 | "omega", 1633 | "limit", 1634 | "tabby", 1635 | "macho", 1636 | "aisle", 1637 | "skiff", 1638 | "basis", 1639 | "plank", 1640 | "verge", 1641 | "botch", 1642 | "crawl", 1643 | "lousy", 1644 | "slain", 1645 | "cubic", 1646 | "raise", 1647 | "wrack", 1648 | "guide", 1649 | "foist", 1650 | "cameo", 1651 | "under", 1652 | "actor", 1653 | "revue", 1654 | "fraud", 1655 | "harpy", 1656 | "scoop", 1657 | "climb", 1658 | "refer", 1659 | "olden", 1660 | "clerk", 1661 | "debar", 1662 | "tally", 1663 | "ethic", 1664 | "cairn", 1665 | "tulle", 1666 | "ghoul", 1667 | "hilly", 1668 | "crude", 1669 | "apart", 1670 | "scale", 1671 | "older", 1672 | "plain", 1673 | "sperm", 1674 | "briny", 1675 | "abbot", 1676 | "rerun", 1677 | "quest", 1678 | "crisp", 1679 | "bound", 1680 | "befit", 1681 | "drawn", 1682 | "suite", 1683 | "itchy", 1684 | "cheer", 1685 | "bagel", 1686 | "guess", 1687 | "broad", 1688 | "axiom", 1689 | "chard", 1690 | "caput", 1691 | "leant", 1692 | "harsh", 1693 | "curse", 1694 | "proud", 1695 | "swing", 1696 | "opine", 1697 | "taste", 1698 | "lupus", 1699 | "gumbo", 1700 | "miner", 1701 | "green", 1702 | "chasm", 1703 | "lipid", 1704 | "topic", 1705 | "armor", 1706 | "brush", 1707 | "crane", 1708 | "mural", 1709 | "abled", 1710 | "habit", 1711 | "bossy", 1712 | "maker", 1713 | "dusky", 1714 | "dizzy", 1715 | "lithe", 1716 | "brook", 1717 | "jazzy", 1718 | "fifty", 1719 | "sense", 1720 | "giant", 1721 | "surly", 1722 | "legal", 1723 | "fatal", 1724 | "flunk", 1725 | "began", 1726 | "prune", 1727 | "small", 1728 | "slant", 1729 | "scoff", 1730 | "torus", 1731 | "ninny", 1732 | "covey", 1733 | "viper", 1734 | "taken", 1735 | "moral", 1736 | "vogue", 1737 | "owing", 1738 | "token", 1739 | "entry", 1740 | "booth", 1741 | "voter", 1742 | "chide", 1743 | "elfin", 1744 | "ebony", 1745 | "neigh", 1746 | "minim", 1747 | "melon", 1748 | "kneed", 1749 | "decoy", 1750 | "voila", 1751 | "ankle", 1752 | "arrow", 1753 | "mushy", 1754 | "tribe", 1755 | "cease", 1756 | "eager", 1757 | "birth", 1758 | "graph", 1759 | "odder", 1760 | "terra", 1761 | "weird", 1762 | "tried", 1763 | "clack", 1764 | "color", 1765 | "rough", 1766 | "weigh", 1767 | "uncut", 1768 | "ladle", 1769 | "strip", 1770 | "craft", 1771 | "minus", 1772 | "dicey", 1773 | "titan", 1774 | "lucid", 1775 | "vicar", 1776 | "dress", 1777 | "ditch", 1778 | "gypsy", 1779 | "pasta", 1780 | "taffy", 1781 | "flame", 1782 | "swoop", 1783 | "aloof", 1784 | "sight", 1785 | "broke", 1786 | "teary", 1787 | "chart", 1788 | "sixty", 1789 | "wordy", 1790 | "sheer", 1791 | "leper", 1792 | "nosey", 1793 | "bulge", 1794 | "savor", 1795 | "clamp", 1796 | "funky", 1797 | "foamy", 1798 | "toxic", 1799 | "brand", 1800 | "plumb", 1801 | "dingy", 1802 | "butte", 1803 | "drill", 1804 | "tripe", 1805 | "bicep", 1806 | "tenor", 1807 | "krill", 1808 | "worse", 1809 | "drama", 1810 | "hyena", 1811 | "think", 1812 | "ratio", 1813 | "cobra", 1814 | "basil", 1815 | "scrum", 1816 | "bused", 1817 | "phone", 1818 | "court", 1819 | "camel", 1820 | "proof", 1821 | "heard", 1822 | "angel", 1823 | "petal", 1824 | "pouty", 1825 | "throb", 1826 | "maybe", 1827 | "fetal", 1828 | "sprig", 1829 | "spine", 1830 | "shout", 1831 | "cadet", 1832 | "macro", 1833 | "dodgy", 1834 | "satyr", 1835 | "rarer", 1836 | "binge", 1837 | "trend", 1838 | "nutty", 1839 | "leapt", 1840 | "amiss", 1841 | "split", 1842 | "myrrh", 1843 | "width", 1844 | "sonar", 1845 | "tower", 1846 | "baron", 1847 | "fever", 1848 | "waver", 1849 | "spark", 1850 | "belie", 1851 | "sloop", 1852 | "expel", 1853 | "smote", 1854 | "baler", 1855 | "above", 1856 | "north", 1857 | "wafer", 1858 | "scant", 1859 | "frill", 1860 | "awash", 1861 | "snack", 1862 | "scowl", 1863 | "frail", 1864 | "drift", 1865 | "limbo", 1866 | "fence", 1867 | "motel", 1868 | "ounce", 1869 | "wreak", 1870 | "revel", 1871 | "talon", 1872 | "prior", 1873 | "knelt", 1874 | "cello", 1875 | "flake", 1876 | "debug", 1877 | "anode", 1878 | "crime", 1879 | "salve", 1880 | "scout", 1881 | "imbue", 1882 | "pinky", 1883 | "stave", 1884 | "vague", 1885 | "chock", 1886 | "fight", 1887 | "video", 1888 | "stone", 1889 | "teach", 1890 | "cleft", 1891 | "frost", 1892 | "prawn", 1893 | "booty", 1894 | "twist", 1895 | "apnea", 1896 | "stiff", 1897 | "plaza", 1898 | "ledge", 1899 | "tweak", 1900 | "board", 1901 | "grant", 1902 | "medic", 1903 | "bacon", 1904 | "cable", 1905 | "brawl", 1906 | "slunk", 1907 | "raspy", 1908 | "forum", 1909 | "drone", 1910 | "women", 1911 | "mucus", 1912 | "boast", 1913 | "toddy", 1914 | "coven", 1915 | "tumor", 1916 | "truer", 1917 | "wrath", 1918 | "stall", 1919 | "steam", 1920 | "axial", 1921 | "purer", 1922 | "daily", 1923 | "trail", 1924 | "niche", 1925 | "mealy", 1926 | "juice", 1927 | "nylon", 1928 | "plump", 1929 | "merry", 1930 | "flail", 1931 | "papal", 1932 | "wheat", 1933 | "berry", 1934 | "cower", 1935 | "erect", 1936 | "brute", 1937 | "leggy", 1938 | "snipe", 1939 | "sinew", 1940 | "skier", 1941 | "penny", 1942 | "jumpy", 1943 | "rally", 1944 | "umbra", 1945 | "scary", 1946 | "modem", 1947 | "gross", 1948 | "avian", 1949 | "greed", 1950 | "satin", 1951 | "tonic", 1952 | "parka", 1953 | "sniff", 1954 | "livid", 1955 | "stark", 1956 | "trump", 1957 | "giddy", 1958 | "reuse", 1959 | "taboo", 1960 | "avoid", 1961 | "quote", 1962 | "devil", 1963 | "liken", 1964 | "gloss", 1965 | "gayer", 1966 | "beret", 1967 | "noise", 1968 | "gland", 1969 | "dealt", 1970 | "sling", 1971 | "rumor", 1972 | "opera", 1973 | "thigh", 1974 | "tonga", 1975 | "flare", 1976 | "wound", 1977 | "white", 1978 | "bulky", 1979 | "etude", 1980 | "horse", 1981 | "circa", 1982 | "paddy", 1983 | "inbox", 1984 | "fizzy", 1985 | "grain", 1986 | "exert", 1987 | "surge", 1988 | "gleam", 1989 | "belle", 1990 | "salvo", 1991 | "crush", 1992 | "fruit", 1993 | "sappy", 1994 | "taker", 1995 | "tract", 1996 | "ovine", 1997 | "spiky", 1998 | "frank", 1999 | "reedy", 2000 | "filth", 2001 | "spasm", 2002 | "heave", 2003 | "mambo", 2004 | "right", 2005 | "clank", 2006 | "trust", 2007 | "lumen", 2008 | "borne", 2009 | "spook", 2010 | "sauce", 2011 | "amber", 2012 | "lathe", 2013 | "carat", 2014 | "corer", 2015 | "dirty", 2016 | "slyly", 2017 | "affix", 2018 | "alloy", 2019 | "taint", 2020 | "sheep", 2021 | "kinky", 2022 | "wooly", 2023 | "mauve", 2024 | "flung", 2025 | "yacht", 2026 | "fried", 2027 | "quail", 2028 | "brunt", 2029 | "grimy", 2030 | "curvy", 2031 | "cagey", 2032 | "rinse", 2033 | "deuce", 2034 | "state", 2035 | "grasp", 2036 | "milky", 2037 | "bison", 2038 | "graft", 2039 | "sandy", 2040 | "baste", 2041 | "flask", 2042 | "hedge", 2043 | "girly", 2044 | "swash", 2045 | "boney", 2046 | "coupe", 2047 | "endow", 2048 | "abhor", 2049 | "welch", 2050 | "blade", 2051 | "tight", 2052 | "geese", 2053 | "miser", 2054 | "mirth", 2055 | "cloud", 2056 | "cabal", 2057 | "leech", 2058 | "close", 2059 | "tenth", 2060 | "pecan", 2061 | "droit", 2062 | "grail", 2063 | "clone", 2064 | "guise", 2065 | "ralph", 2066 | "tango", 2067 | "biddy", 2068 | "smith", 2069 | "mower", 2070 | "payee", 2071 | "serif", 2072 | "drape", 2073 | "fifth", 2074 | "spank", 2075 | "glaze", 2076 | "allot", 2077 | "truck", 2078 | "kayak", 2079 | "virus", 2080 | "testy", 2081 | "tepee", 2082 | "fully", 2083 | "zonal", 2084 | "metro", 2085 | "curry", 2086 | "grand", 2087 | "banjo", 2088 | "axion", 2089 | "bezel", 2090 | "occur", 2091 | "chain", 2092 | "nasal", 2093 | "gooey", 2094 | "filer", 2095 | "brace", 2096 | "allay", 2097 | "pubic", 2098 | "raven", 2099 | "plead", 2100 | "gnash", 2101 | "flaky", 2102 | "munch", 2103 | "dully", 2104 | "eking", 2105 | "thing", 2106 | "slink", 2107 | "hurry", 2108 | "theft", 2109 | "shorn", 2110 | "pygmy", 2111 | "ranch", 2112 | "wring", 2113 | "lemon", 2114 | "shore", 2115 | "mamma", 2116 | "froze", 2117 | "newer", 2118 | "style", 2119 | "moose", 2120 | "antic", 2121 | "drown", 2122 | "vegan", 2123 | "chess", 2124 | "guppy", 2125 | "union", 2126 | "lever", 2127 | "lorry", 2128 | "image", 2129 | "cabby", 2130 | "druid", 2131 | "exact", 2132 | "truth", 2133 | "dopey", 2134 | "spear", 2135 | "cried", 2136 | "chime", 2137 | "crony", 2138 | "stunk", 2139 | "timid", 2140 | "batch", 2141 | "gauge", 2142 | "rotor", 2143 | "crack", 2144 | "curve", 2145 | "latte", 2146 | "witch", 2147 | "bunch", 2148 | "repel", 2149 | "anvil", 2150 | "soapy", 2151 | "meter", 2152 | "broth", 2153 | "madly", 2154 | "dried", 2155 | "scene", 2156 | "known", 2157 | "magma", 2158 | "roost", 2159 | "woman", 2160 | "thong", 2161 | "punch", 2162 | "pasty", 2163 | "downy", 2164 | "knead", 2165 | "whirl", 2166 | "rapid", 2167 | "clang", 2168 | "anger", 2169 | "drive", 2170 | "goofy", 2171 | "email", 2172 | "music", 2173 | "stuff", 2174 | "bleep", 2175 | "rider", 2176 | "mecca", 2177 | "folio", 2178 | "setup", 2179 | "verso", 2180 | "quash", 2181 | "fauna", 2182 | "gummy", 2183 | "happy", 2184 | "newly", 2185 | "fussy", 2186 | "relic", 2187 | "guava", 2188 | "ratty", 2189 | "fudge", 2190 | "femur", 2191 | "chirp", 2192 | "forte", 2193 | "alibi", 2194 | "whine", 2195 | "petty", 2196 | "golly", 2197 | "plait", 2198 | "fleck", 2199 | "felon", 2200 | "gourd", 2201 | "brown", 2202 | "thrum", 2203 | "ficus", 2204 | "stash", 2205 | "decry", 2206 | "wiser", 2207 | "junta", 2208 | "visor", 2209 | "daunt", 2210 | "scree", 2211 | "impel", 2212 | "await", 2213 | "press", 2214 | "whose", 2215 | "turbo", 2216 | "stoop", 2217 | "speak", 2218 | "mangy", 2219 | "eying", 2220 | "inlet", 2221 | "crone", 2222 | "pulse", 2223 | "mossy", 2224 | "staid", 2225 | "hence", 2226 | "pinch", 2227 | "teddy", 2228 | "sully", 2229 | "snore", 2230 | "ripen", 2231 | "snowy", 2232 | "attic", 2233 | "going", 2234 | "leach", 2235 | "mouth", 2236 | "hound", 2237 | "clump", 2238 | "tonal", 2239 | "bigot", 2240 | "peril", 2241 | "piece", 2242 | "blame", 2243 | "haute", 2244 | "spied", 2245 | "undid", 2246 | "intro", 2247 | "basal", 2248 | "rodeo", 2249 | "guard", 2250 | "steer", 2251 | "loamy", 2252 | "scamp", 2253 | "scram", 2254 | "manly", 2255 | "hello", 2256 | "vaunt", 2257 | "organ", 2258 | "feral", 2259 | "knock", 2260 | "extra", 2261 | "condo", 2262 | "adapt", 2263 | "willy", 2264 | "polka", 2265 | "rayon", 2266 | "skirt", 2267 | "faith", 2268 | "torso", 2269 | "match", 2270 | "mercy", 2271 | "tepid", 2272 | "sleek", 2273 | "riser", 2274 | "twixt", 2275 | "peace", 2276 | "flush", 2277 | "catty", 2278 | "login", 2279 | "eject", 2280 | "roger", 2281 | "rival", 2282 | "untie", 2283 | "refit", 2284 | "aorta", 2285 | "adult", 2286 | "judge", 2287 | "rower", 2288 | "artsy", 2289 | "rural", 2290 | "shave", 2291 | "bobby", 2292 | "eclat", 2293 | "fella", 2294 | "gaily", 2295 | "harry", 2296 | "hasty", 2297 | "hydro", 2298 | "liege", 2299 | "octal", 2300 | "ombre", 2301 | "payer", 2302 | "sooth", 2303 | "unset", 2304 | "unlit", 2305 | "vomit", 2306 | "fanny", 2307 | "fetus", 2308 | "butch", 2309 | "stalk", 2310 | "flack", 2311 | "widow", 2312 | "augur"}; --------------------------------------------------------------------------------