/ lib / otp / otp_parse.c
otp_parse.c
   1  /*
   2   * Copyright (c) 1995-2000, 2005-2007 Kungliga Tekniska Högskolan
   3   * (Royal Institute of Technology, Stockholm, Sweden).
   4   * All rights reserved.
   5   *
   6   * Redistribution and use in source and binary forms, with or without
   7   * modification, are permitted provided that the following conditions
   8   * are met:
   9   *
  10   * 1. Redistributions of source code must retain the above copyright
  11   *    notice, this list of conditions and the following disclaimer.
  12   *
  13   * 2. Redistributions in binary form must reproduce the above copyright
  14   *    notice, this list of conditions and the following disclaimer in the
  15   *    documentation and/or other materials provided with the distribution.
  16   *
  17   * 3. Neither the name of the Institute nor the names of its contributors
  18   *    may be used to endorse or promote products derived from this software
  19   *    without specific prior written permission.
  20   *
  21   * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
  22   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24   * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
  25   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27   * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31   * SUCH DAMAGE.
  32   */
  33  
  34  #ifdef HAVE_CONFIG_H
  35  #include "config.h"
  36  RCSID("$Id$");
  37  #endif
  38  
  39  #include "otp_locl.h"
  40  
  41  struct e {
  42    const char *s;
  43    unsigned n;
  44  };
  45  
  46  extern const struct e inv_std_dict[2048];
  47  
  48  static int
  49  cmp(const void *a, const void *b)
  50  {
  51    const struct e *e1, *e2;
  52  
  53    e1 = (const struct e *)a;
  54    e2 = (const struct e *)b;
  55    return strcasecmp (e1->s, e2->s);
  56  }
  57  
  58  static int
  59  get_stdword (const char *s, void *v)
  60  {
  61    struct e e, *r;
  62  
  63    e.s = s;
  64    e.n = -1;
  65    r = (struct e *) bsearch (&e, inv_std_dict,
  66  			    sizeof(inv_std_dict)/sizeof(*inv_std_dict),
  67  			    sizeof(*inv_std_dict), cmp);
  68    if (r)
  69      return r->n;
  70    else
  71      return -1;
  72  }
  73  
  74  static void
  75  compress (OtpKey key, unsigned wn[])
  76  {
  77    key[0] = wn[0] >> 3;
  78    key[1] = ((wn[0] & 0x07) << 5) | (wn[1] >> 6);
  79    key[2] = ((wn[1] & 0x3F) << 2) | (wn[2] >> 9);
  80    key[3] = ((wn[2] >> 1) & 0xFF);
  81    key[4] = ((wn[2] & 0x01) << 7) | (wn[3] >> 4);
  82    key[5] = ((wn[3] & 0x0F) << 4) | (wn[4] >> 7);
  83    key[6] = ((wn[4] & 0x7F) << 1) | (wn[5] >> 10);
  84    key[7] = ((wn[5] >> 2) & 0xFF);
  85  }
  86  
  87  static int
  88  get_altword (const char *s, void *a)
  89  {
  90    OtpAlgorithm *alg = (OtpAlgorithm *)a;
  91    int ret;
  92    unsigned char *res = malloc(alg->hashsize);
  93  
  94    if (res == NULL)
  95      return -1;
  96    alg->hash (s, strlen(s), res);
  97    ret = (unsigned)(res[alg->hashsize - 1]) |
  98        ((res[alg->hashsize - 2] & 0x03) << 8);
  99    free (res);
 100    return ret;
 101  }
 102  
 103  static int
 104  parse_words(unsigned wn[],
 105  	    const char *str,
 106  	    int (*convert)(const char *, void *),
 107  	    void *arg)
 108  {
 109    const unsigned char *w, *wend;
 110    char *wcopy;
 111    int i;
 112    int tmp;
 113  
 114    w = (const unsigned char *)str;
 115    for (i = 0; i < 6; ++i) {
 116      while (isspace(*w))
 117        ++w;
 118      wend = w;
 119      while (isalpha (*wend))
 120        ++wend;
 121  
 122      tmp = wend - w;
 123      wcopy = malloc(tmp + 1);
 124      if (wcopy == NULL)
 125  	return -1;
 126      memcpy(wcopy, w, tmp);
 127      wcopy[tmp] = '\0';
 128  
 129      tmp = (*convert)(wcopy, arg);
 130      free(wcopy);
 131      w = wend;
 132      if (tmp < 0)
 133        return -1;
 134      wn[i] = tmp;
 135    }
 136    return 0;
 137  }
 138  
 139  static int
 140  otp_parse_internal (OtpKey key, const char *str,
 141  		    OtpAlgorithm *alg,
 142  		    int (*convert)(const char *, void *))
 143  {
 144    unsigned wn[6];
 145  
 146    if (parse_words (wn, str, convert, alg))
 147      return -1;
 148    compress (key, wn);
 149    if (otp_checksum (key) != (wn[5] & 0x03))
 150      return -1;
 151    return 0;
 152  }
 153  
 154  int
 155  otp_parse_stddict (OtpKey key, const char *str)
 156  {
 157    return otp_parse_internal (key, str, NULL, get_stdword);
 158  }
 159  
 160  int
 161  otp_parse_altdict (OtpKey key, const char *str, OtpAlgorithm *alg)
 162  {
 163    return otp_parse_internal (key, str, alg, get_altword);
 164  }
 165  
 166  int
 167  otp_parse_hex (OtpKey key, const char *s)
 168  {
 169    char buf[17], *b;
 170    int is[8];
 171    int i;
 172  
 173    b = buf;
 174    while (*s) {
 175      if (strchr ("0123456789ABCDEFabcdef", *s)) {
 176        if (b - buf >= 16)
 177  	return -1;
 178        else
 179  	*b++ = tolower((unsigned char)*s);
 180      }
 181      s++;
 182    }
 183    *b = '\0';
 184    if (sscanf (buf, "%2x%2x%2x%2x%2x%2x%2x%2x",
 185  	      &is[0], &is[1], &is[2], &is[3], &is[4],
 186  	      &is[5], &is[6], &is[7]) != 8)
 187      return -1;
 188    for (i = 0; i < OTPKEYSIZE; ++i)
 189      key[i] = is[i];
 190    return 0;
 191  }
 192  
 193  int
 194  otp_parse (OtpKey key, const char *s, OtpAlgorithm *alg)
 195  {
 196    int ret;
 197    int dohex = 1;
 198  
 199    if (strncmp (s, OTP_HEXPREFIX, strlen(OTP_HEXPREFIX)) == 0)
 200      return otp_parse_hex (key, s + strlen(OTP_HEXPREFIX));
 201    if (strncmp (s, OTP_WORDPREFIX, strlen(OTP_WORDPREFIX)) == 0) {
 202      s += strlen(OTP_WORDPREFIX);
 203      dohex = 0;
 204    }
 205  
 206    ret = otp_parse_stddict (key, s);
 207    if (ret)
 208      ret = otp_parse_altdict (key, s, alg);
 209    if (ret && dohex)
 210      ret = otp_parse_hex (key, s);
 211    return ret;
 212  }
 213  
 214  const char *const std_dict[2048] =
 215  {        "A",    "ABE",   "ACE",   "ACT",   "AD",    "ADA",   "ADD",
 216  "AGO",   "AID",  "AIM",   "AIR",   "ALL",   "ALP",   "AM",    "AMY",
 217  "AN",    "ANA",  "AND",   "ANN",   "ANT",   "ANY",   "APE",   "APS",
 218  "APT",   "ARC",  "ARE",   "ARK",   "ARM",   "ART",   "AS",    "ASH",
 219  "ASK",   "AT",   "ATE",   "AUG",   "AUK",   "AVE",   "AWE",   "AWK",
 220  "AWL",   "AWN",  "AX",    "AYE",   "BAD",   "BAG",   "BAH",   "BAM",
 221  "BAN",   "BAR",  "BAT",   "BAY",   "BE",    "BED",   "BEE",   "BEG",
 222  "BEN",   "BET",  "BEY",   "BIB",   "BID",   "BIG",   "BIN",   "BIT",
 223  "BOB",   "BOG",  "BON",   "BOO",   "BOP",   "BOW",   "BOY",   "BUB",
 224  "BUD",   "BUG",  "BUM",   "BUN",   "BUS",   "BUT",   "BUY",   "BY",
 225  "BYE",   "CAB",  "CAL",   "CAM",   "CAN",   "CAP",   "CAR",   "CAT",
 226  "CAW",   "COD",  "COG",   "COL",   "CON",   "COO",   "COP",   "COT",
 227  "COW",   "COY",  "CRY",   "CUB",   "CUE",   "CUP",   "CUR",   "CUT",
 228  "DAB",   "DAD",  "DAM",   "DAN",   "DAR",   "DAY",   "DEE",   "DEL",
 229  "DEN",   "DES",  "DEW",   "DID",   "DIE",   "DIG",   "DIN",   "DIP",
 230  "DO",    "DOE",  "DOG",   "DON",   "DOT",   "DOW",   "DRY",   "DUB",
 231  "DUD",   "DUE",  "DUG",   "DUN",   "EAR",   "EAT",   "ED",    "EEL",
 232  "EGG",   "EGO",  "ELI",   "ELK",   "ELM",   "ELY",   "EM",    "END",
 233  "EST",   "ETC",  "EVA",   "EVE",   "EWE",   "EYE",   "FAD",   "FAN",
 234  "FAR",   "FAT",  "FAY",   "FED",   "FEE",   "FEW",   "FIB",   "FIG",
 235  "FIN",   "FIR",  "FIT",   "FLO",   "FLY",   "FOE",   "FOG",   "FOR",
 236  "FRY",   "FUM",  "FUN",   "FUR",   "GAB",   "GAD",   "GAG",   "GAL",
 237  "GAM",   "GAP",  "GAS",   "GAY",   "GEE",   "GEL",   "GEM",   "GET",
 238  "GIG",   "GIL",  "GIN",   "GO",    "GOT",   "GUM",   "GUN",   "GUS",
 239  "GUT",   "GUY",  "GYM",   "GYP",   "HA",    "HAD",   "HAL",   "HAM",
 240  "HAN",   "HAP",  "HAS",   "HAT",   "HAW",   "HAY",   "HE",    "HEM",
 241  "HEN",   "HER",  "HEW",   "HEY",   "HI",    "HID",   "HIM",   "HIP",
 242  "HIS",   "HIT",  "HO",    "HOB",   "HOC",   "HOE",   "HOG",   "HOP",
 243  "HOT",   "HOW",  "HUB",   "HUE",   "HUG",   "HUH",   "HUM",   "HUT",
 244  "I",     "ICY",  "IDA",   "IF",    "IKE",   "ILL",   "INK",   "INN",
 245  "IO",    "ION",  "IQ",    "IRA",   "IRE",   "IRK",   "IS",    "IT",
 246  "ITS",   "IVY",  "JAB",   "JAG",   "JAM",   "JAN",   "JAR",   "JAW",
 247  "JAY",   "JET",  "JIG",   "JIM",   "JO",    "JOB",   "JOE",   "JOG",
 248  "JOT",   "JOY",  "JUG",   "JUT",   "KAY",   "KEG",   "KEN",   "KEY",
 249  "KID",   "KIM",  "KIN",   "KIT",   "LA",    "LAB",   "LAC",   "LAD",
 250  "LAG",   "LAM",  "LAP",   "LAW",   "LAY",   "LEA",   "LED",   "LEE",
 251  "LEG",   "LEN",  "LEO",   "LET",   "LEW",   "LID",   "LIE",   "LIN",
 252  "LIP",   "LIT",  "LO",    "LOB",   "LOG",   "LOP",   "LOS",   "LOT",
 253  "LOU",   "LOW",  "LOY",   "LUG",   "LYE",   "MA",    "MAC",   "MAD",
 254  "MAE",   "MAN",  "MAO",   "MAP",   "MAT",   "MAW",   "MAY",   "ME",
 255  "MEG",   "MEL",  "MEN",   "MET",   "MEW",   "MID",   "MIN",   "MIT",
 256  "MOB",   "MOD",  "MOE",   "MOO",   "MOP",   "MOS",   "MOT",   "MOW",
 257  "MUD",   "MUG",  "MUM",   "MY",    "NAB",   "NAG",   "NAN",   "NAP",
 258  "NAT",   "NAY",  "NE",    "NED",   "NEE",   "NET",   "NEW",   "NIB",
 259  "NIL",   "NIP",  "NIT",   "NO",    "NOB",   "NOD",   "NON",   "NOR",
 260  "NOT",   "NOV",  "NOW",   "NU",    "NUN",   "NUT",   "O",     "OAF",
 261  "OAK",   "OAR",  "OAT",   "ODD",   "ODE",   "OF",    "OFF",   "OFT",
 262  "OH",    "OIL",  "OK",    "OLD",   "ON",    "ONE",   "OR",    "ORB",
 263  "ORE",   "ORR",  "OS",    "OTT",   "OUR",   "OUT",   "OVA",   "OW",
 264  "OWE",   "OWL",  "OWN",   "OX",    "PA",    "PAD",   "PAL",   "PAM",
 265  "PAN",   "PAP",  "PAR",   "PAT",   "PAW",   "PAY",   "PEA",   "PEG",
 266  "PEN",   "PEP",  "PER",   "PET",   "PEW",   "PHI",   "PI",    "PIE",
 267  "PIN",   "PIT",  "PLY",   "PO",    "POD",   "POE",   "POP",   "POT",
 268  "POW",   "PRO",  "PRY",   "PUB",   "PUG",   "PUN",   "PUP",   "PUT",
 269  "QUO",   "RAG",  "RAM",   "RAN",   "RAP",   "RAT",   "RAW",   "RAY",
 270  "REB",   "RED",  "REP",   "RET",   "RIB",   "RID",   "RIG",   "RIM",
 271  "RIO",   "RIP",  "ROB",   "ROD",   "ROE",   "RON",   "ROT",   "ROW",
 272  "ROY",   "RUB",  "RUE",   "RUG",   "RUM",   "RUN",   "RYE",   "SAC",
 273  "SAD",   "SAG",  "SAL",   "SAM",   "SAN",   "SAP",   "SAT",   "SAW",
 274  "SAY",   "SEA",  "SEC",   "SEE",   "SEN",   "SET",   "SEW",   "SHE",
 275  "SHY",   "SIN",  "SIP",   "SIR",   "SIS",   "SIT",   "SKI",   "SKY",
 276  "SLY",   "SO",   "SOB",   "SOD",   "SON",   "SOP",   "SOW",   "SOY",
 277  "SPA",   "SPY",  "SUB",   "SUD",   "SUE",   "SUM",   "SUN",   "SUP",
 278  "TAB",   "TAD",  "TAG",   "TAN",   "TAP",   "TAR",   "TEA",   "TED",
 279  "TEE",   "TEN",  "THE",   "THY",   "TIC",   "TIE",   "TIM",   "TIN",
 280  "TIP",   "TO",   "TOE",   "TOG",   "TOM",   "TON",   "TOO",   "TOP",
 281  "TOW",   "TOY",  "TRY",   "TUB",   "TUG",   "TUM",   "TUN",   "TWO",
 282  "UN",    "UP",   "US",    "USE",   "VAN",   "VAT",   "VET",   "VIE",
 283  "WAD",   "WAG",  "WAR",   "WAS",   "WAY",   "WE",    "WEB",   "WED",
 284  "WEE",   "WET",  "WHO",   "WHY",   "WIN",   "WIT",   "WOK",   "WON",
 285  "WOO",   "WOW",  "WRY",   "WU",    "YAM",   "YAP",   "YAW",   "YE",
 286  "YEA",   "YES",  "YET",   "YOU",   "ABED",  "ABEL",  "ABET",  "ABLE",
 287  "ABUT",  "ACHE",  "ACID", "ACME",  "ACRE",  "ACTA",  "ACTS",  "ADAM",
 288  "ADDS",  "ADEN",  "AFAR", "AFRO",  "AGEE",  "AHEM",  "AHOY",  "AIDA",
 289  "AIDE",  "AIDS",  "AIRY", "AJAR",  "AKIN",  "ALAN",  "ALEC",  "ALGA",
 290  "ALIA",  "ALLY",  "ALMA", "ALOE",  "ALSO",  "ALTO",  "ALUM",  "ALVA",
 291  "AMEN",  "AMES",  "AMID", "AMMO",  "AMOK",  "AMOS",  "AMRA",  "ANDY",
 292  "ANEW",  "ANNA",  "ANNE", "ANTE",  "ANTI",  "AQUA",  "ARAB",  "ARCH",
 293  "AREA",  "ARGO",  "ARID", "ARMY",  "ARTS",  "ARTY",  "ASIA",  "ASKS",
 294  "ATOM",  "AUNT",  "AURA", "AUTO",  "AVER",  "AVID",  "AVIS",  "AVON",
 295  "AVOW",  "AWAY",  "AWRY", "BABE",  "BABY",  "BACH",  "BACK",  "BADE",
 296  "BAIL",  "BAIT",  "BAKE", "BALD",  "BALE",  "BALI",  "BALK",  "BALL",
 297  "BALM",  "BAND",  "BANE", "BANG",  "BANK",  "BARB",  "BARD",  "BARE",
 298  "BARK",  "BARN",  "BARR", "BASE",  "BASH",  "BASK",  "BASS",  "BATE",
 299  "BATH",  "BAWD",  "BAWL", "BEAD",  "BEAK",  "BEAM",  "BEAN",  "BEAR",
 300  "BEAT",  "BEAU",  "BECK", "BEEF",  "BEEN",  "BEER",  "BEET",  "BELA",
 301  "BELL",  "BELT",  "BEND", "BENT",  "BERG",  "BERN",  "BERT",  "BESS",
 302  "BEST",  "BETA",  "BETH", "BHOY",  "BIAS",  "BIDE",  "BIEN",  "BILE",
 303  "BILK",  "BILL",  "BIND", "BING",  "BIRD",  "BITE",  "BITS",  "BLAB",
 304  "BLAT",  "BLED",  "BLEW", "BLOB",  "BLOC",  "BLOT",  "BLOW",  "BLUE",
 305  "BLUM",  "BLUR",  "BOAR", "BOAT",  "BOCA",  "BOCK",  "BODE",  "BODY",
 306  "BOGY",  "BOHR",  "BOIL", "BOLD",  "BOLO",  "BOLT",  "BOMB",  "BONA",
 307  "BOND",  "BONE",  "BONG", "BONN",  "BONY",  "BOOK",  "BOOM",  "BOON",
 308  "BOOT",  "BORE",  "BORG", "BORN",  "BOSE",  "BOSS",  "BOTH",  "BOUT",
 309  "BOWL",  "BOYD",  "BRAD", "BRAE",  "BRAG",  "BRAN",  "BRAY",  "BRED",
 310  "BREW",  "BRIG",  "BRIM", "BROW",  "BUCK",  "BUDD",  "BUFF",  "BULB",
 311  "BULK",  "BULL",  "BUNK", "BUNT",  "BUOY",  "BURG",  "BURL",  "BURN",
 312  "BURR",  "BURT",  "BURY", "BUSH",  "BUSS",  "BUST",  "BUSY",  "BYTE",
 313  "CADY",  "CAFE",  "CAGE", "CAIN",  "CAKE",  "CALF",  "CALL",  "CALM",
 314  "CAME",  "CANE",  "CANT", "CARD",  "CARE",  "CARL",  "CARR",  "CART",
 315  "CASE",  "CASH",  "CASK", "CAST",  "CAVE",  "CEIL",  "CELL",  "CENT",
 316  "CERN",  "CHAD",  "CHAR", "CHAT",  "CHAW",  "CHEF",  "CHEN",  "CHEW",
 317  "CHIC",  "CHIN",  "CHOU", "CHOW",  "CHUB",  "CHUG",  "CHUM",  "CITE",
 318  "CITY",  "CLAD",  "CLAM", "CLAN",  "CLAW",  "CLAY",  "CLOD",  "CLOG",
 319  "CLOT",  "CLUB",  "CLUE", "COAL",  "COAT",  "COCA",  "COCK",  "COCO",
 320  "CODA",  "CODE",  "CODY", "COED",  "COIL",  "COIN",  "COKE",  "COLA",
 321  "COLD",  "COLT",  "COMA", "COMB",  "COME",  "COOK",  "COOL",  "COON",
 322  "COOT",  "CORD",  "CORE", "CORK",  "CORN",  "COST",  "COVE",  "COWL",
 323  "CRAB",  "CRAG",  "CRAM", "CRAY",  "CREW",  "CRIB",  "CROW",  "CRUD",
 324  "CUBA",  "CUBE",  "CUFF", "CULL",  "CULT",  "CUNY",  "CURB",  "CURD",
 325  "CURE",  "CURL",  "CURT", "CUTS",  "DADE",  "DALE",  "DAME",  "DANA",
 326  "DANE",  "DANG",  "DANK", "DARE",  "DARK",  "DARN",  "DART",  "DASH",
 327  "DATA",  "DATE",  "DAVE", "DAVY",  "DAWN",  "DAYS",  "DEAD",  "DEAF",
 328  "DEAL",  "DEAN",  "DEAR", "DEBT",  "DECK",  "DEED",  "DEEM",  "DEER",
 329  "DEFT",  "DEFY",  "DELL", "DENT",  "DENY",  "DESK",  "DIAL",  "DICE",
 330  "DIED",  "DIET",  "DIME", "DINE",  "DING",  "DINT",  "DIRE",  "DIRT",
 331  "DISC",  "DISH",  "DISK", "DIVE",  "DOCK",  "DOES",  "DOLE",  "DOLL",
 332  "DOLT",  "DOME",  "DONE", "DOOM",  "DOOR",  "DORA",  "DOSE",  "DOTE",
 333  "DOUG",  "DOUR",  "DOVE", "DOWN",  "DRAB",  "DRAG",  "DRAM",  "DRAW",
 334  "DREW",  "DRUB",  "DRUG", "DRUM",  "DUAL",  "DUCK",  "DUCT",  "DUEL",
 335  "DUET",  "DUKE",  "DULL", "DUMB",  "DUNE",  "DUNK",  "DUSK",  "DUST",
 336  "DUTY",  "EACH",  "EARL", "EARN",  "EASE",  "EAST",  "EASY",  "EBEN",
 337  "ECHO",  "EDDY",  "EDEN", "EDGE",  "EDGY",  "EDIT",  "EDNA",  "EGAN",
 338  "ELAN",  "ELBA",  "ELLA", "ELSE",  "EMIL",  "EMIT",  "EMMA",  "ENDS",
 339  "ERIC",  "EROS",  "EVEN", "EVER",  "EVIL",  "EYED",  "FACE",  "FACT",
 340  "FADE",  "FAIL",  "FAIN", "FAIR",  "FAKE",  "FALL",  "FAME",  "FANG",
 341  "FARM",  "FAST",  "FATE", "FAWN",  "FEAR",  "FEAT",  "FEED",  "FEEL",
 342  "FEET",  "FELL",  "FELT", "FEND",  "FERN",  "FEST",  "FEUD",  "FIEF",
 343  "FIGS",  "FILE",  "FILL", "FILM",  "FIND",  "FINE",  "FINK",  "FIRE",
 344  "FIRM",  "FISH",  "FISK", "FIST",  "FITS",  "FIVE",  "FLAG",  "FLAK",
 345  "FLAM",  "FLAT",  "FLAW", "FLEA",  "FLED",  "FLEW",  "FLIT",  "FLOC",
 346  "FLOG",  "FLOW",  "FLUB", "FLUE",  "FOAL",  "FOAM",  "FOGY",  "FOIL",
 347  "FOLD",  "FOLK",  "FOND", "FONT",  "FOOD",  "FOOL",  "FOOT",  "FORD",
 348  "FORE",  "FORK",  "FORM", "FORT",  "FOSS",  "FOUL",  "FOUR",  "FOWL",
 349  "FRAU",  "FRAY",  "FRED", "FREE",  "FRET",  "FREY",  "FROG",  "FROM",
 350  "FUEL",  "FULL",  "FUME", "FUND",  "FUNK",  "FURY",  "FUSE",  "FUSS",
 351  "GAFF",  "GAGE",  "GAIL", "GAIN",  "GAIT",  "GALA",  "GALE",  "GALL",
 352  "GALT",  "GAME",  "GANG", "GARB",  "GARY",  "GASH",  "GATE",  "GAUL",
 353  "GAUR",  "GAVE",  "GAWK", "GEAR",  "GELD",  "GENE",  "GENT",  "GERM",
 354  "GETS",  "GIBE",  "GIFT", "GILD",  "GILL",  "GILT",  "GINA",  "GIRD",
 355  "GIRL",  "GIST",  "GIVE", "GLAD",  "GLEE",  "GLEN",  "GLIB",  "GLOB",
 356  "GLOM",  "GLOW",  "GLUE", "GLUM",  "GLUT",  "GOAD",  "GOAL",  "GOAT",
 357  "GOER",  "GOES",  "GOLD", "GOLF",  "GONE",  "GONG",  "GOOD",  "GOOF",
 358  "GORE",  "GORY",  "GOSH", "GOUT",  "GOWN",  "GRAB",  "GRAD",  "GRAY",
 359  "GREG",  "GREW",  "GREY", "GRID",  "GRIM",  "GRIN",  "GRIT",  "GROW",
 360  "GRUB",  "GULF",  "GULL", "GUNK",  "GURU",  "GUSH",  "GUST",  "GWEN",
 361  "GWYN",  "HAAG",  "HAAS", "HACK",  "HAIL",  "HAIR",  "HALE",  "HALF",
 362  "HALL",  "HALO",  "HALT", "HAND",  "HANG",  "HANK",  "HANS",  "HARD",
 363  "HARK",  "HARM",  "HART", "HASH",  "HAST",  "HATE",  "HATH",  "HAUL",
 364  "HAVE",  "HAWK",  "HAYS", "HEAD",  "HEAL",  "HEAR",  "HEAT",  "HEBE",
 365  "HECK",  "HEED",  "HEEL", "HEFT",  "HELD",  "HELL",  "HELM",  "HERB",
 366  "HERD",  "HERE",  "HERO", "HERS",  "HESS",  "HEWN",  "HICK",  "HIDE",
 367  "HIGH",  "HIKE",  "HILL", "HILT",  "HIND",  "HINT",  "HIRE",  "HISS",
 368  "HIVE",  "HOBO",  "HOCK", "HOFF",  "HOLD",  "HOLE",  "HOLM",  "HOLT",
 369  "HOME",  "HONE",  "HONK", "HOOD",  "HOOF",  "HOOK",  "HOOT",  "HORN",
 370  "HOSE",  "HOST",  "HOUR", "HOVE",  "HOWE",  "HOWL",  "HOYT",  "HUCK",
 371  "HUED",  "HUFF",  "HUGE", "HUGH",  "HUGO",  "HULK",  "HULL",  "HUNK",
 372  "HUNT",  "HURD",  "HURL", "HURT",  "HUSH",  "HYDE",  "HYMN",  "IBIS",
 373  "ICON",  "IDEA",  "IDLE", "IFFY",  "INCA",  "INCH",  "INTO",  "IONS",
 374  "IOTA",  "IOWA",  "IRIS", "IRMA",  "IRON",  "ISLE",  "ITCH",  "ITEM",
 375  "IVAN",  "JACK",  "JADE", "JAIL",  "JAKE",  "JANE",  "JAVA",  "JEAN",
 376  "JEFF",  "JERK",  "JESS", "JEST",  "JIBE",  "JILL",  "JILT",  "JIVE",
 377  "JOAN",  "JOBS",  "JOCK", "JOEL",  "JOEY",  "JOHN",  "JOIN",  "JOKE",
 378  "JOLT",  "JOVE",  "JUDD", "JUDE",  "JUDO",  "JUDY",  "JUJU",  "JUKE",
 379  "JULY",  "JUNE",  "JUNK", "JUNO",  "JURY",  "JUST",  "JUTE",  "KAHN",
 380  "KALE",  "KANE",  "KANT", "KARL",  "KATE",  "KEEL",  "KEEN",  "KENO",
 381  "KENT",  "KERN",  "KERR", "KEYS",  "KICK",  "KILL",  "KIND",  "KING",
 382  "KIRK",  "KISS",  "KITE", "KLAN",  "KNEE",  "KNEW",  "KNIT",  "KNOB",
 383  "KNOT",  "KNOW",  "KOCH", "KONG",  "KUDO",  "KURD",  "KURT",  "KYLE",
 384  "LACE",  "LACK",  "LACY", "LADY",  "LAID",  "LAIN",  "LAIR",  "LAKE",
 385  "LAMB",  "LAME",  "LAND", "LANE",  "LANG",  "LARD",  "LARK",  "LASS",
 386  "LAST",  "LATE",  "LAUD", "LAVA",  "LAWN",  "LAWS",  "LAYS",  "LEAD",
 387  "LEAF",  "LEAK",  "LEAN", "LEAR",  "LEEK",  "LEER",  "LEFT",  "LEND",
 388  "LENS",  "LENT",  "LEON", "LESK",  "LESS",  "LEST",  "LETS",  "LIAR",
 389  "LICE",  "LICK",  "LIED", "LIEN",  "LIES",  "LIEU",  "LIFE",  "LIFT",
 390  "LIKE",  "LILA",  "LILT", "LILY",  "LIMA",  "LIMB",  "LIME",  "LIND",
 391  "LINE",  "LINK",  "LINT", "LION",  "LISA",  "LIST",  "LIVE",  "LOAD",
 392  "LOAF",  "LOAM",  "LOAN", "LOCK",  "LOFT",  "LOGE",  "LOIS",  "LOLA",
 393  "LONE",  "LONG",  "LOOK", "LOON",  "LOOT",  "LORD",  "LORE",  "LOSE",
 394  "LOSS",  "LOST",  "LOUD", "LOVE",  "LOWE",  "LUCK",  "LUCY",  "LUGE",
 395  "LUKE",  "LULU",  "LUND", "LUNG",  "LURA",  "LURE",  "LURK",  "LUSH",
 396  "LUST",  "LYLE",  "LYNN", "LYON",  "LYRA",  "MACE",  "MADE",  "MAGI",
 397  "MAID",  "MAIL",  "MAIN", "MAKE",  "MALE",  "MALI",  "MALL",  "MALT",
 398  "MANA",  "MANN",  "MANY", "MARC",  "MARE",  "MARK",  "MARS",  "MART",
 399  "MARY",  "MASH",  "MASK", "MASS",  "MAST",  "MATE",  "MATH",  "MAUL",
 400  "MAYO",  "MEAD",  "MEAL", "MEAN",  "MEAT",  "MEEK",  "MEET",  "MELD",
 401  "MELT",  "MEMO",  "MEND", "MENU",  "MERT",  "MESH",  "MESS",  "MICE",
 402  "MIKE",  "MILD",  "MILE", "MILK",  "MILL",  "MILT",  "MIMI",  "MIND",
 403  "MINE",  "MINI",  "MINK", "MINT",  "MIRE",  "MISS",  "MIST",  "MITE",
 404  "MITT",  "MOAN",  "MOAT", "MOCK",  "MODE",  "MOLD",  "MOLE",  "MOLL",
 405  "MOLT",  "MONA",  "MONK", "MONT",  "MOOD",  "MOON",  "MOOR",  "MOOT",
 406  "MORE",  "MORN",  "MORT", "MOSS",  "MOST",  "MOTH",  "MOVE",  "MUCH",
 407  "MUCK",  "MUDD",  "MUFF", "MULE",  "MULL",  "MURK",  "MUSH",  "MUST",
 408  "MUTE",  "MUTT",  "MYRA", "MYTH",  "NAGY",  "NAIL",  "NAIR",  "NAME",
 409  "NARY",  "NASH",  "NAVE", "NAVY",  "NEAL",  "NEAR",  "NEAT",  "NECK",
 410  "NEED",  "NEIL",  "NELL", "NEON",  "NERO",  "NESS",  "NEST",  "NEWS",
 411  "NEWT",  "NIBS",  "NICE", "NICK",  "NILE",  "NINA",  "NINE",  "NOAH",
 412  "NODE",  "NOEL",  "NOLL", "NONE",  "NOOK",  "NOON",  "NORM",  "NOSE",
 413  "NOTE",  "NOUN",  "NOVA", "NUDE",  "NULL",  "NUMB",  "OATH",  "OBEY",
 414  "OBOE",  "ODIN",  "OHIO", "OILY",  "OINT",  "OKAY",  "OLAF",  "OLDY",
 415  "OLGA",  "OLIN",  "OMAN", "OMEN",  "OMIT",  "ONCE",  "ONES",  "ONLY",
 416  "ONTO",  "ONUS",  "ORAL", "ORGY",  "OSLO",  "OTIS",  "OTTO",  "OUCH",
 417  "OUST",  "OUTS",  "OVAL", "OVEN",  "OVER",  "OWLY",  "OWNS",  "QUAD",
 418  "QUIT",  "QUOD",  "RACE", "RACK",  "RACY",  "RAFT",  "RAGE",  "RAID",
 419  "RAIL",  "RAIN",  "RAKE", "RANK",  "RANT",  "RARE",  "RASH",  "RATE",
 420  "RAVE",  "RAYS",  "READ", "REAL",  "REAM",  "REAR",  "RECK",  "REED",
 421  "REEF",  "REEK",  "REEL", "REID",  "REIN",  "RENA",  "REND",  "RENT",
 422  "REST",  "RICE",  "RICH", "RICK",  "RIDE",  "RIFT",  "RILL",  "RIME",
 423  "RING",  "RINK",  "RISE", "RISK",  "RITE",  "ROAD",  "ROAM",  "ROAR",
 424  "ROBE",  "ROCK",  "RODE", "ROIL",  "ROLL",  "ROME",  "ROOD",  "ROOF",
 425  "ROOK",  "ROOM",  "ROOT", "ROSA",  "ROSE",  "ROSS",  "ROSY",  "ROTH",
 426  "ROUT",  "ROVE",  "ROWE", "ROWS",  "RUBE",  "RUBY",  "RUDE",  "RUDY",
 427  "RUIN",  "RULE",  "RUNG", "RUNS",  "RUNT",  "RUSE",  "RUSH",  "RUSK",
 428  "RUSS",  "RUST",  "RUTH", "SACK",  "SAFE",  "SAGE",  "SAID",  "SAIL",
 429  "SALE",  "SALK",  "SALT", "SAME",  "SAND",  "SANE",  "SANG",  "SANK",
 430  "SARA",  "SAUL",  "SAVE", "SAYS",  "SCAN",  "SCAR",  "SCAT",  "SCOT",
 431  "SEAL",  "SEAM",  "SEAR", "SEAT",  "SEED",  "SEEK",  "SEEM",  "SEEN",
 432  "SEES",  "SELF",  "SELL", "SEND",  "SENT",  "SETS",  "SEWN",  "SHAG",
 433  "SHAM",  "SHAW",  "SHAY", "SHED",  "SHIM",  "SHIN",  "SHOD",  "SHOE",
 434  "SHOT",  "SHOW",  "SHUN", "SHUT",  "SICK",  "SIDE",  "SIFT",  "SIGH",
 435  "SIGN",  "SILK",  "SILL", "SILO",  "SILT",  "SINE",  "SING",  "SINK",
 436  "SIRE",  "SITE",  "SITS", "SITU",  "SKAT",  "SKEW",  "SKID",  "SKIM",
 437  "SKIN",  "SKIT",  "SLAB", "SLAM",  "SLAT",  "SLAY",  "SLED",  "SLEW",
 438  "SLID",  "SLIM",  "SLIT", "SLOB",  "SLOG",  "SLOT",  "SLOW",  "SLUG",
 439  "SLUM",  "SLUR",  "SMOG", "SMUG",  "SNAG",  "SNOB",  "SNOW",  "SNUB",
 440  "SNUG",  "SOAK",  "SOAR", "SOCK",  "SODA",  "SOFA",  "SOFT",  "SOIL",
 441  "SOLD",  "SOME",  "SONG", "SOON",  "SOOT",  "SORE",  "SORT",  "SOUL",
 442  "SOUR",  "SOWN",  "STAB", "STAG",  "STAN",  "STAR",  "STAY",  "STEM",
 443  "STEW",  "STIR",  "STOW", "STUB",  "STUN",  "SUCH",  "SUDS",  "SUIT",
 444  "SULK",  "SUMS",  "SUNG", "SUNK",  "SURE",  "SURF",  "SWAB",  "SWAG",
 445  "SWAM",  "SWAN",  "SWAT", "SWAY",  "SWIM",  "SWUM",  "TACK",  "TACT",
 446  "TAIL",  "TAKE",  "TALE", "TALK",  "TALL",  "TANK",  "TASK",  "TATE",
 447  "TAUT",  "TEAL",  "TEAM", "TEAR",  "TECH",  "TEEM",  "TEEN",  "TEET",
 448  "TELL",  "TEND",  "TENT", "TERM",  "TERN",  "TESS",  "TEST",  "THAN",
 449  "THAT",  "THEE",  "THEM", "THEN",  "THEY",  "THIN",  "THIS",  "THUD",
 450  "THUG",  "TICK",  "TIDE", "TIDY",  "TIED",  "TIER",  "TILE",  "TILL",
 451  "TILT",  "TIME",  "TINA", "TINE",  "TINT",  "TINY",  "TIRE",  "TOAD",
 452  "TOGO",  "TOIL",  "TOLD", "TOLL",  "TONE",  "TONG",  "TONY",  "TOOK",
 453  "TOOL",  "TOOT",  "TORE", "TORN",  "TOTE",  "TOUR",  "TOUT",  "TOWN",
 454  "TRAG",  "TRAM",  "TRAY", "TREE",  "TREK",  "TRIG",  "TRIM",  "TRIO",
 455  "TROD",  "TROT",  "TROY", "TRUE",  "TUBA",  "TUBE",  "TUCK",  "TUFT",
 456  "TUNA",  "TUNE",  "TUNG", "TURF",  "TURN",  "TUSK",  "TWIG",  "TWIN",
 457  "TWIT",  "ULAN",  "UNIT", "URGE",  "USED",  "USER",  "USES",  "UTAH",
 458  "VAIL",  "VAIN",  "VALE", "VARY",  "VASE",  "VAST",  "VEAL",  "VEDA",
 459  "VEIL",  "VEIN",  "VEND", "VENT",  "VERB",  "VERY",  "VETO",  "VICE",
 460  "VIEW",  "VINE",  "VISE", "VOID",  "VOLT",  "VOTE",  "WACK",  "WADE",
 461  "WAGE",  "WAIL",  "WAIT", "WAKE",  "WALE",  "WALK",  "WALL",  "WALT",
 462  "WAND",  "WANE",  "WANG", "WANT",  "WARD",  "WARM",  "WARN",  "WART",
 463  "WASH",  "WAST",  "WATS", "WATT",  "WAVE",  "WAVY",  "WAYS",  "WEAK",
 464  "WEAL",  "WEAN",  "WEAR", "WEED",  "WEEK",  "WEIR",  "WELD",  "WELL",
 465  "WELT",  "WENT",  "WERE", "WERT",  "WEST",  "WHAM",  "WHAT",  "WHEE",
 466  "WHEN",  "WHET",  "WHOA", "WHOM",  "WICK",  "WIFE",  "WILD",  "WILL",
 467  "WIND",  "WINE",  "WING", "WINK",  "WINO",  "WIRE",  "WISE",  "WISH",
 468  "WITH",  "WOLF",  "WONT", "WOOD",  "WOOL",  "WORD",  "WORE",  "WORK",
 469  "WORM",  "WORN",  "WOVE", "WRIT",  "WYNN",  "YALE",  "YANG",  "YANK",
 470  "YARD",  "YARN",  "YAWL", "YAWN",  "YEAH",  "YEAR",  "YELL",  "YOGA",
 471  "YOKE"                         };
 472  
 473  const struct e inv_std_dict[2048] = {
 474  {"A", 0},
 475  {"ABE", 1},
 476  {"ABED", 571},
 477  {"ABEL", 572},
 478  {"ABET", 573},
 479  {"ABLE", 574},
 480  {"ABUT", 575},
 481  {"ACE", 2},
 482  {"ACHE", 576},
 483  {"ACID", 577},
 484  {"ACME", 578},
 485  {"ACRE", 579},
 486  {"ACT", 3},
 487  {"ACTA", 580},
 488  {"ACTS", 581},
 489  {"AD", 4},
 490  {"ADA", 5},
 491  {"ADAM", 582},
 492  {"ADD", 6},
 493  {"ADDS", 583},
 494  {"ADEN", 584},
 495  {"AFAR", 585},
 496  {"AFRO", 586},
 497  {"AGEE", 587},
 498  {"AGO", 7},
 499  {"AHEM", 588},
 500  {"AHOY", 589},
 501  {"AID", 8},
 502  {"AIDA", 590},
 503  {"AIDE", 591},
 504  {"AIDS", 592},
 505  {"AIM", 9},
 506  {"AIR", 10},
 507  {"AIRY", 593},
 508  {"AJAR", 594},
 509  {"AKIN", 595},
 510  {"ALAN", 596},
 511  {"ALEC", 597},
 512  {"ALGA", 598},
 513  {"ALIA", 599},
 514  {"ALL", 11},
 515  {"ALLY", 600},
 516  {"ALMA", 601},
 517  {"ALOE", 602},
 518  {"ALP", 12},
 519  {"ALSO", 603},
 520  {"ALTO", 604},
 521  {"ALUM", 605},
 522  {"ALVA", 606},
 523  {"AM", 13},
 524  {"AMEN", 607},
 525  {"AMES", 608},
 526  {"AMID", 609},
 527  {"AMMO", 610},
 528  {"AMOK", 611},
 529  {"AMOS", 612},
 530  {"AMRA", 613},
 531  {"AMY", 14},
 532  {"AN", 15},
 533  {"ANA", 16},
 534  {"AND", 17},
 535  {"ANDY", 614},
 536  {"ANEW", 615},
 537  {"ANN", 18},
 538  {"ANNA", 616},
 539  {"ANNE", 617},
 540  {"ANT", 19},
 541  {"ANTE", 618},
 542  {"ANTI", 619},
 543  {"ANY", 20},
 544  {"APE", 21},
 545  {"APS", 22},
 546  {"APT", 23},
 547  {"AQUA", 620},
 548  {"ARAB", 621},
 549  {"ARC", 24},
 550  {"ARCH", 622},
 551  {"ARE", 25},
 552  {"AREA", 623},
 553  {"ARGO", 624},
 554  {"ARID", 625},
 555  {"ARK", 26},
 556  {"ARM", 27},
 557  {"ARMY", 626},
 558  {"ART", 28},
 559  {"ARTS", 627},
 560  {"ARTY", 628},
 561  {"AS", 29},
 562  {"ASH", 30},
 563  {"ASIA", 629},
 564  {"ASK", 31},
 565  {"ASKS", 630},
 566  {"AT", 32},
 567  {"ATE", 33},
 568  {"ATOM", 631},
 569  {"AUG", 34},
 570  {"AUK", 35},
 571  {"AUNT", 632},
 572  {"AURA", 633},
 573  {"AUTO", 634},
 574  {"AVE", 36},
 575  {"AVER", 635},
 576  {"AVID", 636},
 577  {"AVIS", 637},
 578  {"AVON", 638},
 579  {"AVOW", 639},
 580  {"AWAY", 640},
 581  {"AWE", 37},
 582  {"AWK", 38},
 583  {"AWL", 39},
 584  {"AWN", 40},
 585  {"AWRY", 641},
 586  {"AX", 41},
 587  {"AYE", 42},
 588  {"BABE", 642},
 589  {"BABY", 643},
 590  {"BACH", 644},
 591  {"BACK", 645},
 592  {"BAD", 43},
 593  {"BADE", 646},
 594  {"BAG", 44},
 595  {"BAH", 45},
 596  {"BAIL", 647},
 597  {"BAIT", 648},
 598  {"BAKE", 649},
 599  {"BALD", 650},
 600  {"BALE", 651},
 601  {"BALI", 652},
 602  {"BALK", 653},
 603  {"BALL", 654},
 604  {"BALM", 655},
 605  {"BAM", 46},
 606  {"BAN", 47},
 607  {"BAND", 656},
 608  {"BANE", 657},
 609  {"BANG", 658},
 610  {"BANK", 659},
 611  {"BAR", 48},
 612  {"BARB", 660},
 613  {"BARD", 661},
 614  {"BARE", 662},
 615  {"BARK", 663},
 616  {"BARN", 664},
 617  {"BARR", 665},
 618  {"BASE", 666},
 619  {"BASH", 667},
 620  {"BASK", 668},
 621  {"BASS", 669},
 622  {"BAT", 49},
 623  {"BATE", 670},
 624  {"BATH", 671},
 625  {"BAWD", 672},
 626  {"BAWL", 673},
 627  {"BAY", 50},
 628  {"BE", 51},
 629  {"BEAD", 674},
 630  {"BEAK", 675},
 631  {"BEAM", 676},
 632  {"BEAN", 677},
 633  {"BEAR", 678},
 634  {"BEAT", 679},
 635  {"BEAU", 680},
 636  {"BECK", 681},
 637  {"BED", 52},
 638  {"BEE", 53},
 639  {"BEEF", 682},
 640  {"BEEN", 683},
 641  {"BEER", 684},
 642  {"BEET", 685},
 643  {"BEG", 54},
 644  {"BELA", 686},
 645  {"BELL", 687},
 646  {"BELT", 688},
 647  {"BEN", 55},
 648  {"BEND", 689},
 649  {"BENT", 690},
 650  {"BERG", 691},
 651  {"BERN", 692},
 652  {"BERT", 693},
 653  {"BESS", 694},
 654  {"BEST", 695},
 655  {"BET", 56},
 656  {"BETA", 696},
 657  {"BETH", 697},
 658  {"BEY", 57},
 659  {"BHOY", 698},
 660  {"BIAS", 699},
 661  {"BIB", 58},
 662  {"BID", 59},
 663  {"BIDE", 700},
 664  {"BIEN", 701},
 665  {"BIG", 60},
 666  {"BILE", 702},
 667  {"BILK", 703},
 668  {"BILL", 704},
 669  {"BIN", 61},
 670  {"BIND", 705},
 671  {"BING", 706},
 672  {"BIRD", 707},
 673  {"BIT", 62},
 674  {"BITE", 708},
 675  {"BITS", 709},
 676  {"BLAB", 710},
 677  {"BLAT", 711},
 678  {"BLED", 712},
 679  {"BLEW", 713},
 680  {"BLOB", 714},
 681  {"BLOC", 715},
 682  {"BLOT", 716},
 683  {"BLOW", 717},
 684  {"BLUE", 718},
 685  {"BLUM", 719},
 686  {"BLUR", 720},
 687  {"BOAR", 721},
 688  {"BOAT", 722},
 689  {"BOB", 63},
 690  {"BOCA", 723},
 691  {"BOCK", 724},
 692  {"BODE", 725},
 693  {"BODY", 726},
 694  {"BOG", 64},
 695  {"BOGY", 727},
 696  {"BOHR", 728},
 697  {"BOIL", 729},
 698  {"BOLD", 730},
 699  {"BOLO", 731},
 700  {"BOLT", 732},
 701  {"BOMB", 733},
 702  {"BON", 65},
 703  {"BONA", 734},
 704  {"BOND", 735},
 705  {"BONE", 736},
 706  {"BONG", 737},
 707  {"BONN", 738},
 708  {"BONY", 739},
 709  {"BOO", 66},
 710  {"BOOK", 740},
 711  {"BOOM", 741},
 712  {"BOON", 742},
 713  {"BOOT", 743},
 714  {"BOP", 67},
 715  {"BORE", 744},
 716  {"BORG", 745},
 717  {"BORN", 746},
 718  {"BOSE", 747},
 719  {"BOSS", 748},
 720  {"BOTH", 749},
 721  {"BOUT", 750},
 722  {"BOW", 68},
 723  {"BOWL", 751},
 724  {"BOY", 69},
 725  {"BOYD", 752},
 726  {"BRAD", 753},
 727  {"BRAE", 754},
 728  {"BRAG", 755},
 729  {"BRAN", 756},
 730  {"BRAY", 757},
 731  {"BRED", 758},
 732  {"BREW", 759},
 733  {"BRIG", 760},
 734  {"BRIM", 761},
 735  {"BROW", 762},
 736  {"BUB", 70},
 737  {"BUCK", 763},
 738  {"BUD", 71},
 739  {"BUDD", 764},
 740  {"BUFF", 765},
 741  {"BUG", 72},
 742  {"BULB", 766},
 743  {"BULK", 767},
 744  {"BULL", 768},
 745  {"BUM", 73},
 746  {"BUN", 74},
 747  {"BUNK", 769},
 748  {"BUNT", 770},
 749  {"BUOY", 771},
 750  {"BURG", 772},
 751  {"BURL", 773},
 752  {"BURN", 774},
 753  {"BURR", 775},
 754  {"BURT", 776},
 755  {"BURY", 777},
 756  {"BUS", 75},
 757  {"BUSH", 778},
 758  {"BUSS", 779},
 759  {"BUST", 780},
 760  {"BUSY", 781},
 761  {"BUT", 76},
 762  {"BUY", 77},
 763  {"BY", 78},
 764  {"BYE", 79},
 765  {"BYTE", 782},
 766  {"CAB", 80},
 767  {"CADY", 783},
 768  {"CAFE", 784},
 769  {"CAGE", 785},
 770  {"CAIN", 786},
 771  {"CAKE", 787},
 772  {"CAL", 81},
 773  {"CALF", 788},
 774  {"CALL", 789},
 775  {"CALM", 790},
 776  {"CAM", 82},
 777  {"CAME", 791},
 778  {"CAN", 83},
 779  {"CANE", 792},
 780  {"CANT", 793},
 781  {"CAP", 84},
 782  {"CAR", 85},
 783  {"CARD", 794},
 784  {"CARE", 795},
 785  {"CARL", 796},
 786  {"CARR", 797},
 787  {"CART", 798},
 788  {"CASE", 799},
 789  {"CASH", 800},
 790  {"CASK", 801},
 791  {"CAST", 802},
 792  {"CAT", 86},
 793  {"CAVE", 803},
 794  {"CAW", 87},
 795  {"CEIL", 804},
 796  {"CELL", 805},
 797  {"CENT", 806},
 798  {"CERN", 807},
 799  {"CHAD", 808},
 800  {"CHAR", 809},
 801  {"CHAT", 810},
 802  {"CHAW", 811},
 803  {"CHEF", 812},
 804  {"CHEN", 813},
 805  {"CHEW", 814},
 806  {"CHIC", 815},
 807  {"CHIN", 816},
 808  {"CHOU", 817},
 809  {"CHOW", 818},
 810  {"CHUB", 819},
 811  {"CHUG", 820},
 812  {"CHUM", 821},
 813  {"CITE", 822},
 814  {"CITY", 823},
 815  {"CLAD", 824},
 816  {"CLAM", 825},
 817  {"CLAN", 826},
 818  {"CLAW", 827},
 819  {"CLAY", 828},
 820  {"CLOD", 829},
 821  {"CLOG", 830},
 822  {"CLOT", 831},
 823  {"CLUB", 832},
 824  {"CLUE", 833},
 825  {"COAL", 834},
 826  {"COAT", 835},
 827  {"COCA", 836},
 828  {"COCK", 837},
 829  {"COCO", 838},
 830  {"COD", 88},
 831  {"CODA", 839},
 832  {"CODE", 840},
 833  {"CODY", 841},
 834  {"COED", 842},
 835  {"COG", 89},
 836  {"COIL", 843},
 837  {"COIN", 844},
 838  {"COKE", 845},
 839  {"COL", 90},
 840  {"COLA", 846},
 841  {"COLD", 847},
 842  {"COLT", 848},
 843  {"COMA", 849},
 844  {"COMB", 850},
 845  {"COME", 851},
 846  {"CON", 91},
 847  {"COO", 92},
 848  {"COOK", 852},
 849  {"COOL", 853},
 850  {"COON", 854},
 851  {"COOT", 855},
 852  {"COP", 93},
 853  {"CORD", 856},
 854  {"CORE", 857},
 855  {"CORK", 858},
 856  {"CORN", 859},
 857  {"COST", 860},
 858  {"COT", 94},
 859  {"COVE", 861},
 860  {"COW", 95},
 861  {"COWL", 862},
 862  {"COY", 96},
 863  {"CRAB", 863},
 864  {"CRAG", 864},
 865  {"CRAM", 865},
 866  {"CRAY", 866},
 867  {"CREW", 867},
 868  {"CRIB", 868},
 869  {"CROW", 869},
 870  {"CRUD", 870},
 871  {"CRY", 97},
 872  {"CUB", 98},
 873  {"CUBA", 871},
 874  {"CUBE", 872},
 875  {"CUE", 99},
 876  {"CUFF", 873},
 877  {"CULL", 874},
 878  {"CULT", 875},
 879  {"CUNY", 876},
 880  {"CUP", 100},
 881  {"CUR", 101},
 882  {"CURB", 877},
 883  {"CURD", 878},
 884  {"CURE", 879},
 885  {"CURL", 880},
 886  {"CURT", 881},
 887  {"CUT", 102},
 888  {"CUTS", 882},
 889  {"DAB", 103},
 890  {"DAD", 104},
 891  {"DADE", 883},
 892  {"DALE", 884},
 893  {"DAM", 105},
 894  {"DAME", 885},
 895  {"DAN", 106},
 896  {"DANA", 886},
 897  {"DANE", 887},
 898  {"DANG", 888},
 899  {"DANK", 889},
 900  {"DAR", 107},
 901  {"DARE", 890},
 902  {"DARK", 891},
 903  {"DARN", 892},
 904  {"DART", 893},
 905  {"DASH", 894},
 906  {"DATA", 895},
 907  {"DATE", 896},
 908  {"DAVE", 897},
 909  {"DAVY", 898},
 910  {"DAWN", 899},
 911  {"DAY", 108},
 912  {"DAYS", 900},
 913  {"DEAD", 901},
 914  {"DEAF", 902},
 915  {"DEAL", 903},
 916  {"DEAN", 904},
 917  {"DEAR", 905},
 918  {"DEBT", 906},
 919  {"DECK", 907},
 920  {"DEE", 109},
 921  {"DEED", 908},
 922  {"DEEM", 909},
 923  {"DEER", 910},
 924  {"DEFT", 911},
 925  {"DEFY", 912},
 926  {"DEL", 110},
 927  {"DELL", 913},
 928  {"DEN", 111},
 929  {"DENT", 914},
 930  {"DENY", 915},
 931  {"DES", 112},
 932  {"DESK", 916},
 933  {"DEW", 113},
 934  {"DIAL", 917},
 935  {"DICE", 918},
 936  {"DID", 114},
 937  {"DIE", 115},
 938  {"DIED", 919},
 939  {"DIET", 920},
 940  {"DIG", 116},
 941  {"DIME", 921},
 942  {"DIN", 117},
 943  {"DINE", 922},
 944  {"DING", 923},
 945  {"DINT", 924},
 946  {"DIP", 118},
 947  {"DIRE", 925},
 948  {"DIRT", 926},
 949  {"DISC", 927},
 950  {"DISH", 928},
 951  {"DISK", 929},
 952  {"DIVE", 930},
 953  {"DO", 119},
 954  {"DOCK", 931},
 955  {"DOE", 120},
 956  {"DOES", 932},
 957  {"DOG", 121},
 958  {"DOLE", 933},
 959  {"DOLL", 934},
 960  {"DOLT", 935},
 961  {"DOME", 936},
 962  {"DON", 122},
 963  {"DONE", 937},
 964  {"DOOM", 938},
 965  {"DOOR", 939},
 966  {"DORA", 940},
 967  {"DOSE", 941},
 968  {"DOT", 123},
 969  {"DOTE", 942},
 970  {"DOUG", 943},
 971  {"DOUR", 944},
 972  {"DOVE", 945},
 973  {"DOW", 124},
 974  {"DOWN", 946},
 975  {"DRAB", 947},
 976  {"DRAG", 948},
 977  {"DRAM", 949},
 978  {"DRAW", 950},
 979  {"DREW", 951},
 980  {"DRUB", 952},
 981  {"DRUG", 953},
 982  {"DRUM", 954},
 983  {"DRY", 125},
 984  {"DUAL", 955},
 985  {"DUB", 126},
 986  {"DUCK", 956},
 987  {"DUCT", 957},
 988  {"DUD", 127},
 989  {"DUE", 128},
 990  {"DUEL", 958},
 991  {"DUET", 959},
 992  {"DUG", 129},
 993  {"DUKE", 960},
 994  {"DULL", 961},
 995  {"DUMB", 962},
 996  {"DUN", 130},
 997  {"DUNE", 963},
 998  {"DUNK", 964},
 999  {"DUSK", 965},
1000  {"DUST", 966},
1001  {"DUTY", 967},
1002  {"EACH", 968},
1003  {"EAR", 131},
1004  {"EARL", 969},
1005  {"EARN", 970},
1006  {"EASE", 971},
1007  {"EAST", 972},
1008  {"EASY", 973},
1009  {"EAT", 132},
1010  {"EBEN", 974},
1011  {"ECHO", 975},
1012  {"ED", 133},
1013  {"EDDY", 976},
1014  {"EDEN", 977},
1015  {"EDGE", 978},
1016  {"EDGY", 979},
1017  {"EDIT", 980},
1018  {"EDNA", 981},
1019  {"EEL", 134},
1020  {"EGAN", 982},
1021  {"EGG", 135},
1022  {"EGO", 136},
1023  {"ELAN", 983},
1024  {"ELBA", 984},
1025  {"ELI", 137},
1026  {"ELK", 138},
1027  {"ELLA", 985},
1028  {"ELM", 139},
1029  {"ELSE", 986},
1030  {"ELY", 140},
1031  {"EM", 141},
1032  {"EMIL", 987},
1033  {"EMIT", 988},
1034  {"EMMA", 989},
1035  {"END", 142},
1036  {"ENDS", 990},
1037  {"ERIC", 991},
1038  {"EROS", 992},
1039  {"EST", 143},
1040  {"ETC", 144},
1041  {"EVA", 145},
1042  {"EVE", 146},
1043  {"EVEN", 993},
1044  {"EVER", 994},
1045  {"EVIL", 995},
1046  {"EWE", 147},
1047  {"EYE", 148},
1048  {"EYED", 996},
1049  {"FACE", 997},
1050  {"FACT", 998},
1051  {"FAD", 149},
1052  {"FADE", 999},
1053  {"FAIL", 1000},
1054  {"FAIN", 1001},
1055  {"FAIR", 1002},
1056  {"FAKE", 1003},
1057  {"FALL", 1004},
1058  {"FAME", 1005},
1059  {"FAN", 150},
1060  {"FANG", 1006},
1061  {"FAR", 151},
1062  {"FARM", 1007},
1063  {"FAST", 1008},
1064  {"FAT", 152},
1065  {"FATE", 1009},
1066  {"FAWN", 1010},
1067  {"FAY", 153},
1068  {"FEAR", 1011},
1069  {"FEAT", 1012},
1070  {"FED", 154},
1071  {"FEE", 155},
1072  {"FEED", 1013},
1073  {"FEEL", 1014},
1074  {"FEET", 1015},
1075  {"FELL", 1016},
1076  {"FELT", 1017},
1077  {"FEND", 1018},
1078  {"FERN", 1019},
1079  {"FEST", 1020},
1080  {"FEUD", 1021},
1081  {"FEW", 156},
1082  {"FIB", 157},
1083  {"FIEF", 1022},
1084  {"FIG", 158},
1085  {"FIGS", 1023},
1086  {"FILE", 1024},
1087  {"FILL", 1025},
1088  {"FILM", 1026},
1089  {"FIN", 159},
1090  {"FIND", 1027},
1091  {"FINE", 1028},
1092  {"FINK", 1029},
1093  {"FIR", 160},
1094  {"FIRE", 1030},
1095  {"FIRM", 1031},
1096  {"FISH", 1032},
1097  {"FISK", 1033},
1098  {"FIST", 1034},
1099  {"FIT", 161},
1100  {"FITS", 1035},
1101  {"FIVE", 1036},
1102  {"FLAG", 1037},
1103  {"FLAK", 1038},
1104  {"FLAM", 1039},
1105  {"FLAT", 1040},
1106  {"FLAW", 1041},
1107  {"FLEA", 1042},
1108  {"FLED", 1043},
1109  {"FLEW", 1044},
1110  {"FLIT", 1045},
1111  {"FLO", 162},
1112  {"FLOC", 1046},
1113  {"FLOG", 1047},
1114  {"FLOW", 1048},
1115  {"FLUB", 1049},
1116  {"FLUE", 1050},
1117  {"FLY", 163},
1118  {"FOAL", 1051},
1119  {"FOAM", 1052},
1120  {"FOE", 164},
1121  {"FOG", 165},
1122  {"FOGY", 1053},
1123  {"FOIL", 1054},
1124  {"FOLD", 1055},
1125  {"FOLK", 1056},
1126  {"FOND", 1057},
1127  {"FONT", 1058},
1128  {"FOOD", 1059},
1129  {"FOOL", 1060},
1130  {"FOOT", 1061},
1131  {"FOR", 166},
1132  {"FORD", 1062},
1133  {"FORE", 1063},
1134  {"FORK", 1064},
1135  {"FORM", 1065},
1136  {"FORT", 1066},
1137  {"FOSS", 1067},
1138  {"FOUL", 1068},
1139  {"FOUR", 1069},
1140  {"FOWL", 1070},
1141  {"FRAU", 1071},
1142  {"FRAY", 1072},
1143  {"FRED", 1073},
1144  {"FREE", 1074},
1145  {"FRET", 1075},
1146  {"FREY", 1076},
1147  {"FROG", 1077},
1148  {"FROM", 1078},
1149  {"FRY", 167},
1150  {"FUEL", 1079},
1151  {"FULL", 1080},
1152  {"FUM", 168},
1153  {"FUME", 1081},
1154  {"FUN", 169},
1155  {"FUND", 1082},
1156  {"FUNK", 1083},
1157  {"FUR", 170},
1158  {"FURY", 1084},
1159  {"FUSE", 1085},
1160  {"FUSS", 1086},
1161  {"GAB", 171},
1162  {"GAD", 172},
1163  {"GAFF", 1087},
1164  {"GAG", 173},
1165  {"GAGE", 1088},
1166  {"GAIL", 1089},
1167  {"GAIN", 1090},
1168  {"GAIT", 1091},
1169  {"GAL", 174},
1170  {"GALA", 1092},
1171  {"GALE", 1093},
1172  {"GALL", 1094},
1173  {"GALT", 1095},
1174  {"GAM", 175},
1175  {"GAME", 1096},
1176  {"GANG", 1097},
1177  {"GAP", 176},
1178  {"GARB", 1098},
1179  {"GARY", 1099},
1180  {"GAS", 177},
1181  {"GASH", 1100},
1182  {"GATE", 1101},
1183  {"GAUL", 1102},
1184  {"GAUR", 1103},
1185  {"GAVE", 1104},
1186  {"GAWK", 1105},
1187  {"GAY", 178},
1188  {"GEAR", 1106},
1189  {"GEE", 179},
1190  {"GEL", 180},
1191  {"GELD", 1107},
1192  {"GEM", 181},
1193  {"GENE", 1108},
1194  {"GENT", 1109},
1195  {"GERM", 1110},
1196  {"GET", 182},
1197  {"GETS", 1111},
1198  {"GIBE", 1112},
1199  {"GIFT", 1113},
1200  {"GIG", 183},
1201  {"GIL", 184},
1202  {"GILD", 1114},
1203  {"GILL", 1115},
1204  {"GILT", 1116},
1205  {"GIN", 185},
1206  {"GINA", 1117},
1207  {"GIRD", 1118},
1208  {"GIRL", 1119},
1209  {"GIST", 1120},
1210  {"GIVE", 1121},
1211  {"GLAD", 1122},
1212  {"GLEE", 1123},
1213  {"GLEN", 1124},
1214  {"GLIB", 1125},
1215  {"GLOB", 1126},
1216  {"GLOM", 1127},
1217  {"GLOW", 1128},
1218  {"GLUE", 1129},
1219  {"GLUM", 1130},
1220  {"GLUT", 1131},
1221  {"GO", 186},
1222  {"GOAD", 1132},
1223  {"GOAL", 1133},
1224  {"GOAT", 1134},
1225  {"GOER", 1135},
1226  {"GOES", 1136},
1227  {"GOLD", 1137},
1228  {"GOLF", 1138},
1229  {"GONE", 1139},
1230  {"GONG", 1140},
1231  {"GOOD", 1141},
1232  {"GOOF", 1142},
1233  {"GORE", 1143},
1234  {"GORY", 1144},
1235  {"GOSH", 1145},
1236  {"GOT", 187},
1237  {"GOUT", 1146},
1238  {"GOWN", 1147},
1239  {"GRAB", 1148},
1240  {"GRAD", 1149},
1241  {"GRAY", 1150},
1242  {"GREG", 1151},
1243  {"GREW", 1152},
1244  {"GREY", 1153},
1245  {"GRID", 1154},
1246  {"GRIM", 1155},
1247  {"GRIN", 1156},
1248  {"GRIT", 1157},
1249  {"GROW", 1158},
1250  {"GRUB", 1159},
1251  {"GULF", 1160},
1252  {"GULL", 1161},
1253  {"GUM", 188},
1254  {"GUN", 189},
1255  {"GUNK", 1162},
1256  {"GURU", 1163},
1257  {"GUS", 190},
1258  {"GUSH", 1164},
1259  {"GUST", 1165},
1260  {"GUT", 191},
1261  {"GUY", 192},
1262  {"GWEN", 1166},
1263  {"GWYN", 1167},
1264  {"GYM", 193},
1265  {"GYP", 194},
1266  {"HA", 195},
1267  {"HAAG", 1168},
1268  {"HAAS", 1169},
1269  {"HACK", 1170},
1270  {"HAD", 196},
1271  {"HAIL", 1171},
1272  {"HAIR", 1172},
1273  {"HAL", 197},
1274  {"HALE", 1173},
1275  {"HALF", 1174},
1276  {"HALL", 1175},
1277  {"HALO", 1176},
1278  {"HALT", 1177},
1279  {"HAM", 198},
1280  {"HAN", 199},
1281  {"HAND", 1178},
1282  {"HANG", 1179},
1283  {"HANK", 1180},
1284  {"HANS", 1181},
1285  {"HAP", 200},
1286  {"HARD", 1182},
1287  {"HARK", 1183},
1288  {"HARM", 1184},
1289  {"HART", 1185},
1290  {"HAS", 201},
1291  {"HASH", 1186},
1292  {"HAST", 1187},
1293  {"HAT", 202},
1294  {"HATE", 1188},
1295  {"HATH", 1189},
1296  {"HAUL", 1190},
1297  {"HAVE", 1191},
1298  {"HAW", 203},
1299  {"HAWK", 1192},
1300  {"HAY", 204},
1301  {"HAYS", 1193},
1302  {"HE", 205},
1303  {"HEAD", 1194},
1304  {"HEAL", 1195},
1305  {"HEAR", 1196},
1306  {"HEAT", 1197},
1307  {"HEBE", 1198},
1308  {"HECK", 1199},
1309  {"HEED", 1200},
1310  {"HEEL", 1201},
1311  {"HEFT", 1202},
1312  {"HELD", 1203},
1313  {"HELL", 1204},
1314  {"HELM", 1205},
1315  {"HEM", 206},
1316  {"HEN", 207},
1317  {"HER", 208},
1318  {"HERB", 1206},
1319  {"HERD", 1207},
1320  {"HERE", 1208},
1321  {"HERO", 1209},
1322  {"HERS", 1210},
1323  {"HESS", 1211},
1324  {"HEW", 209},
1325  {"HEWN", 1212},
1326  {"HEY", 210},
1327  {"HI", 211},
1328  {"HICK", 1213},
1329  {"HID", 212},
1330  {"HIDE", 1214},
1331  {"HIGH", 1215},
1332  {"HIKE", 1216},
1333  {"HILL", 1217},
1334  {"HILT", 1218},
1335  {"HIM", 213},
1336  {"HIND", 1219},
1337  {"HINT", 1220},
1338  {"HIP", 214},
1339  {"HIRE", 1221},
1340  {"HIS", 215},
1341  {"HISS", 1222},
1342  {"HIT", 216},
1343  {"HIVE", 1223},
1344  {"HO", 217},
1345  {"HOB", 218},
1346  {"HOBO", 1224},
1347  {"HOC", 219},
1348  {"HOCK", 1225},
1349  {"HOE", 220},
1350  {"HOFF", 1226},
1351  {"HOG", 221},
1352  {"HOLD", 1227},
1353  {"HOLE", 1228},
1354  {"HOLM", 1229},
1355  {"HOLT", 1230},
1356  {"HOME", 1231},
1357  {"HONE", 1232},
1358  {"HONK", 1233},
1359  {"HOOD", 1234},
1360  {"HOOF", 1235},
1361  {"HOOK", 1236},
1362  {"HOOT", 1237},
1363  {"HOP", 222},
1364  {"HORN", 1238},
1365  {"HOSE", 1239},
1366  {"HOST", 1240},
1367  {"HOT", 223},
1368  {"HOUR", 1241},
1369  {"HOVE", 1242},
1370  {"HOW", 224},
1371  {"HOWE", 1243},
1372  {"HOWL", 1244},
1373  {"HOYT", 1245},
1374  {"HUB", 225},
1375  {"HUCK", 1246},
1376  {"HUE", 226},
1377  {"HUED", 1247},
1378  {"HUFF", 1248},
1379  {"HUG", 227},
1380  {"HUGE", 1249},
1381  {"HUGH", 1250},
1382  {"HUGO", 1251},
1383  {"HUH", 228},
1384  {"HULK", 1252},
1385  {"HULL", 1253},
1386  {"HUM", 229},
1387  {"HUNK", 1254},
1388  {"HUNT", 1255},
1389  {"HURD", 1256},
1390  {"HURL", 1257},
1391  {"HURT", 1258},
1392  {"HUSH", 1259},
1393  {"HUT", 230},
1394  {"HYDE", 1260},
1395  {"HYMN", 1261},
1396  {"I", 231},
1397  {"IBIS", 1262},
1398  {"ICON", 1263},
1399  {"ICY", 232},
1400  {"IDA", 233},
1401  {"IDEA", 1264},
1402  {"IDLE", 1265},
1403  {"IF", 234},
1404  {"IFFY", 1266},
1405  {"IKE", 235},
1406  {"ILL", 236},
1407  {"INCA", 1267},
1408  {"INCH", 1268},
1409  {"INK", 237},
1410  {"INN", 238},
1411  {"INTO", 1269},
1412  {"IO", 239},
1413  {"ION", 240},
1414  {"IONS", 1270},
1415  {"IOTA", 1271},
1416  {"IOWA", 1272},
1417  {"IQ", 241},
1418  {"IRA", 242},
1419  {"IRE", 243},
1420  {"IRIS", 1273},
1421  {"IRK", 244},
1422  {"IRMA", 1274},
1423  {"IRON", 1275},
1424  {"IS", 245},
1425  {"ISLE", 1276},
1426  {"IT", 246},
1427  {"ITCH", 1277},
1428  {"ITEM", 1278},
1429  {"ITS", 247},
1430  {"IVAN", 1279},
1431  {"IVY", 248},
1432  {"JAB", 249},
1433  {"JACK", 1280},
1434  {"JADE", 1281},
1435  {"JAG", 250},
1436  {"JAIL", 1282},
1437  {"JAKE", 1283},
1438  {"JAM", 251},
1439  {"JAN", 252},
1440  {"JANE", 1284},
1441  {"JAR", 253},
1442  {"JAVA", 1285},
1443  {"JAW", 254},
1444  {"JAY", 255},
1445  {"JEAN", 1286},
1446  {"JEFF", 1287},
1447  {"JERK", 1288},
1448  {"JESS", 1289},
1449  {"JEST", 1290},
1450  {"JET", 256},
1451  {"JIBE", 1291},
1452  {"JIG", 257},
1453  {"JILL", 1292},
1454  {"JILT", 1293},
1455  {"JIM", 258},
1456  {"JIVE", 1294},
1457  {"JO", 259},
1458  {"JOAN", 1295},
1459  {"JOB", 260},
1460  {"JOBS", 1296},
1461  {"JOCK", 1297},
1462  {"JOE", 261},
1463  {"JOEL", 1298},
1464  {"JOEY", 1299},
1465  {"JOG", 262},
1466  {"JOHN", 1300},
1467  {"JOIN", 1301},
1468  {"JOKE", 1302},
1469  {"JOLT", 1303},
1470  {"JOT", 263},
1471  {"JOVE", 1304},
1472  {"JOY", 264},
1473  {"JUDD", 1305},
1474  {"JUDE", 1306},
1475  {"JUDO", 1307},
1476  {"JUDY", 1308},
1477  {"JUG", 265},
1478  {"JUJU", 1309},
1479  {"JUKE", 1310},
1480  {"JULY", 1311},
1481  {"JUNE", 1312},
1482  {"JUNK", 1313},
1483  {"JUNO", 1314},
1484  {"JURY", 1315},
1485  {"JUST", 1316},
1486  {"JUT", 266},
1487  {"JUTE", 1317},
1488  {"KAHN", 1318},
1489  {"KALE", 1319},
1490  {"KANE", 1320},
1491  {"KANT", 1321},
1492  {"KARL", 1322},
1493  {"KATE", 1323},
1494  {"KAY", 267},
1495  {"KEEL", 1324},
1496  {"KEEN", 1325},
1497  {"KEG", 268},
1498  {"KEN", 269},
1499  {"KENO", 1326},
1500  {"KENT", 1327},
1501  {"KERN", 1328},
1502  {"KERR", 1329},
1503  {"KEY", 270},
1504  {"KEYS", 1330},
1505  {"KICK", 1331},
1506  {"KID", 271},
1507  {"KILL", 1332},
1508  {"KIM", 272},
1509  {"KIN", 273},
1510  {"KIND", 1333},
1511  {"KING", 1334},
1512  {"KIRK", 1335},
1513  {"KISS", 1336},
1514  {"KIT", 274},
1515  {"KITE", 1337},
1516  {"KLAN", 1338},
1517  {"KNEE", 1339},
1518  {"KNEW", 1340},
1519  {"KNIT", 1341},
1520  {"KNOB", 1342},
1521  {"KNOT", 1343},
1522  {"KNOW", 1344},
1523  {"KOCH", 1345},
1524  {"KONG", 1346},
1525  {"KUDO", 1347},
1526  {"KURD", 1348},
1527  {"KURT", 1349},
1528  {"KYLE", 1350},
1529  {"LA", 275},
1530  {"LAB", 276},
1531  {"LAC", 277},
1532  {"LACE", 1351},
1533  {"LACK", 1352},
1534  {"LACY", 1353},
1535  {"LAD", 278},
1536  {"LADY", 1354},
1537  {"LAG", 279},
1538  {"LAID", 1355},
1539  {"LAIN", 1356},
1540  {"LAIR", 1357},
1541  {"LAKE", 1358},
1542  {"LAM", 280},
1543  {"LAMB", 1359},
1544  {"LAME", 1360},
1545  {"LAND", 1361},
1546  {"LANE", 1362},
1547  {"LANG", 1363},
1548  {"LAP", 281},
1549  {"LARD", 1364},
1550  {"LARK", 1365},
1551  {"LASS", 1366},
1552  {"LAST", 1367},
1553  {"LATE", 1368},
1554  {"LAUD", 1369},
1555  {"LAVA", 1370},
1556  {"LAW", 282},
1557  {"LAWN", 1371},
1558  {"LAWS", 1372},
1559  {"LAY", 283},
1560  {"LAYS", 1373},
1561  {"LEA", 284},
1562  {"LEAD", 1374},
1563  {"LEAF", 1375},
1564  {"LEAK", 1376},
1565  {"LEAN", 1377},
1566  {"LEAR", 1378},
1567  {"LED", 285},
1568  {"LEE", 286},
1569  {"LEEK", 1379},
1570  {"LEER", 1380},
1571  {"LEFT", 1381},
1572  {"LEG", 287},
1573  {"LEN", 288},
1574  {"LEND", 1382},
1575  {"LENS", 1383},
1576  {"LENT", 1384},
1577  {"LEO", 289},
1578  {"LEON", 1385},
1579  {"LESK", 1386},
1580  {"LESS", 1387},
1581  {"LEST", 1388},
1582  {"LET", 290},
1583  {"LETS", 1389},
1584  {"LEW", 291},
1585  {"LIAR", 1390},
1586  {"LICE", 1391},
1587  {"LICK", 1392},
1588  {"LID", 292},
1589  {"LIE", 293},
1590  {"LIED", 1393},
1591  {"LIEN", 1394},
1592  {"LIES", 1395},
1593  {"LIEU", 1396},
1594  {"LIFE", 1397},
1595  {"LIFT", 1398},
1596  {"LIKE", 1399},
1597  {"LILA", 1400},
1598  {"LILT", 1401},
1599  {"LILY", 1402},
1600  {"LIMA", 1403},
1601  {"LIMB", 1404},
1602  {"LIME", 1405},
1603  {"LIN", 294},
1604  {"LIND", 1406},
1605  {"LINE", 1407},
1606  {"LINK", 1408},
1607  {"LINT", 1409},
1608  {"LION", 1410},
1609  {"LIP", 295},
1610  {"LISA", 1411},
1611  {"LIST", 1412},
1612  {"LIT", 296},
1613  {"LIVE", 1413},
1614  {"LO", 297},
1615  {"LOAD", 1414},
1616  {"LOAF", 1415},
1617  {"LOAM", 1416},
1618  {"LOAN", 1417},
1619  {"LOB", 298},
1620  {"LOCK", 1418},
1621  {"LOFT", 1419},
1622  {"LOG", 299},
1623  {"LOGE", 1420},
1624  {"LOIS", 1421},
1625  {"LOLA", 1422},
1626  {"LONE", 1423},
1627  {"LONG", 1424},
1628  {"LOOK", 1425},
1629  {"LOON", 1426},
1630  {"LOOT", 1427},
1631  {"LOP", 300},
1632  {"LORD", 1428},
1633  {"LORE", 1429},
1634  {"LOS", 301},
1635  {"LOSE", 1430},
1636  {"LOSS", 1431},
1637  {"LOST", 1432},
1638  {"LOT", 302},
1639  {"LOU", 303},
1640  {"LOUD", 1433},
1641  {"LOVE", 1434},
1642  {"LOW", 304},
1643  {"LOWE", 1435},
1644  {"LOY", 305},
1645  {"LUCK", 1436},
1646  {"LUCY", 1437},
1647  {"LUG", 306},
1648  {"LUGE", 1438},
1649  {"LUKE", 1439},
1650  {"LULU", 1440},
1651  {"LUND", 1441},
1652  {"LUNG", 1442},
1653  {"LURA", 1443},
1654  {"LURE", 1444},
1655  {"LURK", 1445},
1656  {"LUSH", 1446},
1657  {"LUST", 1447},
1658  {"LYE", 307},
1659  {"LYLE", 1448},
1660  {"LYNN", 1449},
1661  {"LYON", 1450},
1662  {"LYRA", 1451},
1663  {"MA", 308},
1664  {"MAC", 309},
1665  {"MACE", 1452},
1666  {"MAD", 310},
1667  {"MADE", 1453},
1668  {"MAE", 311},
1669  {"MAGI", 1454},
1670  {"MAID", 1455},
1671  {"MAIL", 1456},
1672  {"MAIN", 1457},
1673  {"MAKE", 1458},
1674  {"MALE", 1459},
1675  {"MALI", 1460},
1676  {"MALL", 1461},
1677  {"MALT", 1462},
1678  {"MAN", 312},
1679  {"MANA", 1463},
1680  {"MANN", 1464},
1681  {"MANY", 1465},
1682  {"MAO", 313},
1683  {"MAP", 314},
1684  {"MARC", 1466},
1685  {"MARE", 1467},
1686  {"MARK", 1468},
1687  {"MARS", 1469},
1688  {"MART", 1470},
1689  {"MARY", 1471},
1690  {"MASH", 1472},
1691  {"MASK", 1473},
1692  {"MASS", 1474},
1693  {"MAST", 1475},
1694  {"MAT", 315},
1695  {"MATE", 1476},
1696  {"MATH", 1477},
1697  {"MAUL", 1478},
1698  {"MAW", 316},
1699  {"MAY", 317},
1700  {"MAYO", 1479},
1701  {"ME", 318},
1702  {"MEAD", 1480},
1703  {"MEAL", 1481},
1704  {"MEAN", 1482},
1705  {"MEAT", 1483},
1706  {"MEEK", 1484},
1707  {"MEET", 1485},
1708  {"MEG", 319},
1709  {"MEL", 320},
1710  {"MELD", 1486},
1711  {"MELT", 1487},
1712  {"MEMO", 1488},
1713  {"MEN", 321},
1714  {"MEND", 1489},
1715  {"MENU", 1490},
1716  {"MERT", 1491},
1717  {"MESH", 1492},
1718  {"MESS", 1493},
1719  {"MET", 322},
1720  {"MEW", 323},
1721  {"MICE", 1494},
1722  {"MID", 324},
1723  {"MIKE", 1495},
1724  {"MILD", 1496},
1725  {"MILE", 1497},
1726  {"MILK", 1498},
1727  {"MILL", 1499},
1728  {"MILT", 1500},
1729  {"MIMI", 1501},
1730  {"MIN", 325},
1731  {"MIND", 1502},
1732  {"MINE", 1503},
1733  {"MINI", 1504},
1734  {"MINK", 1505},
1735  {"MINT", 1506},
1736  {"MIRE", 1507},
1737  {"MISS", 1508},
1738  {"MIST", 1509},
1739  {"MIT", 326},
1740  {"MITE", 1510},
1741  {"MITT", 1511},
1742  {"MOAN", 1512},
1743  {"MOAT", 1513},
1744  {"MOB", 327},
1745  {"MOCK", 1514},
1746  {"MOD", 328},
1747  {"MODE", 1515},
1748  {"MOE", 329},
1749  {"MOLD", 1516},
1750  {"MOLE", 1517},
1751  {"MOLL", 1518},
1752  {"MOLT", 1519},
1753  {"MONA", 1520},
1754  {"MONK", 1521},
1755  {"MONT", 1522},
1756  {"MOO", 330},
1757  {"MOOD", 1523},
1758  {"MOON", 1524},
1759  {"MOOR", 1525},
1760  {"MOOT", 1526},
1761  {"MOP", 331},
1762  {"MORE", 1527},
1763  {"MORN", 1528},
1764  {"MORT", 1529},
1765  {"MOS", 332},
1766  {"MOSS", 1530},
1767  {"MOST", 1531},
1768  {"MOT", 333},
1769  {"MOTH", 1532},
1770  {"MOVE", 1533},
1771  {"MOW", 334},
1772  {"MUCH", 1534},
1773  {"MUCK", 1535},
1774  {"MUD", 335},
1775  {"MUDD", 1536},
1776  {"MUFF", 1537},
1777  {"MUG", 336},
1778  {"MULE", 1538},
1779  {"MULL", 1539},
1780  {"MUM", 337},
1781  {"MURK", 1540},
1782  {"MUSH", 1541},
1783  {"MUST", 1542},
1784  {"MUTE", 1543},
1785  {"MUTT", 1544},
1786  {"MY", 338},
1787  {"MYRA", 1545},
1788  {"MYTH", 1546},
1789  {"NAB", 339},
1790  {"NAG", 340},
1791  {"NAGY", 1547},
1792  {"NAIL", 1548},
1793  {"NAIR", 1549},
1794  {"NAME", 1550},
1795  {"NAN", 341},
1796  {"NAP", 342},
1797  {"NARY", 1551},
1798  {"NASH", 1552},
1799  {"NAT", 343},
1800  {"NAVE", 1553},
1801  {"NAVY", 1554},
1802  {"NAY", 344},
1803  {"NE", 345},
1804  {"NEAL", 1555},
1805  {"NEAR", 1556},
1806  {"NEAT", 1557},
1807  {"NECK", 1558},
1808  {"NED", 346},
1809  {"NEE", 347},
1810  {"NEED", 1559},
1811  {"NEIL", 1560},
1812  {"NELL", 1561},
1813  {"NEON", 1562},
1814  {"NERO", 1563},
1815  {"NESS", 1564},
1816  {"NEST", 1565},
1817  {"NET", 348},
1818  {"NEW", 349},
1819  {"NEWS", 1566},
1820  {"NEWT", 1567},
1821  {"NIB", 350},
1822  {"NIBS", 1568},
1823  {"NICE", 1569},
1824  {"NICK", 1570},
1825  {"NIL", 351},
1826  {"NILE", 1571},
1827  {"NINA", 1572},
1828  {"NINE", 1573},
1829  {"NIP", 352},
1830  {"NIT", 353},
1831  {"NO", 354},
1832  {"NOAH", 1574},
1833  {"NOB", 355},
1834  {"NOD", 356},
1835  {"NODE", 1575},
1836  {"NOEL", 1576},
1837  {"NOLL", 1577},
1838  {"NON", 357},
1839  {"NONE", 1578},
1840  {"NOOK", 1579},
1841  {"NOON", 1580},
1842  {"NOR", 358},
1843  {"NORM", 1581},
1844  {"NOSE", 1582},
1845  {"NOT", 359},
1846  {"NOTE", 1583},
1847  {"NOUN", 1584},
1848  {"NOV", 360},
1849  {"NOVA", 1585},
1850  {"NOW", 361},
1851  {"NU", 362},
1852  {"NUDE", 1586},
1853  {"NULL", 1587},
1854  {"NUMB", 1588},
1855  {"NUN", 363},
1856  {"NUT", 364},
1857  {"O", 365},
1858  {"OAF", 366},
1859  {"OAK", 367},
1860  {"OAR", 368},
1861  {"OAT", 369},
1862  {"OATH", 1589},
1863  {"OBEY", 1590},
1864  {"OBOE", 1591},
1865  {"ODD", 370},
1866  {"ODE", 371},
1867  {"ODIN", 1592},
1868  {"OF", 372},
1869  {"OFF", 373},
1870  {"OFT", 374},
1871  {"OH", 375},
1872  {"OHIO", 1593},
1873  {"OIL", 376},
1874  {"OILY", 1594},
1875  {"OINT", 1595},
1876  {"OK", 377},
1877  {"OKAY", 1596},
1878  {"OLAF", 1597},
1879  {"OLD", 378},
1880  {"OLDY", 1598},
1881  {"OLGA", 1599},
1882  {"OLIN", 1600},
1883  {"OMAN", 1601},
1884  {"OMEN", 1602},
1885  {"OMIT", 1603},
1886  {"ON", 379},
1887  {"ONCE", 1604},
1888  {"ONE", 380},
1889  {"ONES", 1605},
1890  {"ONLY", 1606},
1891  {"ONTO", 1607},
1892  {"ONUS", 1608},
1893  {"OR", 381},
1894  {"ORAL", 1609},
1895  {"ORB", 382},
1896  {"ORE", 383},
1897  {"ORGY", 1610},
1898  {"ORR", 384},
1899  {"OS", 385},
1900  {"OSLO", 1611},
1901  {"OTIS", 1612},
1902  {"OTT", 386},
1903  {"OTTO", 1613},
1904  {"OUCH", 1614},
1905  {"OUR", 387},
1906  {"OUST", 1615},
1907  {"OUT", 388},
1908  {"OUTS", 1616},
1909  {"OVA", 389},
1910  {"OVAL", 1617},
1911  {"OVEN", 1618},
1912  {"OVER", 1619},
1913  {"OW", 390},
1914  {"OWE", 391},
1915  {"OWL", 392},
1916  {"OWLY", 1620},
1917  {"OWN", 393},
1918  {"OWNS", 1621},
1919  {"OX", 394},
1920  {"PA", 395},
1921  {"PAD", 396},
1922  {"PAL", 397},
1923  {"PAM", 398},
1924  {"PAN", 399},
1925  {"PAP", 400},
1926  {"PAR", 401},
1927  {"PAT", 402},
1928  {"PAW", 403},
1929  {"PAY", 404},
1930  {"PEA", 405},
1931  {"PEG", 406},
1932  {"PEN", 407},
1933  {"PEP", 408},
1934  {"PER", 409},
1935  {"PET", 410},
1936  {"PEW", 411},
1937  {"PHI", 412},
1938  {"PI", 413},
1939  {"PIE", 414},
1940  {"PIN", 415},
1941  {"PIT", 416},
1942  {"PLY", 417},
1943  {"PO", 418},
1944  {"POD", 419},
1945  {"POE", 420},
1946  {"POP", 421},
1947  {"POT", 422},
1948  {"POW", 423},
1949  {"PRO", 424},
1950  {"PRY", 425},
1951  {"PUB", 426},
1952  {"PUG", 427},
1953  {"PUN", 428},
1954  {"PUP", 429},
1955  {"PUT", 430},
1956  {"QUAD", 1622},
1957  {"QUIT", 1623},
1958  {"QUO", 431},
1959  {"QUOD", 1624},
1960  {"RACE", 1625},
1961  {"RACK", 1626},
1962  {"RACY", 1627},
1963  {"RAFT", 1628},
1964  {"RAG", 432},
1965  {"RAGE", 1629},
1966  {"RAID", 1630},
1967  {"RAIL", 1631},
1968  {"RAIN", 1632},
1969  {"RAKE", 1633},
1970  {"RAM", 433},
1971  {"RAN", 434},
1972  {"RANK", 1634},
1973  {"RANT", 1635},
1974  {"RAP", 435},
1975  {"RARE", 1636},
1976  {"RASH", 1637},
1977  {"RAT", 436},
1978  {"RATE", 1638},
1979  {"RAVE", 1639},
1980  {"RAW", 437},
1981  {"RAY", 438},
1982  {"RAYS", 1640},
1983  {"READ", 1641},
1984  {"REAL", 1642},
1985  {"REAM", 1643},
1986  {"REAR", 1644},
1987  {"REB", 439},
1988  {"RECK", 1645},
1989  {"RED", 440},
1990  {"REED", 1646},
1991  {"REEF", 1647},
1992  {"REEK", 1648},
1993  {"REEL", 1649},
1994  {"REID", 1650},
1995  {"REIN", 1651},
1996  {"RENA", 1652},
1997  {"REND", 1653},
1998  {"RENT", 1654},
1999  {"REP", 441},
2000  {"REST", 1655},
2001  {"RET", 442},
2002  {"RIB", 443},
2003  {"RICE", 1656},
2004  {"RICH", 1657},
2005  {"RICK", 1658},
2006  {"RID", 444},
2007  {"RIDE", 1659},
2008  {"RIFT", 1660},
2009  {"RIG", 445},
2010  {"RILL", 1661},
2011  {"RIM", 446},
2012  {"RIME", 1662},
2013  {"RING", 1663},
2014  {"RINK", 1664},
2015  {"RIO", 447},
2016  {"RIP", 448},
2017  {"RISE", 1665},
2018  {"RISK", 1666},
2019  {"RITE", 1667},
2020  {"ROAD", 1668},
2021  {"ROAM", 1669},
2022  {"ROAR", 1670},
2023  {"ROB", 449},
2024  {"ROBE", 1671},
2025  {"ROCK", 1672},
2026  {"ROD", 450},
2027  {"RODE", 1673},
2028  {"ROE", 451},
2029  {"ROIL", 1674},
2030  {"ROLL", 1675},
2031  {"ROME", 1676},
2032  {"RON", 452},
2033  {"ROOD", 1677},
2034  {"ROOF", 1678},
2035  {"ROOK", 1679},
2036  {"ROOM", 1680},
2037  {"ROOT", 1681},
2038  {"ROSA", 1682},
2039  {"ROSE", 1683},
2040  {"ROSS", 1684},
2041  {"ROSY", 1685},
2042  {"ROT", 453},
2043  {"ROTH", 1686},
2044  {"ROUT", 1687},
2045  {"ROVE", 1688},
2046  {"ROW", 454},
2047  {"ROWE", 1689},
2048  {"ROWS", 1690},
2049  {"ROY", 455},
2050  {"RUB", 456},
2051  {"RUBE", 1691},
2052  {"RUBY", 1692},
2053  {"RUDE", 1693},
2054  {"RUDY", 1694},
2055  {"RUE", 457},
2056  {"RUG", 458},
2057  {"RUIN", 1695},
2058  {"RULE", 1696},
2059  {"RUM", 459},
2060  {"RUN", 460},
2061  {"RUNG", 1697},
2062  {"RUNS", 1698},
2063  {"RUNT", 1699},
2064  {"RUSE", 1700},
2065  {"RUSH", 1701},
2066  {"RUSK", 1702},
2067  {"RUSS", 1703},
2068  {"RUST", 1704},
2069  {"RUTH", 1705},
2070  {"RYE", 461},
2071  {"SAC", 462},
2072  {"SACK", 1706},
2073  {"SAD", 463},
2074  {"SAFE", 1707},
2075  {"SAG", 464},
2076  {"SAGE", 1708},
2077  {"SAID", 1709},
2078  {"SAIL", 1710},
2079  {"SAL", 465},
2080  {"SALE", 1711},
2081  {"SALK", 1712},
2082  {"SALT", 1713},
2083  {"SAM", 466},
2084  {"SAME", 1714},
2085  {"SAN", 467},
2086  {"SAND", 1715},
2087  {"SANE", 1716},
2088  {"SANG", 1717},
2089  {"SANK", 1718},
2090  {"SAP", 468},
2091  {"SARA", 1719},
2092  {"SAT", 469},
2093  {"SAUL", 1720},
2094  {"SAVE", 1721},
2095  {"SAW", 470},
2096  {"SAY", 471},
2097  {"SAYS", 1722},
2098  {"SCAN", 1723},
2099  {"SCAR", 1724},
2100  {"SCAT", 1725},
2101  {"SCOT", 1726},
2102  {"SEA", 472},
2103  {"SEAL", 1727},
2104  {"SEAM", 1728},
2105  {"SEAR", 1729},
2106  {"SEAT", 1730},
2107  {"SEC", 473},
2108  {"SEE", 474},
2109  {"SEED", 1731},
2110  {"SEEK", 1732},
2111  {"SEEM", 1733},
2112  {"SEEN", 1734},
2113  {"SEES", 1735},
2114  {"SELF", 1736},
2115  {"SELL", 1737},
2116  {"SEN", 475},
2117  {"SEND", 1738},
2118  {"SENT", 1739},
2119  {"SET", 476},
2120  {"SETS", 1740},
2121  {"SEW", 477},
2122  {"SEWN", 1741},
2123  {"SHAG", 1742},
2124  {"SHAM", 1743},
2125  {"SHAW", 1744},
2126  {"SHAY", 1745},
2127  {"SHE", 478},
2128  {"SHED", 1746},
2129  {"SHIM", 1747},
2130  {"SHIN", 1748},
2131  {"SHOD", 1749},
2132  {"SHOE", 1750},
2133  {"SHOT", 1751},
2134  {"SHOW", 1752},
2135  {"SHUN", 1753},
2136  {"SHUT", 1754},
2137  {"SHY", 479},
2138  {"SICK", 1755},
2139  {"SIDE", 1756},
2140  {"SIFT", 1757},
2141  {"SIGH", 1758},
2142  {"SIGN", 1759},
2143  {"SILK", 1760},
2144  {"SILL", 1761},
2145  {"SILO", 1762},
2146  {"SILT", 1763},
2147  {"SIN", 480},
2148  {"SINE", 1764},
2149  {"SING", 1765},
2150  {"SINK", 1766},
2151  {"SIP", 481},
2152  {"SIR", 482},
2153  {"SIRE", 1767},
2154  {"SIS", 483},
2155  {"SIT", 484},
2156  {"SITE", 1768},
2157  {"SITS", 1769},
2158  {"SITU", 1770},
2159  {"SKAT", 1771},
2160  {"SKEW", 1772},
2161  {"SKI", 485},
2162  {"SKID", 1773},
2163  {"SKIM", 1774},
2164  {"SKIN", 1775},
2165  {"SKIT", 1776},
2166  {"SKY", 486},
2167  {"SLAB", 1777},
2168  {"SLAM", 1778},
2169  {"SLAT", 1779},
2170  {"SLAY", 1780},
2171  {"SLED", 1781},
2172  {"SLEW", 1782},
2173  {"SLID", 1783},
2174  {"SLIM", 1784},
2175  {"SLIT", 1785},
2176  {"SLOB", 1786},
2177  {"SLOG", 1787},
2178  {"SLOT", 1788},
2179  {"SLOW", 1789},
2180  {"SLUG", 1790},
2181  {"SLUM", 1791},
2182  {"SLUR", 1792},
2183  {"SLY", 487},
2184  {"SMOG", 1793},
2185  {"SMUG", 1794},
2186  {"SNAG", 1795},
2187  {"SNOB", 1796},
2188  {"SNOW", 1797},
2189  {"SNUB", 1798},
2190  {"SNUG", 1799},
2191  {"SO", 488},
2192  {"SOAK", 1800},
2193  {"SOAR", 1801},
2194  {"SOB", 489},
2195  {"SOCK", 1802},
2196  {"SOD", 490},
2197  {"SODA", 1803},
2198  {"SOFA", 1804},
2199  {"SOFT", 1805},
2200  {"SOIL", 1806},
2201  {"SOLD", 1807},
2202  {"SOME", 1808},
2203  {"SON", 491},
2204  {"SONG", 1809},
2205  {"SOON", 1810},
2206  {"SOOT", 1811},
2207  {"SOP", 492},
2208  {"SORE", 1812},
2209  {"SORT", 1813},
2210  {"SOUL", 1814},
2211  {"SOUR", 1815},
2212  {"SOW", 493},
2213  {"SOWN", 1816},
2214  {"SOY", 494},
2215  {"SPA", 495},
2216  {"SPY", 496},
2217  {"STAB", 1817},
2218  {"STAG", 1818},
2219  {"STAN", 1819},
2220  {"STAR", 1820},
2221  {"STAY", 1821},
2222  {"STEM", 1822},
2223  {"STEW", 1823},
2224  {"STIR", 1824},
2225  {"STOW", 1825},
2226  {"STUB", 1826},
2227  {"STUN", 1827},
2228  {"SUB", 497},
2229  {"SUCH", 1828},
2230  {"SUD", 498},
2231  {"SUDS", 1829},
2232  {"SUE", 499},
2233  {"SUIT", 1830},
2234  {"SULK", 1831},
2235  {"SUM", 500},
2236  {"SUMS", 1832},
2237  {"SUN", 501},
2238  {"SUNG", 1833},
2239  {"SUNK", 1834},
2240  {"SUP", 502},
2241  {"SURE", 1835},
2242  {"SURF", 1836},
2243  {"SWAB", 1837},
2244  {"SWAG", 1838},
2245  {"SWAM", 1839},
2246  {"SWAN", 1840},
2247  {"SWAT", 1841},
2248  {"SWAY", 1842},
2249  {"SWIM", 1843},
2250  {"SWUM", 1844},
2251  {"TAB", 503},
2252  {"TACK", 1845},
2253  {"TACT", 1846},
2254  {"TAD", 504},
2255  {"TAG", 505},
2256  {"TAIL", 1847},
2257  {"TAKE", 1848},
2258  {"TALE", 1849},
2259  {"TALK", 1850},
2260  {"TALL", 1851},
2261  {"TAN", 506},
2262  {"TANK", 1852},
2263  {"TAP", 507},
2264  {"TAR", 508},
2265  {"TASK", 1853},
2266  {"TATE", 1854},
2267  {"TAUT", 1855},
2268  {"TEA", 509},
2269  {"TEAL", 1856},
2270  {"TEAM", 1857},
2271  {"TEAR", 1858},
2272  {"TECH", 1859},
2273  {"TED", 510},
2274  {"TEE", 511},
2275  {"TEEM", 1860},
2276  {"TEEN", 1861},
2277  {"TEET", 1862},
2278  {"TELL", 1863},
2279  {"TEN", 512},
2280  {"TEND", 1864},
2281  {"TENT", 1865},
2282  {"TERM", 1866},
2283  {"TERN", 1867},
2284  {"TESS", 1868},
2285  {"TEST", 1869},
2286  {"THAN", 1870},
2287  {"THAT", 1871},
2288  {"THE", 513},
2289  {"THEE", 1872},
2290  {"THEM", 1873},
2291  {"THEN", 1874},
2292  {"THEY", 1875},
2293  {"THIN", 1876},
2294  {"THIS", 1877},
2295  {"THUD", 1878},
2296  {"THUG", 1879},
2297  {"THY", 514},
2298  {"TIC", 515},
2299  {"TICK", 1880},
2300  {"TIDE", 1881},
2301  {"TIDY", 1882},
2302  {"TIE", 516},
2303  {"TIED", 1883},
2304  {"TIER", 1884},
2305  {"TILE", 1885},
2306  {"TILL", 1886},
2307  {"TILT", 1887},
2308  {"TIM", 517},
2309  {"TIME", 1888},
2310  {"TIN", 518},
2311  {"TINA", 1889},
2312  {"TINE", 1890},
2313  {"TINT", 1891},
2314  {"TINY", 1892},
2315  {"TIP", 519},
2316  {"TIRE", 1893},
2317  {"TO", 520},
2318  {"TOAD", 1894},
2319  {"TOE", 521},
2320  {"TOG", 522},
2321  {"TOGO", 1895},
2322  {"TOIL", 1896},
2323  {"TOLD", 1897},
2324  {"TOLL", 1898},
2325  {"TOM", 523},
2326  {"TON", 524},
2327  {"TONE", 1899},
2328  {"TONG", 1900},
2329  {"TONY", 1901},
2330  {"TOO", 525},
2331  {"TOOK", 1902},
2332  {"TOOL", 1903},
2333  {"TOOT", 1904},
2334  {"TOP", 526},
2335  {"TORE", 1905},
2336  {"TORN", 1906},
2337  {"TOTE", 1907},
2338  {"TOUR", 1908},
2339  {"TOUT", 1909},
2340  {"TOW", 527},
2341  {"TOWN", 1910},
2342  {"TOY", 528},
2343  {"TRAG", 1911},
2344  {"TRAM", 1912},
2345  {"TRAY", 1913},
2346  {"TREE", 1914},
2347  {"TREK", 1915},
2348  {"TRIG", 1916},
2349  {"TRIM", 1917},
2350  {"TRIO", 1918},
2351  {"TROD", 1919},
2352  {"TROT", 1920},
2353  {"TROY", 1921},
2354  {"TRUE", 1922},
2355  {"TRY", 529},
2356  {"TUB", 530},
2357  {"TUBA", 1923},
2358  {"TUBE", 1924},
2359  {"TUCK", 1925},
2360  {"TUFT", 1926},
2361  {"TUG", 531},
2362  {"TUM", 532},
2363  {"TUN", 533},
2364  {"TUNA", 1927},
2365  {"TUNE", 1928},
2366  {"TUNG", 1929},
2367  {"TURF", 1930},
2368  {"TURN", 1931},
2369  {"TUSK", 1932},
2370  {"TWIG", 1933},
2371  {"TWIN", 1934},
2372  {"TWIT", 1935},
2373  {"TWO", 534},
2374  {"ULAN", 1936},
2375  {"UN", 535},
2376  {"UNIT", 1937},
2377  {"UP", 536},
2378  {"URGE", 1938},
2379  {"US", 537},
2380  {"USE", 538},
2381  {"USED", 1939},
2382  {"USER", 1940},
2383  {"USES", 1941},
2384  {"UTAH", 1942},
2385  {"VAIL", 1943},
2386  {"VAIN", 1944},
2387  {"VALE", 1945},
2388  {"VAN", 539},
2389  {"VARY", 1946},
2390  {"VASE", 1947},
2391  {"VAST", 1948},
2392  {"VAT", 540},
2393  {"VEAL", 1949},
2394  {"VEDA", 1950},
2395  {"VEIL", 1951},
2396  {"VEIN", 1952},
2397  {"VEND", 1953},
2398  {"VENT", 1954},
2399  {"VERB", 1955},
2400  {"VERY", 1956},
2401  {"VET", 541},
2402  {"VETO", 1957},
2403  {"VICE", 1958},
2404  {"VIE", 542},
2405  {"VIEW", 1959},
2406  {"VINE", 1960},
2407  {"VISE", 1961},
2408  {"VOID", 1962},
2409  {"VOLT", 1963},
2410  {"VOTE", 1964},
2411  {"WACK", 1965},
2412  {"WAD", 543},
2413  {"WADE", 1966},
2414  {"WAG", 544},
2415  {"WAGE", 1967},
2416  {"WAIL", 1968},
2417  {"WAIT", 1969},
2418  {"WAKE", 1970},
2419  {"WALE", 1971},
2420  {"WALK", 1972},
2421  {"WALL", 1973},
2422  {"WALT", 1974},
2423  {"WAND", 1975},
2424  {"WANE", 1976},
2425  {"WANG", 1977},
2426  {"WANT", 1978},
2427  {"WAR", 545},
2428  {"WARD", 1979},
2429  {"WARM", 1980},
2430  {"WARN", 1981},
2431  {"WART", 1982},
2432  {"WAS", 546},
2433  {"WASH", 1983},
2434  {"WAST", 1984},
2435  {"WATS", 1985},
2436  {"WATT", 1986},
2437  {"WAVE", 1987},
2438  {"WAVY", 1988},
2439  {"WAY", 547},
2440  {"WAYS", 1989},
2441  {"WE", 548},
2442  {"WEAK", 1990},
2443  {"WEAL", 1991},
2444  {"WEAN", 1992},
2445  {"WEAR", 1993},
2446  {"WEB", 549},
2447  {"WED", 550},
2448  {"WEE", 551},
2449  {"WEED", 1994},
2450  {"WEEK", 1995},
2451  {"WEIR", 1996},
2452  {"WELD", 1997},
2453  {"WELL", 1998},
2454  {"WELT", 1999},
2455  {"WENT", 2000},
2456  {"WERE", 2001},
2457  {"WERT", 2002},
2458  {"WEST", 2003},
2459  {"WET", 552},
2460  {"WHAM", 2004},
2461  {"WHAT", 2005},
2462  {"WHEE", 2006},
2463  {"WHEN", 2007},
2464  {"WHET", 2008},
2465  {"WHO", 553},
2466  {"WHOA", 2009},
2467  {"WHOM", 2010},
2468  {"WHY", 554},
2469  {"WICK", 2011},
2470  {"WIFE", 2012},
2471  {"WILD", 2013},
2472  {"WILL", 2014},
2473  {"WIN", 555},
2474  {"WIND", 2015},
2475  {"WINE", 2016},
2476  {"WING", 2017},
2477  {"WINK", 2018},
2478  {"WINO", 2019},
2479  {"WIRE", 2020},
2480  {"WISE", 2021},
2481  {"WISH", 2022},
2482  {"WIT", 556},
2483  {"WITH", 2023},
2484  {"WOK", 557},
2485  {"WOLF", 2024},
2486  {"WON", 558},
2487  {"WONT", 2025},
2488  {"WOO", 559},
2489  {"WOOD", 2026},
2490  {"WOOL", 2027},
2491  {"WORD", 2028},
2492  {"WORE", 2029},
2493  {"WORK", 2030},
2494  {"WORM", 2031},
2495  {"WORN", 2032},
2496  {"WOVE", 2033},
2497  {"WOW", 560},
2498  {"WRIT", 2034},
2499  {"WRY", 561},
2500  {"WU", 562},
2501  {"WYNN", 2035},
2502  {"YALE", 2036},
2503  {"YAM", 563},
2504  {"YANG", 2037},
2505  {"YANK", 2038},
2506  {"YAP", 564},
2507  {"YARD", 2039},
2508  {"YARN", 2040},
2509  {"YAW", 565},
2510  {"YAWL", 2041},
2511  {"YAWN", 2042},
2512  {"YE", 566},
2513  {"YEA", 567},
2514  {"YEAH", 2043},
2515  {"YEAR", 2044},
2516  {"YELL", 2045},
2517  {"YES", 568},
2518  {"YET", 569},
2519  {"YOGA", 2046},
2520  {"YOKE", 2047},
2521  {"YOU", 570}
2522  };