├── .husky └── pre-commit ├── .prettierrc ├── .lintstagedrc ├── .eslintrc.js ├── .gitignore ├── tsconfig.json ├── package.json ├── README.md └── src ├── index.ts └── wordlists └── english.json /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn run lint-staged 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 120, 3 | "arrowParens": "always", 4 | "singleQuote": true, 5 | "tabWidth": 4, 6 | "proseWrap": "never" 7 | } 8 | -------------------------------------------------------------------------------- /.lintstagedrc: -------------------------------------------------------------------------------- 1 | { 2 | "(*.ts|*.tsx|*.js)": [ 3 | "prettier --write", 4 | ], 5 | "*.json": "prettier --write", 6 | "*.md": "prettier --write", 7 | "package.json": "sort-package-json", 8 | } 9 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['proton-lint'], 3 | parser: '@typescript-eslint/parser', 4 | parserOptions: { 5 | project: './tsconfig.json', 6 | }, 7 | ignorePatterns: ['.eslintrc.js'], 8 | }; 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea 3 | .cache 4 | .stylelintcache 5 | .eslintcache 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | node_modules 10 | .yarn/* 11 | !.yarn/releases 12 | !.yarn/plugins 13 | !.yarn/sdks 14 | !.yarn/versions 15 | .pnp.* -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2018", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "esModuleInterop": true, 6 | "strict": true, 7 | "noImplicitAny": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "module": "esnext", 10 | "moduleResolution": "node", 11 | "resolveJsonModule": true, 12 | "noUnusedLocals": true, 13 | "noEmit": true 14 | }, 15 | "exclude": ["node_modules"] 16 | } 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@protontech/bip39", 3 | "version": "1.1.0", 4 | "description": "BIP39 JavaScript implementation", 5 | "homepage": "https://github.com/ProtonMail/bip39#readme", 6 | "bugs": { 7 | "url": "https://github.com/ProtonMail/bip39/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/ProtonMail/bip39.git" 12 | }, 13 | "license": "ISC", 14 | "author": "ProtonMail", 15 | "main": "src/index.ts", 16 | "scripts": { 17 | "test": "echo \"Error: no test specified\" && exit 1", 18 | "prepare": "husky install" 19 | }, 20 | "devDependencies": { 21 | "@typescript-eslint/parser": "^4.28.5", 22 | "eslint": "^7.32.0", 23 | "eslint-config-proton-lint": "github:ProtonMail/proton-lint#semver:^0.0.8", 24 | "husky": "^7.0.1", 25 | "lint-staged": "^11.1.1", 26 | "prettier": "^2.3.2", 27 | "sort-package-json": "^1.50.0", 28 | "typescript": "^5.9.2" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BIP39 2 | 3 | JavaScript implementation of [Bitcoin BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki). 4 | 5 | ## Installation 6 | 7 | Add the following to dependencies in `package.json` 8 | 9 | ```json 10 | "bip39": "github:ProtonMail/bip39#semver:PACKAGE_VERSION", 11 | ``` 12 | 13 | ## Example Usage 14 | 15 | ```ts 16 | import { entropyToMnemonic, mnemonicToEntropy, validateMnemonic } from 'bip39'; 17 | 18 | const entropy = new Uint8Array(16); // Use a CSPRNG to generate the random bytes 19 | // => Uint8Array(16) [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … ] 20 | 21 | const mnemonic = await entropyToMnemonic(entropy); 22 | // => abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about 23 | 24 | const recoveredEntropy = await mnemonicToEntropy(mnemonic); 25 | // => Uint8Array(16) [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … ] 26 | 27 | const isValid = await validateMnemonic(mnemonic); 28 | // => true 29 | ``` 30 | 31 | ## API 32 | 33 | ### `entropyToMnemonic` 34 | 35 | Takes `Uint8Array` entropy and outputs a mnemonic based on the wordlist. 36 | 37 | ### `mnemonicToEntropy` 38 | 39 | Takes a mnemonic and outputs the `Uint8Array` entropy. 40 | 41 | ### `validateMnemonic` 42 | 43 | Validates a given mnemonic. Returns `true` if valid and `false` if invalid. 44 | 45 | ### wordlist 46 | 47 | Each function can take a wordlist - a string array of length 2048. If a wordlist is not specified, it will default to [English](https://github.com/ProtonMail/bip39/blob/main/src/wordlists/english.json). 48 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import englishWordlist from './wordlists/english.json'; 2 | 3 | const DEFAULT_WORDLIST = englishWordlist; 4 | 5 | const INVALID_MNEMONIC = 'Invalid mnemonic'; 6 | const INVALID_ENTROPY = 'Invalid entropy'; 7 | const INVALID_CHECKSUM = 'Invalid mnemonic checksum'; 8 | const WORDLIST_REQUIRED = 9 | 'A wordlist is required but a default could not be found.\nPlease pass a 2048 word array explicitly.'; 10 | 11 | function lpad(str: string, padString: string, length: number) { 12 | while (str.length < length) { 13 | str = padString + str; 14 | } 15 | return str; 16 | } 17 | 18 | function binaryToByte(bin: string) { 19 | return parseInt(bin, 2); 20 | } 21 | 22 | function bytesToBinary(bytes: Uint8Array): string { 23 | const binaryArray: string[] = []; 24 | bytes.forEach((byte) => binaryArray.push(lpad(byte.toString(2), '0', 8))); 25 | return binaryArray.join(''); 26 | } 27 | 28 | async function deriveChecksumBits(entropyArray: Uint8Array) { 29 | const ENT = entropyArray.length * 8; 30 | const CS = ENT / 32; 31 | const hash = new Uint8Array(await crypto.subtle.digest('SHA-256', entropyArray)); 32 | return bytesToBinary(hash).slice(0, CS); 33 | } 34 | 35 | export async function mnemonicToEntropy(mnemonic: string, wordlist: string[] = DEFAULT_WORDLIST) { 36 | if (!wordlist) { 37 | throw new Error(WORDLIST_REQUIRED); 38 | } 39 | const words = mnemonic.normalize('NFKD').trim().split(/\s+/); 40 | if (words.length % 3 !== 0) { 41 | throw new Error(INVALID_MNEMONIC); 42 | } 43 | // convert word indices to 11 bit binary strings 44 | const bits = words 45 | .map((word) => { 46 | const index = wordlist.indexOf(word); 47 | if (index === -1) { 48 | throw new Error(INVALID_MNEMONIC); 49 | } 50 | return lpad(index.toString(2), '0', 11); 51 | }) 52 | .join(''); 53 | // split the binary string into ENT/CS 54 | const dividerIndex = Math.floor(bits.length / 33) * 32; 55 | const entropyBits = bits.slice(0, dividerIndex); 56 | const checksumBits = bits.slice(dividerIndex); 57 | // calculate the checksum and compare 58 | const entropyBytes = entropyBits.match(/(.{1,8})/g)?.map(binaryToByte) || []; 59 | if (entropyBytes.length < 16) { 60 | throw new Error(INVALID_ENTROPY); 61 | } 62 | if (entropyBytes.length > 32) { 63 | throw new Error(INVALID_ENTROPY); 64 | } 65 | if (entropyBytes.length % 4 !== 0) { 66 | throw new Error(INVALID_ENTROPY); 67 | } 68 | const entropy = new Uint8Array(entropyBytes); 69 | const newChecksum = await deriveChecksumBits(entropy); 70 | if (newChecksum !== checksumBits) { 71 | throw new Error(INVALID_CHECKSUM); 72 | } 73 | return entropy; 74 | } 75 | 76 | export async function entropyToMnemonic(entropy: Uint8Array, wordlist: string[] = DEFAULT_WORDLIST) { 77 | if (!wordlist) { 78 | throw new Error(WORDLIST_REQUIRED); 79 | } 80 | // 128 <= ENT <= 256 81 | if (entropy.length < 16) { 82 | throw new TypeError(INVALID_ENTROPY); 83 | } 84 | if (entropy.length > 32) { 85 | throw new TypeError(INVALID_ENTROPY); 86 | } 87 | if (entropy.length % 4 !== 0) { 88 | throw new TypeError(INVALID_ENTROPY); 89 | } 90 | const entropyBits = bytesToBinary(entropy); 91 | const checksumBits = await deriveChecksumBits(entropy); 92 | const bits = entropyBits + checksumBits; 93 | const chunks = bits.match(/(.{1,11})/g) || []; 94 | const words = chunks.map((binary) => { 95 | const index = binaryToByte(binary); 96 | return wordlist[index]; 97 | }); 98 | return wordlist[0] === '\u3042\u3044\u3053\u304f\u3057\u3093' // Japanese wordlist 99 | ? words.join('\u3000') 100 | : words.join(' '); 101 | } 102 | 103 | export async function validateMnemonic(mnemonic: string, wordlist?: string[]) { 104 | try { 105 | await mnemonicToEntropy(mnemonic, wordlist); 106 | } catch (e) { 107 | return false; 108 | } 109 | return true; 110 | } 111 | -------------------------------------------------------------------------------- /src/wordlists/english.json: -------------------------------------------------------------------------------- 1 | [ 2 | "abandon", 3 | "ability", 4 | "able", 5 | "about", 6 | "above", 7 | "absent", 8 | "absorb", 9 | "abstract", 10 | "absurd", 11 | "abuse", 12 | "access", 13 | "accident", 14 | "account", 15 | "accuse", 16 | "achieve", 17 | "acid", 18 | "acoustic", 19 | "acquire", 20 | "across", 21 | "act", 22 | "action", 23 | "actor", 24 | "actress", 25 | "actual", 26 | "adapt", 27 | "add", 28 | "addict", 29 | "address", 30 | "adjust", 31 | "admit", 32 | "adult", 33 | "advance", 34 | "advice", 35 | "aerobic", 36 | "affair", 37 | "afford", 38 | "afraid", 39 | "again", 40 | "age", 41 | "agent", 42 | "agree", 43 | "ahead", 44 | "aim", 45 | "air", 46 | "airport", 47 | "aisle", 48 | "alarm", 49 | "album", 50 | "alcohol", 51 | "alert", 52 | "alien", 53 | "all", 54 | "alley", 55 | "allow", 56 | "almost", 57 | "alone", 58 | "alpha", 59 | "already", 60 | "also", 61 | "alter", 62 | "always", 63 | "amateur", 64 | "amazing", 65 | "among", 66 | "amount", 67 | "amused", 68 | "analyst", 69 | "anchor", 70 | "ancient", 71 | "anger", 72 | "angle", 73 | "angry", 74 | "animal", 75 | "ankle", 76 | "announce", 77 | "annual", 78 | "another", 79 | "answer", 80 | "antenna", 81 | "antique", 82 | "anxiety", 83 | "any", 84 | "apart", 85 | "apology", 86 | "appear", 87 | "apple", 88 | "approve", 89 | "april", 90 | "arch", 91 | "arctic", 92 | "area", 93 | "arena", 94 | "argue", 95 | "arm", 96 | "armed", 97 | "armor", 98 | "army", 99 | "around", 100 | "arrange", 101 | "arrest", 102 | "arrive", 103 | "arrow", 104 | "art", 105 | "artefact", 106 | "artist", 107 | "artwork", 108 | "ask", 109 | "aspect", 110 | "assault", 111 | "asset", 112 | "assist", 113 | "assume", 114 | "asthma", 115 | "athlete", 116 | "atom", 117 | "attack", 118 | "attend", 119 | "attitude", 120 | "attract", 121 | "auction", 122 | "audit", 123 | "august", 124 | "aunt", 125 | "author", 126 | "auto", 127 | "autumn", 128 | "average", 129 | "avocado", 130 | "avoid", 131 | "awake", 132 | "aware", 133 | "away", 134 | "awesome", 135 | "awful", 136 | "awkward", 137 | "axis", 138 | "baby", 139 | "bachelor", 140 | "bacon", 141 | "badge", 142 | "bag", 143 | "balance", 144 | "balcony", 145 | "ball", 146 | "bamboo", 147 | "banana", 148 | "banner", 149 | "bar", 150 | "barely", 151 | "bargain", 152 | "barrel", 153 | "base", 154 | "basic", 155 | "basket", 156 | "battle", 157 | "beach", 158 | "bean", 159 | "beauty", 160 | "because", 161 | "become", 162 | "beef", 163 | "before", 164 | "begin", 165 | "behave", 166 | "behind", 167 | "believe", 168 | "below", 169 | "belt", 170 | "bench", 171 | "benefit", 172 | "best", 173 | "betray", 174 | "better", 175 | "between", 176 | "beyond", 177 | "bicycle", 178 | "bid", 179 | "bike", 180 | "bind", 181 | "biology", 182 | "bird", 183 | "birth", 184 | "bitter", 185 | "black", 186 | "blade", 187 | "blame", 188 | "blanket", 189 | "blast", 190 | "bleak", 191 | "bless", 192 | "blind", 193 | "blood", 194 | "blossom", 195 | "blouse", 196 | "blue", 197 | "blur", 198 | "blush", 199 | "board", 200 | "boat", 201 | "body", 202 | "boil", 203 | "bomb", 204 | "bone", 205 | "bonus", 206 | "book", 207 | "boost", 208 | "border", 209 | "boring", 210 | "borrow", 211 | "boss", 212 | "bottom", 213 | "bounce", 214 | "box", 215 | "boy", 216 | "bracket", 217 | "brain", 218 | "brand", 219 | "brass", 220 | "brave", 221 | "bread", 222 | "breeze", 223 | "brick", 224 | "bridge", 225 | "brief", 226 | "bright", 227 | "bring", 228 | "brisk", 229 | "broccoli", 230 | "broken", 231 | "bronze", 232 | "broom", 233 | "brother", 234 | "brown", 235 | "brush", 236 | "bubble", 237 | "buddy", 238 | "budget", 239 | "buffalo", 240 | "build", 241 | "bulb", 242 | "bulk", 243 | "bullet", 244 | "bundle", 245 | "bunker", 246 | "burden", 247 | "burger", 248 | "burst", 249 | "bus", 250 | "business", 251 | "busy", 252 | "butter", 253 | "buyer", 254 | "buzz", 255 | "cabbage", 256 | "cabin", 257 | "cable", 258 | "cactus", 259 | "cage", 260 | "cake", 261 | "call", 262 | "calm", 263 | "camera", 264 | "camp", 265 | "can", 266 | "canal", 267 | "cancel", 268 | "candy", 269 | "cannon", 270 | "canoe", 271 | "canvas", 272 | "canyon", 273 | "capable", 274 | "capital", 275 | "captain", 276 | "car", 277 | "carbon", 278 | "card", 279 | "cargo", 280 | "carpet", 281 | "carry", 282 | "cart", 283 | "case", 284 | "cash", 285 | "casino", 286 | "castle", 287 | "casual", 288 | "cat", 289 | "catalog", 290 | "catch", 291 | "category", 292 | "cattle", 293 | "caught", 294 | "cause", 295 | "caution", 296 | "cave", 297 | "ceiling", 298 | "celery", 299 | "cement", 300 | "census", 301 | "century", 302 | "cereal", 303 | "certain", 304 | "chair", 305 | "chalk", 306 | "champion", 307 | "change", 308 | "chaos", 309 | "chapter", 310 | "charge", 311 | "chase", 312 | "chat", 313 | "cheap", 314 | "check", 315 | "cheese", 316 | "chef", 317 | "cherry", 318 | "chest", 319 | "chicken", 320 | "chief", 321 | "child", 322 | "chimney", 323 | "choice", 324 | "choose", 325 | "chronic", 326 | "chuckle", 327 | "chunk", 328 | "churn", 329 | "cigar", 330 | "cinnamon", 331 | "circle", 332 | "citizen", 333 | "city", 334 | "civil", 335 | "claim", 336 | "clap", 337 | "clarify", 338 | "claw", 339 | "clay", 340 | "clean", 341 | "clerk", 342 | "clever", 343 | "click", 344 | "client", 345 | "cliff", 346 | "climb", 347 | "clinic", 348 | "clip", 349 | "clock", 350 | "clog", 351 | "close", 352 | "cloth", 353 | "cloud", 354 | "clown", 355 | "club", 356 | "clump", 357 | "cluster", 358 | "clutch", 359 | "coach", 360 | "coast", 361 | "coconut", 362 | "code", 363 | "coffee", 364 | "coil", 365 | "coin", 366 | "collect", 367 | "color", 368 | "column", 369 | "combine", 370 | "come", 371 | "comfort", 372 | "comic", 373 | "common", 374 | "company", 375 | "concert", 376 | "conduct", 377 | "confirm", 378 | "congress", 379 | "connect", 380 | "consider", 381 | "control", 382 | "convince", 383 | "cook", 384 | "cool", 385 | "copper", 386 | "copy", 387 | "coral", 388 | "core", 389 | "corn", 390 | "correct", 391 | "cost", 392 | "cotton", 393 | "couch", 394 | "country", 395 | "couple", 396 | "course", 397 | "cousin", 398 | "cover", 399 | "coyote", 400 | "crack", 401 | "cradle", 402 | "craft", 403 | "cram", 404 | "crane", 405 | "crash", 406 | "crater", 407 | "crawl", 408 | "crazy", 409 | "cream", 410 | "credit", 411 | "creek", 412 | "crew", 413 | "cricket", 414 | "crime", 415 | "crisp", 416 | "critic", 417 | "crop", 418 | "cross", 419 | "crouch", 420 | "crowd", 421 | "crucial", 422 | "cruel", 423 | "cruise", 424 | "crumble", 425 | "crunch", 426 | "crush", 427 | "cry", 428 | "crystal", 429 | "cube", 430 | "culture", 431 | "cup", 432 | "cupboard", 433 | "curious", 434 | "current", 435 | "curtain", 436 | "curve", 437 | "cushion", 438 | "custom", 439 | "cute", 440 | "cycle", 441 | "dad", 442 | "damage", 443 | "damp", 444 | "dance", 445 | "danger", 446 | "daring", 447 | "dash", 448 | "daughter", 449 | "dawn", 450 | "day", 451 | "deal", 452 | "debate", 453 | "debris", 454 | "decade", 455 | "december", 456 | "decide", 457 | "decline", 458 | "decorate", 459 | "decrease", 460 | "deer", 461 | "defense", 462 | "define", 463 | "defy", 464 | "degree", 465 | "delay", 466 | "deliver", 467 | "demand", 468 | "demise", 469 | "denial", 470 | "dentist", 471 | "deny", 472 | "depart", 473 | "depend", 474 | "deposit", 475 | "depth", 476 | "deputy", 477 | "derive", 478 | "describe", 479 | "desert", 480 | "design", 481 | "desk", 482 | "despair", 483 | "destroy", 484 | "detail", 485 | "detect", 486 | "develop", 487 | "device", 488 | "devote", 489 | "diagram", 490 | "dial", 491 | "diamond", 492 | "diary", 493 | "dice", 494 | "diesel", 495 | "diet", 496 | "differ", 497 | "digital", 498 | "dignity", 499 | "dilemma", 500 | "dinner", 501 | "dinosaur", 502 | "direct", 503 | "dirt", 504 | "disagree", 505 | "discover", 506 | "disease", 507 | "dish", 508 | "dismiss", 509 | "disorder", 510 | "display", 511 | "distance", 512 | "divert", 513 | "divide", 514 | "divorce", 515 | "dizzy", 516 | "doctor", 517 | "document", 518 | "dog", 519 | "doll", 520 | "dolphin", 521 | "domain", 522 | "donate", 523 | "donkey", 524 | "donor", 525 | "door", 526 | "dose", 527 | "double", 528 | "dove", 529 | "draft", 530 | "dragon", 531 | "drama", 532 | "drastic", 533 | "draw", 534 | "dream", 535 | "dress", 536 | "drift", 537 | "drill", 538 | "drink", 539 | "drip", 540 | "drive", 541 | "drop", 542 | "drum", 543 | "dry", 544 | "duck", 545 | "dumb", 546 | "dune", 547 | "during", 548 | "dust", 549 | "dutch", 550 | "duty", 551 | "dwarf", 552 | "dynamic", 553 | "eager", 554 | "eagle", 555 | "early", 556 | "earn", 557 | "earth", 558 | "easily", 559 | "east", 560 | "easy", 561 | "echo", 562 | "ecology", 563 | "economy", 564 | "edge", 565 | "edit", 566 | "educate", 567 | "effort", 568 | "egg", 569 | "eight", 570 | "either", 571 | "elbow", 572 | "elder", 573 | "electric", 574 | "elegant", 575 | "element", 576 | "elephant", 577 | "elevator", 578 | "elite", 579 | "else", 580 | "embark", 581 | "embody", 582 | "embrace", 583 | "emerge", 584 | "emotion", 585 | "employ", 586 | "empower", 587 | "empty", 588 | "enable", 589 | "enact", 590 | "end", 591 | "endless", 592 | "endorse", 593 | "enemy", 594 | "energy", 595 | "enforce", 596 | "engage", 597 | "engine", 598 | "enhance", 599 | "enjoy", 600 | "enlist", 601 | "enough", 602 | "enrich", 603 | "enroll", 604 | "ensure", 605 | "enter", 606 | "entire", 607 | "entry", 608 | "envelope", 609 | "episode", 610 | "equal", 611 | "equip", 612 | "era", 613 | "erase", 614 | "erode", 615 | "erosion", 616 | "error", 617 | "erupt", 618 | "escape", 619 | "essay", 620 | "essence", 621 | "estate", 622 | "eternal", 623 | "ethics", 624 | "evidence", 625 | "evil", 626 | "evoke", 627 | "evolve", 628 | "exact", 629 | "example", 630 | "excess", 631 | "exchange", 632 | "excite", 633 | "exclude", 634 | "excuse", 635 | "execute", 636 | "exercise", 637 | "exhaust", 638 | "exhibit", 639 | "exile", 640 | "exist", 641 | "exit", 642 | "exotic", 643 | "expand", 644 | "expect", 645 | "expire", 646 | "explain", 647 | "expose", 648 | "express", 649 | "extend", 650 | "extra", 651 | "eye", 652 | "eyebrow", 653 | "fabric", 654 | "face", 655 | "faculty", 656 | "fade", 657 | "faint", 658 | "faith", 659 | "fall", 660 | "false", 661 | "fame", 662 | "family", 663 | "famous", 664 | "fan", 665 | "fancy", 666 | "fantasy", 667 | "farm", 668 | "fashion", 669 | "fat", 670 | "fatal", 671 | "father", 672 | "fatigue", 673 | "fault", 674 | "favorite", 675 | "feature", 676 | "february", 677 | "federal", 678 | "fee", 679 | "feed", 680 | "feel", 681 | "female", 682 | "fence", 683 | "festival", 684 | "fetch", 685 | "fever", 686 | "few", 687 | "fiber", 688 | "fiction", 689 | "field", 690 | "figure", 691 | "file", 692 | "film", 693 | "filter", 694 | "final", 695 | "find", 696 | "fine", 697 | "finger", 698 | "finish", 699 | "fire", 700 | "firm", 701 | "first", 702 | "fiscal", 703 | "fish", 704 | "fit", 705 | "fitness", 706 | "fix", 707 | "flag", 708 | "flame", 709 | "flash", 710 | "flat", 711 | "flavor", 712 | "flee", 713 | "flight", 714 | "flip", 715 | "float", 716 | "flock", 717 | "floor", 718 | "flower", 719 | "fluid", 720 | "flush", 721 | "fly", 722 | "foam", 723 | "focus", 724 | "fog", 725 | "foil", 726 | "fold", 727 | "follow", 728 | "food", 729 | "foot", 730 | "force", 731 | "forest", 732 | "forget", 733 | "fork", 734 | "fortune", 735 | "forum", 736 | "forward", 737 | "fossil", 738 | "foster", 739 | "found", 740 | "fox", 741 | "fragile", 742 | "frame", 743 | "frequent", 744 | "fresh", 745 | "friend", 746 | "fringe", 747 | "frog", 748 | "front", 749 | "frost", 750 | "frown", 751 | "frozen", 752 | "fruit", 753 | "fuel", 754 | "fun", 755 | "funny", 756 | "furnace", 757 | "fury", 758 | "future", 759 | "gadget", 760 | "gain", 761 | "galaxy", 762 | "gallery", 763 | "game", 764 | "gap", 765 | "garage", 766 | "garbage", 767 | "garden", 768 | "garlic", 769 | "garment", 770 | "gas", 771 | "gasp", 772 | "gate", 773 | "gather", 774 | "gauge", 775 | "gaze", 776 | "general", 777 | "genius", 778 | "genre", 779 | "gentle", 780 | "genuine", 781 | "gesture", 782 | "ghost", 783 | "giant", 784 | "gift", 785 | "giggle", 786 | "ginger", 787 | "giraffe", 788 | "girl", 789 | "give", 790 | "glad", 791 | "glance", 792 | "glare", 793 | "glass", 794 | "glide", 795 | "glimpse", 796 | "globe", 797 | "gloom", 798 | "glory", 799 | "glove", 800 | "glow", 801 | "glue", 802 | "goat", 803 | "goddess", 804 | "gold", 805 | "good", 806 | "goose", 807 | "gorilla", 808 | "gospel", 809 | "gossip", 810 | "govern", 811 | "gown", 812 | "grab", 813 | "grace", 814 | "grain", 815 | "grant", 816 | "grape", 817 | "grass", 818 | "gravity", 819 | "great", 820 | "green", 821 | "grid", 822 | "grief", 823 | "grit", 824 | "grocery", 825 | "group", 826 | "grow", 827 | "grunt", 828 | "guard", 829 | "guess", 830 | "guide", 831 | "guilt", 832 | "guitar", 833 | "gun", 834 | "gym", 835 | "habit", 836 | "hair", 837 | "half", 838 | "hammer", 839 | "hamster", 840 | "hand", 841 | "happy", 842 | "harbor", 843 | "hard", 844 | "harsh", 845 | "harvest", 846 | "hat", 847 | "have", 848 | "hawk", 849 | "hazard", 850 | "head", 851 | "health", 852 | "heart", 853 | "heavy", 854 | "hedgehog", 855 | "height", 856 | "hello", 857 | "helmet", 858 | "help", 859 | "hen", 860 | "hero", 861 | "hidden", 862 | "high", 863 | "hill", 864 | "hint", 865 | "hip", 866 | "hire", 867 | "history", 868 | "hobby", 869 | "hockey", 870 | "hold", 871 | "hole", 872 | "holiday", 873 | "hollow", 874 | "home", 875 | "honey", 876 | "hood", 877 | "hope", 878 | "horn", 879 | "horror", 880 | "horse", 881 | "hospital", 882 | "host", 883 | "hotel", 884 | "hour", 885 | "hover", 886 | "hub", 887 | "huge", 888 | "human", 889 | "humble", 890 | "humor", 891 | "hundred", 892 | "hungry", 893 | "hunt", 894 | "hurdle", 895 | "hurry", 896 | "hurt", 897 | "husband", 898 | "hybrid", 899 | "ice", 900 | "icon", 901 | "idea", 902 | "identify", 903 | "idle", 904 | "ignore", 905 | "ill", 906 | "illegal", 907 | "illness", 908 | "image", 909 | "imitate", 910 | "immense", 911 | "immune", 912 | "impact", 913 | "impose", 914 | "improve", 915 | "impulse", 916 | "inch", 917 | "include", 918 | "income", 919 | "increase", 920 | "index", 921 | "indicate", 922 | "indoor", 923 | "industry", 924 | "infant", 925 | "inflict", 926 | "inform", 927 | "inhale", 928 | "inherit", 929 | "initial", 930 | "inject", 931 | "injury", 932 | "inmate", 933 | "inner", 934 | "innocent", 935 | "input", 936 | "inquiry", 937 | "insane", 938 | "insect", 939 | "inside", 940 | "inspire", 941 | "install", 942 | "intact", 943 | "interest", 944 | "into", 945 | "invest", 946 | "invite", 947 | "involve", 948 | "iron", 949 | "island", 950 | "isolate", 951 | "issue", 952 | "item", 953 | "ivory", 954 | "jacket", 955 | "jaguar", 956 | "jar", 957 | "jazz", 958 | "jealous", 959 | "jeans", 960 | "jelly", 961 | "jewel", 962 | "job", 963 | "join", 964 | "joke", 965 | "journey", 966 | "joy", 967 | "judge", 968 | "juice", 969 | "jump", 970 | "jungle", 971 | "junior", 972 | "junk", 973 | "just", 974 | "kangaroo", 975 | "keen", 976 | "keep", 977 | "ketchup", 978 | "key", 979 | "kick", 980 | "kid", 981 | "kidney", 982 | "kind", 983 | "kingdom", 984 | "kiss", 985 | "kit", 986 | "kitchen", 987 | "kite", 988 | "kitten", 989 | "kiwi", 990 | "knee", 991 | "knife", 992 | "knock", 993 | "know", 994 | "lab", 995 | "label", 996 | "labor", 997 | "ladder", 998 | "lady", 999 | "lake", 1000 | "lamp", 1001 | "language", 1002 | "laptop", 1003 | "large", 1004 | "later", 1005 | "latin", 1006 | "laugh", 1007 | "laundry", 1008 | "lava", 1009 | "law", 1010 | "lawn", 1011 | "lawsuit", 1012 | "layer", 1013 | "lazy", 1014 | "leader", 1015 | "leaf", 1016 | "learn", 1017 | "leave", 1018 | "lecture", 1019 | "left", 1020 | "leg", 1021 | "legal", 1022 | "legend", 1023 | "leisure", 1024 | "lemon", 1025 | "lend", 1026 | "length", 1027 | "lens", 1028 | "leopard", 1029 | "lesson", 1030 | "letter", 1031 | "level", 1032 | "liar", 1033 | "liberty", 1034 | "library", 1035 | "license", 1036 | "life", 1037 | "lift", 1038 | "light", 1039 | "like", 1040 | "limb", 1041 | "limit", 1042 | "link", 1043 | "lion", 1044 | "liquid", 1045 | "list", 1046 | "little", 1047 | "live", 1048 | "lizard", 1049 | "load", 1050 | "loan", 1051 | "lobster", 1052 | "local", 1053 | "lock", 1054 | "logic", 1055 | "lonely", 1056 | "long", 1057 | "loop", 1058 | "lottery", 1059 | "loud", 1060 | "lounge", 1061 | "love", 1062 | "loyal", 1063 | "lucky", 1064 | "luggage", 1065 | "lumber", 1066 | "lunar", 1067 | "lunch", 1068 | "luxury", 1069 | "lyrics", 1070 | "machine", 1071 | "mad", 1072 | "magic", 1073 | "magnet", 1074 | "maid", 1075 | "mail", 1076 | "main", 1077 | "major", 1078 | "make", 1079 | "mammal", 1080 | "man", 1081 | "manage", 1082 | "mandate", 1083 | "mango", 1084 | "mansion", 1085 | "manual", 1086 | "maple", 1087 | "marble", 1088 | "march", 1089 | "margin", 1090 | "marine", 1091 | "market", 1092 | "marriage", 1093 | "mask", 1094 | "mass", 1095 | "master", 1096 | "match", 1097 | "material", 1098 | "math", 1099 | "matrix", 1100 | "matter", 1101 | "maximum", 1102 | "maze", 1103 | "meadow", 1104 | "mean", 1105 | "measure", 1106 | "meat", 1107 | "mechanic", 1108 | "medal", 1109 | "media", 1110 | "melody", 1111 | "melt", 1112 | "member", 1113 | "memory", 1114 | "mention", 1115 | "menu", 1116 | "mercy", 1117 | "merge", 1118 | "merit", 1119 | "merry", 1120 | "mesh", 1121 | "message", 1122 | "metal", 1123 | "method", 1124 | "middle", 1125 | "midnight", 1126 | "milk", 1127 | "million", 1128 | "mimic", 1129 | "mind", 1130 | "minimum", 1131 | "minor", 1132 | "minute", 1133 | "miracle", 1134 | "mirror", 1135 | "misery", 1136 | "miss", 1137 | "mistake", 1138 | "mix", 1139 | "mixed", 1140 | "mixture", 1141 | "mobile", 1142 | "model", 1143 | "modify", 1144 | "mom", 1145 | "moment", 1146 | "monitor", 1147 | "monkey", 1148 | "monster", 1149 | "month", 1150 | "moon", 1151 | "moral", 1152 | "more", 1153 | "morning", 1154 | "mosquito", 1155 | "mother", 1156 | "motion", 1157 | "motor", 1158 | "mountain", 1159 | "mouse", 1160 | "move", 1161 | "movie", 1162 | "much", 1163 | "muffin", 1164 | "mule", 1165 | "multiply", 1166 | "muscle", 1167 | "museum", 1168 | "mushroom", 1169 | "music", 1170 | "must", 1171 | "mutual", 1172 | "myself", 1173 | "mystery", 1174 | "myth", 1175 | "naive", 1176 | "name", 1177 | "napkin", 1178 | "narrow", 1179 | "nasty", 1180 | "nation", 1181 | "nature", 1182 | "near", 1183 | "neck", 1184 | "need", 1185 | "negative", 1186 | "neglect", 1187 | "neither", 1188 | "nephew", 1189 | "nerve", 1190 | "nest", 1191 | "net", 1192 | "network", 1193 | "neutral", 1194 | "never", 1195 | "news", 1196 | "next", 1197 | "nice", 1198 | "night", 1199 | "noble", 1200 | "noise", 1201 | "nominee", 1202 | "noodle", 1203 | "normal", 1204 | "north", 1205 | "nose", 1206 | "notable", 1207 | "note", 1208 | "nothing", 1209 | "notice", 1210 | "novel", 1211 | "now", 1212 | "nuclear", 1213 | "number", 1214 | "nurse", 1215 | "nut", 1216 | "oak", 1217 | "obey", 1218 | "object", 1219 | "oblige", 1220 | "obscure", 1221 | "observe", 1222 | "obtain", 1223 | "obvious", 1224 | "occur", 1225 | "ocean", 1226 | "october", 1227 | "odor", 1228 | "off", 1229 | "offer", 1230 | "office", 1231 | "often", 1232 | "oil", 1233 | "okay", 1234 | "old", 1235 | "olive", 1236 | "olympic", 1237 | "omit", 1238 | "once", 1239 | "one", 1240 | "onion", 1241 | "online", 1242 | "only", 1243 | "open", 1244 | "opera", 1245 | "opinion", 1246 | "oppose", 1247 | "option", 1248 | "orange", 1249 | "orbit", 1250 | "orchard", 1251 | "order", 1252 | "ordinary", 1253 | "organ", 1254 | "orient", 1255 | "original", 1256 | "orphan", 1257 | "ostrich", 1258 | "other", 1259 | "outdoor", 1260 | "outer", 1261 | "output", 1262 | "outside", 1263 | "oval", 1264 | "oven", 1265 | "over", 1266 | "own", 1267 | "owner", 1268 | "oxygen", 1269 | "oyster", 1270 | "ozone", 1271 | "pact", 1272 | "paddle", 1273 | "page", 1274 | "pair", 1275 | "palace", 1276 | "palm", 1277 | "panda", 1278 | "panel", 1279 | "panic", 1280 | "panther", 1281 | "paper", 1282 | "parade", 1283 | "parent", 1284 | "park", 1285 | "parrot", 1286 | "party", 1287 | "pass", 1288 | "patch", 1289 | "path", 1290 | "patient", 1291 | "patrol", 1292 | "pattern", 1293 | "pause", 1294 | "pave", 1295 | "payment", 1296 | "peace", 1297 | "peanut", 1298 | "pear", 1299 | "peasant", 1300 | "pelican", 1301 | "pen", 1302 | "penalty", 1303 | "pencil", 1304 | "people", 1305 | "pepper", 1306 | "perfect", 1307 | "permit", 1308 | "person", 1309 | "pet", 1310 | "phone", 1311 | "photo", 1312 | "phrase", 1313 | "physical", 1314 | "piano", 1315 | "picnic", 1316 | "picture", 1317 | "piece", 1318 | "pig", 1319 | "pigeon", 1320 | "pill", 1321 | "pilot", 1322 | "pink", 1323 | "pioneer", 1324 | "pipe", 1325 | "pistol", 1326 | "pitch", 1327 | "pizza", 1328 | "place", 1329 | "planet", 1330 | "plastic", 1331 | "plate", 1332 | "play", 1333 | "please", 1334 | "pledge", 1335 | "pluck", 1336 | "plug", 1337 | "plunge", 1338 | "poem", 1339 | "poet", 1340 | "point", 1341 | "polar", 1342 | "pole", 1343 | "police", 1344 | "pond", 1345 | "pony", 1346 | "pool", 1347 | "popular", 1348 | "portion", 1349 | "position", 1350 | "possible", 1351 | "post", 1352 | "potato", 1353 | "pottery", 1354 | "poverty", 1355 | "powder", 1356 | "power", 1357 | "practice", 1358 | "praise", 1359 | "predict", 1360 | "prefer", 1361 | "prepare", 1362 | "present", 1363 | "pretty", 1364 | "prevent", 1365 | "price", 1366 | "pride", 1367 | "primary", 1368 | "print", 1369 | "priority", 1370 | "prison", 1371 | "private", 1372 | "prize", 1373 | "problem", 1374 | "process", 1375 | "produce", 1376 | "profit", 1377 | "program", 1378 | "project", 1379 | "promote", 1380 | "proof", 1381 | "property", 1382 | "prosper", 1383 | "protect", 1384 | "proud", 1385 | "provide", 1386 | "public", 1387 | "pudding", 1388 | "pull", 1389 | "pulp", 1390 | "pulse", 1391 | "pumpkin", 1392 | "punch", 1393 | "pupil", 1394 | "puppy", 1395 | "purchase", 1396 | "purity", 1397 | "purpose", 1398 | "purse", 1399 | "push", 1400 | "put", 1401 | "puzzle", 1402 | "pyramid", 1403 | "quality", 1404 | "quantum", 1405 | "quarter", 1406 | "question", 1407 | "quick", 1408 | "quit", 1409 | "quiz", 1410 | "quote", 1411 | "rabbit", 1412 | "raccoon", 1413 | "race", 1414 | "rack", 1415 | "radar", 1416 | "radio", 1417 | "rail", 1418 | "rain", 1419 | "raise", 1420 | "rally", 1421 | "ramp", 1422 | "ranch", 1423 | "random", 1424 | "range", 1425 | "rapid", 1426 | "rare", 1427 | "rate", 1428 | "rather", 1429 | "raven", 1430 | "raw", 1431 | "razor", 1432 | "ready", 1433 | "real", 1434 | "reason", 1435 | "rebel", 1436 | "rebuild", 1437 | "recall", 1438 | "receive", 1439 | "recipe", 1440 | "record", 1441 | "recycle", 1442 | "reduce", 1443 | "reflect", 1444 | "reform", 1445 | "refuse", 1446 | "region", 1447 | "regret", 1448 | "regular", 1449 | "reject", 1450 | "relax", 1451 | "release", 1452 | "relief", 1453 | "rely", 1454 | "remain", 1455 | "remember", 1456 | "remind", 1457 | "remove", 1458 | "render", 1459 | "renew", 1460 | "rent", 1461 | "reopen", 1462 | "repair", 1463 | "repeat", 1464 | "replace", 1465 | "report", 1466 | "require", 1467 | "rescue", 1468 | "resemble", 1469 | "resist", 1470 | "resource", 1471 | "response", 1472 | "result", 1473 | "retire", 1474 | "retreat", 1475 | "return", 1476 | "reunion", 1477 | "reveal", 1478 | "review", 1479 | "reward", 1480 | "rhythm", 1481 | "rib", 1482 | "ribbon", 1483 | "rice", 1484 | "rich", 1485 | "ride", 1486 | "ridge", 1487 | "rifle", 1488 | "right", 1489 | "rigid", 1490 | "ring", 1491 | "riot", 1492 | "ripple", 1493 | "risk", 1494 | "ritual", 1495 | "rival", 1496 | "river", 1497 | "road", 1498 | "roast", 1499 | "robot", 1500 | "robust", 1501 | "rocket", 1502 | "romance", 1503 | "roof", 1504 | "rookie", 1505 | "room", 1506 | "rose", 1507 | "rotate", 1508 | "rough", 1509 | "round", 1510 | "route", 1511 | "royal", 1512 | "rubber", 1513 | "rude", 1514 | "rug", 1515 | "rule", 1516 | "run", 1517 | "runway", 1518 | "rural", 1519 | "sad", 1520 | "saddle", 1521 | "sadness", 1522 | "safe", 1523 | "sail", 1524 | "salad", 1525 | "salmon", 1526 | "salon", 1527 | "salt", 1528 | "salute", 1529 | "same", 1530 | "sample", 1531 | "sand", 1532 | "satisfy", 1533 | "satoshi", 1534 | "sauce", 1535 | "sausage", 1536 | "save", 1537 | "say", 1538 | "scale", 1539 | "scan", 1540 | "scare", 1541 | "scatter", 1542 | "scene", 1543 | "scheme", 1544 | "school", 1545 | "science", 1546 | "scissors", 1547 | "scorpion", 1548 | "scout", 1549 | "scrap", 1550 | "screen", 1551 | "script", 1552 | "scrub", 1553 | "sea", 1554 | "search", 1555 | "season", 1556 | "seat", 1557 | "second", 1558 | "secret", 1559 | "section", 1560 | "security", 1561 | "seed", 1562 | "seek", 1563 | "segment", 1564 | "select", 1565 | "sell", 1566 | "seminar", 1567 | "senior", 1568 | "sense", 1569 | "sentence", 1570 | "series", 1571 | "service", 1572 | "session", 1573 | "settle", 1574 | "setup", 1575 | "seven", 1576 | "shadow", 1577 | "shaft", 1578 | "shallow", 1579 | "share", 1580 | "shed", 1581 | "shell", 1582 | "sheriff", 1583 | "shield", 1584 | "shift", 1585 | "shine", 1586 | "ship", 1587 | "shiver", 1588 | "shock", 1589 | "shoe", 1590 | "shoot", 1591 | "shop", 1592 | "short", 1593 | "shoulder", 1594 | "shove", 1595 | "shrimp", 1596 | "shrug", 1597 | "shuffle", 1598 | "shy", 1599 | "sibling", 1600 | "sick", 1601 | "side", 1602 | "siege", 1603 | "sight", 1604 | "sign", 1605 | "silent", 1606 | "silk", 1607 | "silly", 1608 | "silver", 1609 | "similar", 1610 | "simple", 1611 | "since", 1612 | "sing", 1613 | "siren", 1614 | "sister", 1615 | "situate", 1616 | "six", 1617 | "size", 1618 | "skate", 1619 | "sketch", 1620 | "ski", 1621 | "skill", 1622 | "skin", 1623 | "skirt", 1624 | "skull", 1625 | "slab", 1626 | "slam", 1627 | "sleep", 1628 | "slender", 1629 | "slice", 1630 | "slide", 1631 | "slight", 1632 | "slim", 1633 | "slogan", 1634 | "slot", 1635 | "slow", 1636 | "slush", 1637 | "small", 1638 | "smart", 1639 | "smile", 1640 | "smoke", 1641 | "smooth", 1642 | "snack", 1643 | "snake", 1644 | "snap", 1645 | "sniff", 1646 | "snow", 1647 | "soap", 1648 | "soccer", 1649 | "social", 1650 | "sock", 1651 | "soda", 1652 | "soft", 1653 | "solar", 1654 | "soldier", 1655 | "solid", 1656 | "solution", 1657 | "solve", 1658 | "someone", 1659 | "song", 1660 | "soon", 1661 | "sorry", 1662 | "sort", 1663 | "soul", 1664 | "sound", 1665 | "soup", 1666 | "source", 1667 | "south", 1668 | "space", 1669 | "spare", 1670 | "spatial", 1671 | "spawn", 1672 | "speak", 1673 | "special", 1674 | "speed", 1675 | "spell", 1676 | "spend", 1677 | "sphere", 1678 | "spice", 1679 | "spider", 1680 | "spike", 1681 | "spin", 1682 | "spirit", 1683 | "split", 1684 | "spoil", 1685 | "sponsor", 1686 | "spoon", 1687 | "sport", 1688 | "spot", 1689 | "spray", 1690 | "spread", 1691 | "spring", 1692 | "spy", 1693 | "square", 1694 | "squeeze", 1695 | "squirrel", 1696 | "stable", 1697 | "stadium", 1698 | "staff", 1699 | "stage", 1700 | "stairs", 1701 | "stamp", 1702 | "stand", 1703 | "start", 1704 | "state", 1705 | "stay", 1706 | "steak", 1707 | "steel", 1708 | "stem", 1709 | "step", 1710 | "stereo", 1711 | "stick", 1712 | "still", 1713 | "sting", 1714 | "stock", 1715 | "stomach", 1716 | "stone", 1717 | "stool", 1718 | "story", 1719 | "stove", 1720 | "strategy", 1721 | "street", 1722 | "strike", 1723 | "strong", 1724 | "struggle", 1725 | "student", 1726 | "stuff", 1727 | "stumble", 1728 | "style", 1729 | "subject", 1730 | "submit", 1731 | "subway", 1732 | "success", 1733 | "such", 1734 | "sudden", 1735 | "suffer", 1736 | "sugar", 1737 | "suggest", 1738 | "suit", 1739 | "summer", 1740 | "sun", 1741 | "sunny", 1742 | "sunset", 1743 | "super", 1744 | "supply", 1745 | "supreme", 1746 | "sure", 1747 | "surface", 1748 | "surge", 1749 | "surprise", 1750 | "surround", 1751 | "survey", 1752 | "suspect", 1753 | "sustain", 1754 | "swallow", 1755 | "swamp", 1756 | "swap", 1757 | "swarm", 1758 | "swear", 1759 | "sweet", 1760 | "swift", 1761 | "swim", 1762 | "swing", 1763 | "switch", 1764 | "sword", 1765 | "symbol", 1766 | "symptom", 1767 | "syrup", 1768 | "system", 1769 | "table", 1770 | "tackle", 1771 | "tag", 1772 | "tail", 1773 | "talent", 1774 | "talk", 1775 | "tank", 1776 | "tape", 1777 | "target", 1778 | "task", 1779 | "taste", 1780 | "tattoo", 1781 | "taxi", 1782 | "teach", 1783 | "team", 1784 | "tell", 1785 | "ten", 1786 | "tenant", 1787 | "tennis", 1788 | "tent", 1789 | "term", 1790 | "test", 1791 | "text", 1792 | "thank", 1793 | "that", 1794 | "theme", 1795 | "then", 1796 | "theory", 1797 | "there", 1798 | "they", 1799 | "thing", 1800 | "this", 1801 | "thought", 1802 | "three", 1803 | "thrive", 1804 | "throw", 1805 | "thumb", 1806 | "thunder", 1807 | "ticket", 1808 | "tide", 1809 | "tiger", 1810 | "tilt", 1811 | "timber", 1812 | "time", 1813 | "tiny", 1814 | "tip", 1815 | "tired", 1816 | "tissue", 1817 | "title", 1818 | "toast", 1819 | "tobacco", 1820 | "today", 1821 | "toddler", 1822 | "toe", 1823 | "together", 1824 | "toilet", 1825 | "token", 1826 | "tomato", 1827 | "tomorrow", 1828 | "tone", 1829 | "tongue", 1830 | "tonight", 1831 | "tool", 1832 | "tooth", 1833 | "top", 1834 | "topic", 1835 | "topple", 1836 | "torch", 1837 | "tornado", 1838 | "tortoise", 1839 | "toss", 1840 | "total", 1841 | "tourist", 1842 | "toward", 1843 | "tower", 1844 | "town", 1845 | "toy", 1846 | "track", 1847 | "trade", 1848 | "traffic", 1849 | "tragic", 1850 | "train", 1851 | "transfer", 1852 | "trap", 1853 | "trash", 1854 | "travel", 1855 | "tray", 1856 | "treat", 1857 | "tree", 1858 | "trend", 1859 | "trial", 1860 | "tribe", 1861 | "trick", 1862 | "trigger", 1863 | "trim", 1864 | "trip", 1865 | "trophy", 1866 | "trouble", 1867 | "truck", 1868 | "true", 1869 | "truly", 1870 | "trumpet", 1871 | "trust", 1872 | "truth", 1873 | "try", 1874 | "tube", 1875 | "tuition", 1876 | "tumble", 1877 | "tuna", 1878 | "tunnel", 1879 | "turkey", 1880 | "turn", 1881 | "turtle", 1882 | "twelve", 1883 | "twenty", 1884 | "twice", 1885 | "twin", 1886 | "twist", 1887 | "two", 1888 | "type", 1889 | "typical", 1890 | "ugly", 1891 | "umbrella", 1892 | "unable", 1893 | "unaware", 1894 | "uncle", 1895 | "uncover", 1896 | "under", 1897 | "undo", 1898 | "unfair", 1899 | "unfold", 1900 | "unhappy", 1901 | "uniform", 1902 | "unique", 1903 | "unit", 1904 | "universe", 1905 | "unknown", 1906 | "unlock", 1907 | "until", 1908 | "unusual", 1909 | "unveil", 1910 | "update", 1911 | "upgrade", 1912 | "uphold", 1913 | "upon", 1914 | "upper", 1915 | "upset", 1916 | "urban", 1917 | "urge", 1918 | "usage", 1919 | "use", 1920 | "used", 1921 | "useful", 1922 | "useless", 1923 | "usual", 1924 | "utility", 1925 | "vacant", 1926 | "vacuum", 1927 | "vague", 1928 | "valid", 1929 | "valley", 1930 | "valve", 1931 | "van", 1932 | "vanish", 1933 | "vapor", 1934 | "various", 1935 | "vast", 1936 | "vault", 1937 | "vehicle", 1938 | "velvet", 1939 | "vendor", 1940 | "venture", 1941 | "venue", 1942 | "verb", 1943 | "verify", 1944 | "version", 1945 | "very", 1946 | "vessel", 1947 | "veteran", 1948 | "viable", 1949 | "vibrant", 1950 | "vicious", 1951 | "victory", 1952 | "video", 1953 | "view", 1954 | "village", 1955 | "vintage", 1956 | "violin", 1957 | "virtual", 1958 | "virus", 1959 | "visa", 1960 | "visit", 1961 | "visual", 1962 | "vital", 1963 | "vivid", 1964 | "vocal", 1965 | "voice", 1966 | "void", 1967 | "volcano", 1968 | "volume", 1969 | "vote", 1970 | "voyage", 1971 | "wage", 1972 | "wagon", 1973 | "wait", 1974 | "walk", 1975 | "wall", 1976 | "walnut", 1977 | "want", 1978 | "warfare", 1979 | "warm", 1980 | "warrior", 1981 | "wash", 1982 | "wasp", 1983 | "waste", 1984 | "water", 1985 | "wave", 1986 | "way", 1987 | "wealth", 1988 | "weapon", 1989 | "wear", 1990 | "weasel", 1991 | "weather", 1992 | "web", 1993 | "wedding", 1994 | "weekend", 1995 | "weird", 1996 | "welcome", 1997 | "west", 1998 | "wet", 1999 | "whale", 2000 | "what", 2001 | "wheat", 2002 | "wheel", 2003 | "when", 2004 | "where", 2005 | "whip", 2006 | "whisper", 2007 | "wide", 2008 | "width", 2009 | "wife", 2010 | "wild", 2011 | "will", 2012 | "win", 2013 | "window", 2014 | "wine", 2015 | "wing", 2016 | "wink", 2017 | "winner", 2018 | "winter", 2019 | "wire", 2020 | "wisdom", 2021 | "wise", 2022 | "wish", 2023 | "witness", 2024 | "wolf", 2025 | "woman", 2026 | "wonder", 2027 | "wood", 2028 | "wool", 2029 | "word", 2030 | "work", 2031 | "world", 2032 | "worry", 2033 | "worth", 2034 | "wrap", 2035 | "wreck", 2036 | "wrestle", 2037 | "wrist", 2038 | "write", 2039 | "wrong", 2040 | "yard", 2041 | "year", 2042 | "yellow", 2043 | "you", 2044 | "young", 2045 | "youth", 2046 | "zebra", 2047 | "zero", 2048 | "zone", 2049 | "zoo" 2050 | ] 2051 | --------------------------------------------------------------------------------