Browse Source

Consolidated c files (thanks /u/aftli_work!)
Fixed a refresh bug on unix. Shouldn't leave text on the screen anymore.

Josh1147582 8 years ago
parent
commit
44d4471689
4 changed files with 29 additions and 1679 deletions
  1. BIN
      .gitignore
  2. BIN
      bin/win/FalloutTerminal.exe
  3. 29 17
      src/FalloutTerminal.c
  4. 0 1662
      src/FalloutTerminalWin.c

BIN
.gitignore


BIN
bin/win/FalloutTerminal.exe


+ 29 - 17
src/FalloutTerminalUnix.c → src/FalloutTerminal.c

@@ -1,14 +1,25 @@
-#include <ncurses.h>
+#ifdef _WIN32
+#	include <Windows.h>
+#	include <curses.h>
+#	define SLEEP(delay) Sleep(delay/1000)
+#else
+#	include <ncurses.h>
+#	define SLEEP(delay) usleep(delay)
+#endif
+
 #include <time.h>
 #include <unistd.h>
 #include <stdbool.h>
 
+
+// Thanks to /u/aftli_work for the file consolidation suggestion!
+
 // Sleep is in Windows.h, PDCurses is in curses.h.  
 // Win32 PDcurses build MUST use Sleep, not usleep.
 // usleep/1000 = Sleep
 
 // Windows includes booleans in Windows.h.
-// Unix requires stdbool.h, which names them bools.
+// Unix requires stdbool.h, which names them bools. So I used bools.
 
 bool slowPrint(char arr[], int size, int line){
 	int i;
@@ -19,7 +30,7 @@ bool slowPrint(char arr[], int size, int line){
 		if(kbhit()){
 			return TRUE;
 		}
-		usleep(20000);
+		SLEEP(20000);
 	}
 	return FALSE;
 }
@@ -33,7 +44,7 @@ bool slowType(char arr[], int size, int line){
 		if(kbhit()){
 			return TRUE;
 		}
-		usleep(70000);
+		SLEEP(70000);
 	}
 	return FALSE;
 }
@@ -44,7 +55,7 @@ void passPrint(char arr[], int size, int line){
 		mvprintw(line,i,"%c",arr[i]);
 		move(line, i+1);
 		refresh();
-		usleep(20000);
+		SLEEP(20000);
 	}
 }
 
@@ -65,7 +76,7 @@ void printChoicesLeft(int hex, char arr[], int line){
 		mvprintw(line,7+i,"%c",arr[i]);
 	move(line, 20);
 	refresh();
-	usleep(30000);
+	SLEEP(30000);
 }
 
 void printChoicesRight(int hex, char arr[], int line){
@@ -75,23 +86,23 @@ void printChoicesRight(int hex, char arr[], int line){
 		mvprintw(line,27+i,"%c",arr[i]);
 	move(line, 40);
 	refresh();
-	usleep(30000);
+	SLEEP(30000);
 }
 
 int intro(){
 	clear();
-	usleep(250000);
+	SLEEP(250000);
 	char arr[] = "WELCOME TO ROBCO INDUSTRIES (TM) TERMLINK";
 	
 	bool stop = slowPrint(arr,sizeof(arr), 0);
 	if(stop){return 0;}
 	move(1, 0);
 	refresh();
-	usleep(30000);
+	SLEEP(30000);
 	mvprintw(2,0,"%c", '>');
 	move(2,1);
 	refresh();
-	usleep(1500000);
+	SLEEP(1500000);
 
 	char arr2[] = "SET TERMINAL/INQUIRE";
 	stop = slowType(arr2,sizeof(arr2), 2);
@@ -104,14 +115,14 @@ int intro(){
 
 	mvprintw(6,0,"%c", '>');
 	refresh();
-	usleep(1500000);
+	SLEEP(1500000);
 	char arr4[] = "SET FILE/PROTECTION=OWNER:RWED ACCOUNTS.F";
 	stop = slowType(arr4,sizeof(arr4),6);
 	if(stop){return 0;}
 	
 	mvprintw(7,0,"%c", '>');
 	refresh();
-	usleep(1500000);
+	SLEEP(1500000);
 	char arr5[] = "SET HALT RESTART/MAINT";
 	stop = slowType(arr5,sizeof(arr5),7);
 	if(stop){return 0;}
@@ -142,13 +153,13 @@ int intro(){
 
 	mvprintw(16,0,"%c",'>');
 	refresh();
-	usleep(1500000);
+	SLEEP(1500000);
 	char arr12[] = "RUN DEBUG/ACCOUNTS.F";
 	stop = slowType(arr12,sizeof(arr12),16);
 	if(stop){return 0;}
 	move(16,0);
 	refresh();
-	usleep(50000);
+	SLEEP(50000);
 }
 
 
@@ -163,6 +174,7 @@ bool currentCharContains(char arr[],char c){
 
 void pass(){
 	// Start a new screen where nodelay is false
+	erase();
 	endwin();
 	initscr();
 	noecho();
@@ -199,7 +211,7 @@ void pass(){
 	}
 	
 	// Words from http://www-01.sil.org/linguistics/wordlists/english/wordlist/wordsEn.txt
-		char *wordArr[] = {
+		char* wordArr[] = {
 "AAHED", "ABACI", "ABACK", "ABAFT", "ABASE", "ABASH", "ABATE", 
 "ABBES", "ABBEY", "ABBOT", "ABEAM", "ABETS", "ABHOR", "ABIDE", 
 "ABLER", "ABLES", "ABNER", "ABODE", "ABOIL", "ABORT", "ABOUT", 
@@ -1290,7 +1302,7 @@ void pass(){
 		getyx(stdscr,y,x);
 		
 		// Get allowances left
-		mvprintw(1,0,"                              ");
+		mvprintw(1,0,"                                 ");
 		mvprintw(3,0,"                              ");
 		switch(allowances){
 			case 1: mvprintw(3,0,"1 ATTEMPT(S) LEFT: *");
@@ -1598,7 +1610,7 @@ void pass(){
 						mvprintw(19,41+i,"%c",output[i]);
 					}
 					refresh();
-					usleep(3000000);
+					SLEEP(3000000);
 					endwin();
 					exit(0);
 					

+ 0 - 1662
src/FalloutTerminalWin.c

@@ -1,1662 +0,0 @@
-#include <curses.h>
-#include <Windows.h>
-#include <time.h>
-
-// Sleep is in Windows.h, PDCurses is in curses.h.  
-// Win32 PDcurses build MUST use Sleep, not usleep.
-// usleep/1000 = Sleep
-
-// Windows includes booleans in Windows.h.
-// Unix requires stdbool.h, which names them bools.
-
-boolean slowPrint(char arr[], int size, int line){
-	int i;
-	for(i=0; i<size; i++){	
-		mvprintw(line,i,"%c",arr[i]);
-		move(line, i+1);
-		refresh();
-		if(kbhit()){
-			return TRUE;
-		}
-		Sleep(20);
-	}
-	return FALSE;
-}
-
-boolean slowType(char arr[], int size, int line){
-	int i;
-	for(i=0; i<size; i++){	
-		mvprintw(line,i+1,"%c",arr[i]);
-		move(line, i+2);
-		refresh();
-		if(kbhit()){
-			return TRUE;
-		}
-		Sleep(70);
-	}
-	return FALSE;
-}
-
-void passPrint(char arr[], int size, int line){
-	int i;
-	for(i=0; i<size; i++){	
-		mvprintw(line,i,"%c",arr[i]);
-		move(line, i+1);
-		refresh();
-		Sleep(20);
-	}
-}
-
-int kbhit(){
-    int ch = getch();
-
-    if (ch != ERR) {
-        return 1;
-    } else {
-        return 0;
-    }
-}
-
-void printChoicesLeft(int hex, char arr[], int line){
-	mvprintw(line,0,"0x%X", hex);
-	int i;
-	for(i=0; i<12; i++)
-		mvprintw(line,7+i,"%c",arr[i]);
-	move(line, 20);
-	refresh();
-	Sleep(30);
-}
-
-void printChoicesRight(int hex, char arr[], int line){
-	mvprintw(line,20,"0x%X", hex);
-	int i;
-	for(i=0; i<12; i++)
-		mvprintw(line,27+i,"%c",arr[i]);
-	move(line, 40);
-	refresh();
-	Sleep(30);
-}
-
-int intro(){
-	clear();
-	Sleep(250);
-	char arr[] = "WELCOME TO ROBCO INDUSTRIES (TM) TERMLINK";
-	
-	boolean stop = slowPrint(arr,sizeof(arr), 0);
-	if(stop){return;}
-	move(1, 0);
-	refresh();
-	Sleep(30);
-	mvprintw(2,0,"%c", '>');
-	move(2,1);
-	refresh();
-	Sleep(1500);
-
-	char arr2[] = "SET TERMINAL/INQUIRE";
-	stop = slowType(arr2,sizeof(arr2), 2);
-	if(stop){return;}
-	
-
-	char arr3[] = "RIT-V300";
-	stop = slowPrint(arr3,sizeof(arr3), 4);
-	if(stop){return;}
-
-	mvprintw(6,0,"%c", '>');
-	refresh();
-	Sleep(1500);
-	char arr4[] = "SET FILE/PROTECTION=OWNER:RWED ACCOUNTS.F";
-	stop = slowType(arr4,sizeof(arr4),6);
-	if(stop){return;}
-	
-	mvprintw(7,0,"%c", '>');
-	refresh();
-	Sleep(1500);
-	char arr5[] = "SET HALT RESTART/MAINT";
-	stop = slowType(arr5,sizeof(arr5),7);
-	if(stop){return;}
-	
-	char arr6[] = "Initializing Robco Industries(TM) Boot Agent v2.3.0";
-	stop = slowPrint(arr6,sizeof(arr6),9);
-	if(stop){return;}
-
-	char arr7[] = "RBIOS-4.02.08.00 53EE5.E7.E8";
-	stop = slowPrint(arr7,sizeof(arr7),10);
-	if(stop){return;}
-
-	char arr8[] = "Copyright 2201-22-3 Robco Ind.";
-	stop = slowPrint(arr8,sizeof(arr8),11);
-	if(stop){return;}
-
-	char arr9[] = "Uppermem: 64 KB";
-	stop = slowPrint(arr9,sizeof(arr9),12);
-	if(stop){return;}
-
-	char arr10[] = "Root (5A8)";
-	stop = slowPrint(arr10,sizeof(arr10),13);
-	if(stop){return;}
-
-	char arr11[] = "Maintenance Mode";
-	stop = slowPrint(arr11,sizeof(arr11),14);
-	if(stop){return;}
-
-	mvprintw(16,0,"%c",'>');
-	refresh();
-	Sleep(1500);
-	char arr12[] = "RUN DEBUG/ACCOUNTS.F";
-	stop = slowType(arr12,sizeof(arr12),16);
-	if(stop){return;}
-	move(16,0);
-	refresh();
-	Sleep(50);
-}
-
-
-boolean currentCharContains(char arr[],char c){
-	int i;
-	for(i=0; i<12; i++)
-		if(arr[i]==c)
-			return TRUE;
-	return FALSE;
-}
-
-
-void pass(){
-	// Start a new screen where nodelay is false
-	endwin();
-	initscr();
-	noecho();
-	refresh();
-	attron(A_BOLD);
-	nodelay(stdscr, FALSE);
-	if(has_colors() == TRUE){
-		// Colors
-		start_color();
-		init_pair(1,COLOR_GREEN,COLOR_BLACK);
-		attron(COLOR_PAIR(1));
-	}
-	
-	// Intro text
-	char prompt[] = "ROBCO INDUSTRIES (TM) TERMLINK PROTOCOL";
-	passPrint(prompt,sizeof(prompt),0);
-	
-	char prompt2[] = "ENTER PASSWORD NOW";
-	passPrint(prompt2, sizeof(prompt2), 1);
-	char prompt3[] = "4 ATTEMPT(S) LEFT: * * * *";
-	passPrint(prompt3, sizeof(prompt3), 3);
-	
-	// Generate the hex values on the left sides
-	int arbHex;
-	arbHex = (rand() % 200) + 63744;
-	
-	// Generate the string to hold the bracket tricks and words
-	char bigString [408];
-	char randValues[] = "!@#$%^*()_-=+\\|/[]{}?\"\':;,.<>";
-	int i;
-	for(i=0; i<408; i++){
-		// Fill bigString with random values
-		bigString[i] = randValues[rand()%29];
-	}
-	
-	// Words from http://www-01.sil.org/linguistics/wordlists/english/wordlist/wordsEn.txt
-		char *wordArr[] = {
-"AAHED", "ABACI", "ABACK", "ABAFT", "ABASE", "ABASH", "ABATE", 
-"ABBES", "ABBEY", "ABBOT", "ABEAM", "ABETS", "ABHOR", "ABIDE", 
-"ABLER", "ABLES", "ABNER", "ABODE", "ABOIL", "ABORT", "ABOUT", 
-"ABOVE", "ABUSE", "ABUTS", "ABUZZ", "ABYES", "ABYSM", "ABYSS", 
-"ACCTS", "ACERB", "ACHED", "ACHES", "ACHOO", "ACIDS", "ACIDY", 
-"ACING", "ACMES", "ACNED", "ACNES", "ACOIN", "ACORN", "ACRED", 
-"ACRES", "ACRID", "ACTED", "ACTIN", "ACTOR", "ACUTE", "ADAGE", 
-"ADAMS", "ADAPT", "ADDAX", "ADDED", "ADDER", "ADDLE", "ADEPT", 
-"ADIEU", "ADIOS", "ADITS", "ADMAN", "ADMEN", "ADMIN", "ADMIT", 
-"ADMIX", "ADOBE", "ADOLF", "ADOPT", "ADORE", "ADORN", "ADOZE", 
-"ADULT", "ADYTA", "ADZES", "AEGIS", "AEONS", "AERIE", "AESOP", 
-"AFARS", "AFFIX", "AFIRE", "AFOOT", "AFORE", "AFOUL", "AFRIT", 
-"AFROS", "AFTER", "AGAIN", "AGAMA", "AGAPE", "AGARS", "AGATE", 
-"AGAVE", "AGAZE", "AGENT", "AGERS", "AGGIE", "AGHAS", "AGILE", 
-"AGING", "AGIST", "AGLEE", "AGLET", "AGLEY", "AGLOW", "AGONE", 
-"AGONS", "AGONY", "AGORA", "AGREE", "AGRIC", "AGUES", "AHEAD", 
-"AHEMS", "AHOLD", "AIDED", "AIDER", "AIDES", "AILED", "AIMED", 
-"AIMER", "AINUS", "AIRED", "AIRER", "AISLE", "AITCH", "AJIVA", 
-"AKRON", "ALACK", "ALAMO", "ALANS", "ALARM", "ALARY", "ALATE", 
-"ALBUM", "ALDER", "ALECS", "ALEFS", "ALEPH", "ALERT", "ALFAS", 
-"ALGAE", "ALGAL", "ALGAS", "ALGID", "ALGIN", "ALIAS", "ALIBI", 
-"ALICE", "ALIEN", "ALIGN", "ALIKE", "ALINE", "ALIVE", "ALKYD", 
-"ALKYL", "ALLAH", "ALLAY", "ALLEN", "ALLER", "ALLEY", "ALLOT", 
-"ALLOW", "ALLOY", "ALOES", "ALOFT", "ALOHA", "ALONE", "ALONG", 
-"ALOOF", "ALOUD", "ALPHA", "ALTAR", "ALTER", "ALTHO", "ALTOS", 
-"ALUMS", "ALWAY", "AMAHS", "AMAIN", "AMASS", "AMAZE", "AMBER", 
-"AMBLE", "AMEBA", "AMEER", "AMEND", "AMENS", "AMENT", "AMIAS", 
-"AMICE", "AMICI", "AMIDE", "AMIDS", "AMIES", "AMIGO", "AMINO", 
-"AMIRE", "AMIRS", "AMISH", "AMISS", "AMITY", "AMMOS", "AMOKS", 
-"AMOLE", "AMONG", "AMORT", "AMOUR", "AMOVE", "AMPLE", "AMPLY", 
-"AMPUL", "AMUCK", "AMUSE", "AMYLS", "ANDES", "ANDRE", "ANEAR", 
-"ANELE", "ANENT", "ANGAS", "ANGEL", "ANGER", "ANGLE", "ANGLO", 
-"ANGRY", "ANGST", "ANGUS", "ANILE", "ANILS", "ANIMA", "ANIMO", 
-"ANION", "ANISE", "ANKHS", "ANKLE", "ANKUS", "ANNAL", "ANNAS", 
-"ANNAT", "ANNEX", "ANNIE", "ANNOY", "ANNUL", "ANNUM", "ANODE", 
-"ANOIA", "ANOLE", "ANOMY", "ANTED", "ANTES", "ANTIC", "ANTIS", 
-"ANTRA", "ANTRE", "ANVIL", "AORTA", "AOUAD", "APACE", "APART", 
-"APEAK", "APEEK", "APERS", "APERY", "APHID", "APHIS", "APIAN", 
-"APING", "APISH", "APIUM", "APNEA", "APORT", "APPAL", "APPLE", 
-"APPLY", "APRES", "APRIL", "APRON", "APSES", "APTER", "APTLY", 
-"AQUAE", "AQUAS", "ARABS", "ARAKS", "ARBOR", "ARCED", "ARCUS", 
-"ARDOR", "AREAL", "AREAS", "ARENA", "ARETE", "ARGAL", "ARGLE", 
-"ARGON", "ARGOT", "ARGUE", "ARGUS", "ARHAT", "ARIAS", "ARIEL", 
-"ARIES", "ARILS", "ARISE", "ARITH", "ARMED", "ARMER", "ARMOR", 
-"AROMA", "AROSE", "ARRAS", "ARRAY", "ARROW", "ARSES", "ARSIS", 
-"ARSON", "ARUMS", "ARYAN", "ARYLS", "ASCII", "ASCOT", "ASHED", 
-"ASHEN", "ASHES", "ASIAN", "ASIDE", "ASKED", "ASKER", "ASKEW", 
-"ASPCA", "ASPEN", "ASPER", "ASPIC", "ASSAM", "ASSAY", "ASSES", 
-"ASSET", "ASSOC", "ASTER", "ASTIR", "ASYLA", "ASYNC", "ATAXY", 
-"ATILT", "ATLAS", "ATMAN", "ATMAS", "ATOLL", "ATOMS", "ATOMY", 
-"ATONE", "ATRIA", "ATRIP", "ATTAR", "ATTIC", "AUDAD", "AUDIO", 
-"AUDIT", "AUGER", "AUGHT", "AUGUR", "AUNTS", "AUNTY", "AURAE", 
-"AURAL", "AURAS", "AURIC", "AURUM", "AUTOS", "AUTRE", "AUXIN", 
-"AVAIL", "AVAST", "AVERS", "AVERT", "AVIAN", "AVION", "AVISO", 
-"AVOID", "AVOWS", "AWACS", "AWAIT", "AWAKE", "AWARD", "AWARE", 
-"AWASH", "AWFUL", "AWING", "AWNED", "AWOKE", "AWOLS", "AXELS", 
-"AXIAL", "AXILS", "AXING", "AXIOM", "AXLED", "AXLES", "AXMAN", 
-"AXMEN", "AXONE", "AXONS", "AYAHS", "AZIDE", "AZIDO", "AZINE", 
-"AZOIC", "AZOLE", "AZONS", "AZOTE", "AZOTH", "AZTEC", "AZURE", 
-"BAAED", "BAALS", "BABAS", "BABEL", "BABES", "BABKA", "BABOO", 
-"BABUL", "BABUS", "BACCA", "BACKS", "BACON", "BADDY", "BADGE", 
-"BADLY", "BAGEL", "BAGGY", "BAHTS", "BAILS", "BAIRN", "BAITS", 
-"BAIZE", "BAKED", "BAKER", "BAKES", "BALDS", "BALED", "BALER", 
-"BALES", "BALKS", "BALKY", "BALLO", "BALLS", "BALLY", "BALMS", 
-"BALMY", "BALSA", "BANAL", "BANCO", "BANDS", "BANDY", "BANED", 
-"BANES", "BANGS", "BANJO", "BANKS", "BANNS", "BANTU", "BARBS", 
-"BARDS", "BARED", "BARER", "BARES", "BARFS", "BARGE", "BARIC", 
-"BARKS", "BARKY", "BARMY", "BARNS", "BARNY", "BARON", "BARRE", 
-"BASAL", "BASED", "BASER", "BASES", "BASIC", "BASIL", "BASIN", 
-"BASIS", "BASKS", "BASSI", "BASSO", "BASSY", "BASTE", "BASTS", 
-"BATCH", "BATED", "BATES", "BATHE", "BATHS", "BATIK", "BATON", 
-"BATTS", "BATTY", "BAUDS", "BAULK", "BAWDS", "BAWDY", "BAWLS", 
-"BAYED", "BAYOU", "BAZAR", "BEACH", "BEADS", "BEADY", "BEAKS", 
-"BEAKY", "BEAMS", "BEAMY", "BEANO", "BEANS", "BEARD", "BEARS", 
-"BEAST", "BEATS", "BEAUS", "BEAUT", "BEAUX", "BEBOP", "BECKS", 
-"BEDEW", "BEDIM", "BEECH", "BEEFS", "BEEFY", "BEEPS", "BEERS", 
-"BEERY", "BEETS", "BEFIT", "BEFOG", "BEGAN", "BEGAT", "BEGET", 
-"BEGIN", "BEGOT", "BEGUM", "BEGUN", "BEIGE", "BEIGY", "BEING", 
-"BELAY", "BELCH", "BELIE", "BELLE", "BELLI", "BELLO", "BELLS", 
-"BELLY", "BELOW", "BELTS", "BEMAS", "BEMIX", "BENCH", "BENDS", 
-"BENDY", "BENES", "BENIN", "BENNY", "BENTS", "BERET", "BERGH", 
-"BERGS", "BERMS", "BERRY", "BERTH", "BERYL", "BESET", "BESOM", 
-"BESOT", "BESTS", "BETAS", "BETEL", "BETES", "BETHS", "BETTA", 
-"BETTY", "BEVEL", "BEWIG", "BEZEL", "BHANG", "BIALY", "BIBBS", 
-"BIBLE", "BIDDY", "BIDED", "BIDER", "BIDES", "BIDET", "BIENS", 
-"BIERS", "BIFFS", "BIFFY", "BIFID", "BIGHT", "BIGLY", "BIGOT", 
-"BIJOU", "BIKED", "BIKER", "BIKES", "BILBO", "BILES", "BILGE", 
-"BILGY", "BILKS", "BILLS", "BILLY", "BIMAH", "BINAL", "BINDS", 
-"BINES", "BINGE", "BINGO", "BINTS", "BIOME", "BIONT", "BIOTA", 
-"BIPED", "BIPOD", "BIRCH", "BIRDS", "BIRTH", "BISON", "BITCH", 
-"BITER", "BITES", "BITSY", "BITTE", "BITTS", "BITTY", "BLABS", 
-"BLACK", "BLADE", "BLAHS", "BLAIN", "BLAME", "BLANC", "BLAND", 
-"BLANK", "BLARE", "BLASE", "BLAST", "BLATS", "BLAZE", "BLEAK", 
-"BLEAR", "BLEAT", "BLEED", "BLEEP", "BLEND", "BLENT", "BLESS", 
-"BLEST", "BLIMP", "BLIMY", "BLIND", "BLINI", "BLINK", "BLIPS", 
-"BLISS", "BLITZ", "BLOAT", "BLOBS", "BLOCK", "BLOCS", "BLOKE", 
-"BLOND", "BLOOD", "BLOOM", "BLOOP", "BLOTS", "BLOWN", "BLOWS", 
-"BLOWY", "BLUED", "BLUER", "BLUES", "BLUET", "BLUEY", "BLUFF", 
-"BLUNT", "BLURB", "BLURS", "BLURT", "BLUSH", "BOARD", "BOARS", 
-"BOAST", "BOATS", "BOBBY", "BOCCE", "BOCCI", "BOCHE", "BOCKS", 
-"BODED", "BODES", "BOERS", "BOFFO", "BOFFS", "BOGEY", "BOGGY", 
-"BOGIE", "BOGLE", "BOGUS", "BOILS", "BOISE", "BOLAS", "BOLES", 
-"BOLLS", "BOLOS", "BOLTS", "BOLUS", "BOMBE", "BOMBS", "BONDS", 
-"BONED", "BONER", "BONES", "BONEY", "BONGO", "BONGS", "BONNY", 
-"BONOS", "BONUM", "BONUS", "BONZE", "BOOBS", "BOOBY", "BOOED", 
-"BOOKS", "BOOMS", "BOOMY", "BOONS", "BOORS", "BOOST", "BOOTH", 
-"BOOTS", "BOOTY", "BOOZE", "BOOZY", "BORAX", "BORED", "BORES", 
-"BORIC", "BORNE", "BORON", "BORTS", "BORTY", "BORTZ", "BOSKS", 
-"BOSKY", "BOSOM", "BOSON", "BOSSA", "BOSSY", "BOSUN", "BOTCH", 
-"BOUGH", "BOULE", "BOUND", "BOURG", "BOURN", "BOUSE", "BOUSY", 
-"BOUTS", "BOVID", "BOWED", "BOWEL", "BOWER", "BOWIE", "BOWLS", 
-"BOWSE", "BOXED", "BOXER", "BOXES", "BOYOS", "BOZOS", "BRACE", 
-"BRACT", "BRADS", "BRAES", "BRAGS", "BRAID", "BRAIL", "BRAIN", 
-"BRAKE", "BRAKY", "BRAND", "BRANS", "BRASH", "BRASS", "BRATS", 
-"BRAVE", "BRAVO", "BRAWL", "BRAWN", "BRAYS", "BRAZE", "BREAD", 
-"BREAK", "BREAM", "BREDE", "BREED", "BRENT", "BREVE", "BREVI", 
-"BREWS", "BRIAN", "BRIAR", "BRIBE", "BRICK", "BRIDE", "BRIEF", 
-"BRIER", "BRIES", "BRIGS", "BRILL", "BRIMS", "BRINE", "BRING", 
-"BRINK", "BRINY", "BRIOS", "BRISK", "BROAD", "BROCK", "BROIL", 
-"BROKE", "BROMO", "BRONC", "BRONX", "BROOD", "BROOK", "BROOM", 
-"BROTH", "BROWN", "BROWS", "BRUCE", "BRUIN", "BRUIT", "BRUNT", 
-"BRUSH", "BRUSK", "BRUTE", "BRYAN", "BUBBY", "BUCHU", "BUCKO", 
-"BUCKS", "BUDDY", "BUDGE", "BUFFO", "BUFFS", "BUFFY", "BUGGY", 
-"BUGLE", "BUICK", "BUILD", "BUILT", "BULBS", "BULGE", "BULGY", 
-"BULKS", "BULKY", "BULLS", "BULLY", "BUMPS", "BUMPY", "BUNCH", 
-"BUNCO", "BUNDS", "BUNGS", "BUNKO", "BUNKS", "BUNNS", "BUNNY", 
-"BUNTS", "BUOYS", "BURGH", "BURGS", "BURIN", "BURKE", "BURLS", 
-"BURLY", "BURMA", "BURNS", "BURNT", "BURPS", "BURRO", "BURRS", 
-"BURRY", "BURSA", "BURSE", "BURST", "BUSBY", "BUSED", "BUSES", 
-"BUSHY", "BUSTS", "BUSTY", "BUTCH", "BUTTE", "BUTTS", "BUTTY", 
-"BUTYL", "BUXOM", "BUYER", "BWANA", "BYLAW", "BYRES", "BYRON", 
-"BYTES", "BYWAY", "CABAL", "CABBY", "CABER", "CABIN", "CABLE", 
-"CABOB", "CABOT", "CACAO", "CACHE", "CACTI", "CADDY", "CADES", 
-"CADET", "CADGE", "CADGY", "CADIS", "CADRE", "CAFES", "CAGED", 
-"CAGER", "CAGES", "CAGEY", "CAINS", "CAIRN", "CAIRO", "CAJON", 
-"CAJUN", "CAKED", "CAKES", "CALFS", "CALIF", "CALIX", "CALKS", 
-"CALLA", "CALLI", "CALLS", "CALMS", "CALOR", "CALVE", "CALYX", 
-"CAMEL", "CAMEO", "CAMPI", "CAMPO", "CAMPS", "CAMPY", "CANAL", 
-"CANDY", "CANED", "CANER", "CANES", "CANNA", "CANNY", "CANOE", 
-"CANON", "CANST", "CANTO", "CANTS", "CANTY", "CAPED", "CAPER", 
-"CAPES", "CAPON", "CAPOS", "CAPPY", "CAPUT", "CARAT", "CARBO", 
-"CARDS", "CARED", "CARER", "CARES", "CARET", "CARGO", "CARLO", 
-"CARNE", "CARNY", "CAROB", "CAROL", "CAROM", "CARPE", "CARPI", 
-"CARPS", "CARRY", "CARTE", "CARTS", "CARVE", "CASAS", "CASED", 
-"CASES", "CASKS", "CASTE", "CASTS", "CASUS", "CATCH", "CATER", 
-"CATES", "CATHY", "CATTY", "CAULK", "CAULS", "CAUSE", "CAVED", 
-"CAVER", "CAVES", "CAVIE", "CAVIL", "CAWED", "CEASE", "CECAL", 
-"CECIL", "CECUM", "CEDAR", "CEDED", "CEDER", "CEDES", "CEILS", 
-"CELEB", "CELLI", "CELLO", "CELLS", "CELTS", "CENSE", "CENTO", 
-"CENTS", "CERED", "CERES", "CERIA", "CHADS", "CHAFE", "CHAFF", 
-"CHAIN", "CHAIR", "CHALK", "CHAMP", "CHAMS", "CHANG", "CHANT", 
-"CHAOS", "CHAPS", "CHAPT", "CHARD", "CHARE", "CHARM", "CHARS", 
-"CHART", "CHARY", "CHASE", "CHASM", "CHATS", "CHAWS", "CHEAP", 
-"CHEAT", "CHECK", "CHEEK", "CHEEP", "CHEER", "CHEFS", "CHELA", 
-"CHERT", "CHESS", "CHEST", "CHEVY", "CHEWS", "CHEWY", "CHIAO", 
-"CHIAS", "CHICK", "CHICO", "CHICS", "CHIDE", "CHIEF", "CHIEL", 
-"CHILD", "CHILE", "CHILI", "CHILL", "CHIME", "CHIMP", "CHINA", 
-"CHINE", "CHINK", "CHINO", "CHINS", "CHIPS", "CHIRK", "CHIRP", 
-"CHITS", "CHIVE", "CHIVY", "CHOCK", "CHOIR", "CHOKE", "CHOKY", 
-"CHOMP", "CHOPS", "CHORD", "CHORE", "CHOSE", "CHOWS", "CHUBS", 
-"CHUCK", "CHUFF", "CHUGS", "CHUMP", "CHUMS", "CHUNK", "CHURL", 
-"CHURN", "CHUTE", "CHYME", "CIDER", "CIGAR", "CILIA", "CINCH", 
-"CINES", "CIONS", "CIRCA", "CIRCE", "CISTS", "CITED", "CITER", 
-"CITES", "CIVET", "CIVIC", "CIVIL", "CIVVY", "CLACK", "CLADS", 
-"CLAGS", "CLAIM", "CLAIR", "CLAMP", "CLAMS", "CLANG", "CLANK", 
-"CLANS", "CLAPS", "CLAPT", "CLARK", "CLASH", "CLASP", "CLASS", 
-"CLAUS", "CLAVE", "CLAWS", "CLAYS", "CLEAN", "CLEAR", "CLEAT", 
-"CLEFS", "CLEFT", "CLEPE", "CLEPT", "CLERK", "CLEWS", "CLICK", 
-"CLIFF", "CLIFT", "CLIMB", "CLIME", "CLINE", "CLING", "CLINK", 
-"CLIPS", "CLIPT", "CLOAK", "CLOCK", "CLODS", "CLOGS", "CLOMB", 
-"CLOMP", "CLONE", "CLONK", "CLOPS", "CLOSE", "CLOTH", "CLOTS", 
-"CLOUD", "CLOUT", "CLOVE", "CLOWN", "CLOYS", "CLUBS", "CLUCK", 
-"CLUED", "CLUES", "CLUMP", "CLUNG", "CLUNK", "COACH", "COACT", 
-"COALS", "COAST", "COATI", "COATS", "COBBY", "COBOL", "COBRA", 
-"COCAS", "COCCI", "COCKS", "COCKY", "COCOA", "COCOS", "CODAL", 
-"CODAS", "CODED", "CODER", "CODES", "CODEX", "CODON", "COEDS", 
-"COFFS", "COHEN", "COHOS", "COIFS", "COIGN", "COILS", "COINS", 
-"COIRS", "COKED", "COKES", "COLAS", "COLDS", "COLES", "COLIC", 
-"COLIN", "COLLY", "COLON", "COLOR", "COLTS", "COMAS", "COMBE", 
-"COMBO", "COMBS", "COMER", "COMES", "COMET", "COMFY", "COMIC", 
-"COMMA", "COMME", "COMMY", "COMPS", "COMPT", "COMTE", "CONCH", 
-"CONDO", "CONED", "CONES", "CONEY", "CONGA", "CONGO", "CONIC", 
-"CONKS", "CONKY", "CONNS", "CONTE", "CONTO", "CONUS", "COOCH", 
-"COOED", "COOEE", "COOER", "COOEY", "COOKS", "COOKY", "COOLS", 
-"COOLY", "COOMB", "COONS", "COOPS", "COOPT", "COOTS", "COPAL", 
-"COPED", "COPER", "COPES", "COPRA", "COPSE", "CORAL", "CORDS", 
-"CORED", "CORER", "CORES", "CORGI", "CORKS", "CORKY", "CORMS", 
-"CORNS", "CORNU", "CORNY", "CORPS", "CORSE", "COSEC", "COSET", 
-"COSEY", "COSIE", "COSMO", "COSTS", "COTAN", "COTED", "COTES", 
-"COTTA", "COUCH", "COUGH", "COULD", "COUNT", "COUPE", "COUPS", 
-"COURT", "COUTH", "COVED", "COVEN", "COVER", "COVES", "COVET", 
-"COVEY", "COWED", "COWER", "COWLS", "COWRY", "COYER", "COYLY", 
-"COYPU", "COZEN", "COZES", "COZEY", "COZIE", "CRAAL", "CRABS", 
-"CRACK", "CRAFT", "CRAGS", "CRAMP", "CRAMS", "CRANE", "CRANK", 
-"CRAPE", "CRAPS", "CRASH", "CRASS", "CRATE", "CRAVE", "CRAWL", 
-"CRAWS", "CRAZE", "CRAZY", "CREAK", "CREAM", "CREDO", "CREED", 
-"CREEK", "CREEL", "CREEP", "CREES", "CREME", "CREPE", "CREPT", 
-"CREPY", "CRESS", "CREST", "CRETE", "CREWS", "CRIBS", "CRICK", 
-"CRIED", "CRIER", "CRIES", "CRIME", "CRIMP", "CRISP", "CROAK", 
-"CROCI", "CROCK", "CROFT", "CRONE", "CRONY", "CROOK", "CROON", 
-"CROPS", "CROSS", "CROUP", "CROWD", "CROWN", "CROWS", "CRUDE", 
-"CRUDS", "CRUEL", "CRUET", "CRUMB", "CRUMP", "CRUSE", "CRUSH", 
-"CRUST", "CRYPT", "CUBAN", "CUBBY", "CUBED", "CUBER", "CUBES", 
-"CUBIC", "CUBIT", "CUDDY", "CUFFS", "CUING", "CUISH", "CUKES", 
-"CULLS", "CULLY", "CULMS", "CULPA", "CULTS", "CUMIN", "CUNNI", 
-"CUNTS", "CUPID", "CUPPA", "CUPPY", "CURBS", "CURDS", "CURDY", 
-"CURED", "CURER", "CURES", "CURIA", "CURIE", "CURIO", "CURLS", 
-"CURLY", "CURRY", "CURSE", "CURST", "CURVE", "CURVY", "CUSHY", 
-"CUSPS", "CUTER", "CUTES", "CUTEY", "CUTIE", "CUTIN", "CUTIS", 
-"CUTTY", "CUTUP", "CYANS", "CYCAD", "CYCLE", "CYCLO", "CYMES", 
-"CYNIC", "CYSTS", "CZARS", "CZECH", "DACES", "DACHA", "DADAS", 
-"DADDY", "DADOS", "DAFFY", "DAGOS", "DAILY", "DAIRY", "DAISY", 
-"DALES", "DALLY", "DAMES", "DAMNS", "DAMPS", "DANCE", "DANDY", 
-"DANES", "DANGS", "DANTE", "DARED", "DARER", "DARES", "DARKS", 
-"DARKY", "DARNS", "DARTS", "DASHY", "DATED", "DATER", "DATES", 
-"DATUM", "DAUBS", "DAUBY", "DAUNT", "DAVID", "DAVIS", "DAVIT", 
-"DAWNS", "DAZED", "DAZES", "DEADS", "DEAIR", "DEALS", "DEALT", 
-"DEANS", "DEARS", "DEARY", "DEASH", "DEATH", "DEBAR", "DEBIT", 
-"DEBTS", "DEBUG", "DEBUT", "DECAL", "DECAY", "DECKS", "DECOR", 
-"DECOY", "DECRY", "DEEDS", "DEEDY", "DEEMS", "DEEPS", "DEERS", 
-"DEFAT", "DEFER", "DEFOG", "DEGAS", "DEGUM", "DEICE", "DEIFY", 
-"DEIGN", "DEISM", "DEIST", "DEITY", "DELAY", "DELED", "DELES", 
-"DELFT", "DELHI", "DELIS", "DELLS", "DELLY", "DELTA", "DELVE", 
-"DEMIT", "DEMOB", "DEMON", "DEMOS", "DEMUR", "DENIM", "DENSE", 
-"DENTS", "DEPOT", "DEPTH", "DERAT", "DERAY", "DERBY", "DERMA", 
-"DERMS", "DESEX", "DESKS", "DETER", "DEUCE", "DEVAS", "DEVIL", 
-"DEVON", "DEWAX", "DEWED", "DEXES", "DHOLE", "DHOTI", "DHOWS", 
-"DIALS", "DIANA", "DIANE", "DIARY", "DIAZO", "DICED", "DICER", 
-"DICES", "DICEY", "DICKS", "DICKY", "DICOT", "DICTA", "DIDOS", 
-"DIDST", "DIETS", "DIGHT", "DIGIT", "DIKED", "DIKER", "DIKES", 
-"DILDO", "DILLS", "DILLY", "DIMER", "DIMES", "DIMLY", "DINAR", 
-"DINED", "DINER", "DINES", "DINGO", "DINGS", "DINGY", "DINKY", 
-"DINTS", "DIODE", "DIPPY", "DIRER", "DIRGE", "DIRKS", "DIRTS", 
-"DIRTY", "DISCO", "DISCS", "DISHY", "DISKS", "DISTR", "DITCH", 
-"DITES", "DITTO", "DITTY", "DIVAN", "DIVAS", "DIVED", "DIVER", 
-"DIVES", "DIVOT", "DIVVY", "DIXIE", "DIXIT", "DIZZY", "DJINN", 
-"DJINS", "DOCKS", "DODGE", "DODGY", "DODOS", "DOERS", "DOEST", 
-"DOETH", "DOFFS", "DOGES", "DOGEY", "DOGGO", "DOGGY", "DOGIE", 
-"DOGMA", "DOILY", "DOING", "DOJOS", "DOLCE", "DOLCI", "DOLED", 
-"DOLES", "DOLLS", "DOLLY", "DOLOR", "DOLTS", "DOMED", "DOMES", 
-"DON'T", "DONEE", "DONGS", "DONNA", "DONNE", "DONOR", "DONUT", 
-"DOOMS", "DOORS", "DOOZY", "DOPED", "DOPER", "DOPES", "DOPEY", 
-"DORIC", "DORIS", "DORMS", "DORMY", "DORSA", "DORSI", "DOSED", 
-"DOSER", "DOSES", "DOTED", "DOTER", "DOTES", "DOTTY", "DOUBT", 
-"DOUCE", "DOUGH", "DOUSE", "DOVER", "DOVES", "DOWDY", "DOWEL", 
-"DOWER", "DOWNS", "DOWNY", "DOWRY", "DOWSE", "DOXIE", "DOYEN", 
-"DOYLY", "DOZED", "DOZEN", "DOZER", "DOZES", "DRABS", "DRAFT", 
-"DRAGS", "DRAIN", "DRAKE", "DRAMA", "DRAMS", "DRANK", "DRAPE", 
-"DRATS", "DRAVE", "DRAWL", "DRAWN", "DRAWS", "DRAYS", "DREAD", 
-"DREAM", "DREAR", "DRECK", "DREGS", "DREKS", "DRESS", "DREST", 
-"DRIBS", "DRIED", "DRIER", "DRIES", "DRIFT", "DRILL", "DRILY", 
-"DRINK", "DRIPS", "DRIPT", "DRIVE", "DROIT", "DROLL", "DRONE", 
-"DROOL", "DROOP", "DROPS", "DROPT", "DROSS", "DROVE", "DROWN", 
-"DRUBS", "DRUGS", "DRUID", "DRUMS", "DRUNK", "DRUPE", "DRYAD", 
-"DRYER", "DRYLY", "DUADS", "DUALS", "DUBIO", "DUCAL", "DUCAT", 
-"DUCES", "DUCHY", "DUCKS", "DUCKY", "DUCTS", "DUDDY", "DUDES", 
-"DUELS", "DUETS", "DUFFS", "DUFFY", "DUKES", "DULLS", "DULLY", 
-"DULSE", "DUMBS", "DUMMY", "DUMPS", "DUMPY", "DUNCE", "DUNES", 
-"DUNGS", "DUNGY", "DUNKS", "DUPED", "DUPER", "DUPES", "DUPLE", 
-"DURAL", "DURNS", "DURRA", "DURRS", "DURST", "DURUM", "DUSKS", 
-"DUSKY", "DUSTS", "DUSTY", "DUTCH", "DWARF", "DWELL", "DWELT", 
-"DYADS", "DYERS", "DYING", "DYKES", "DYNES", "EAGER", "EAGLE", 
-"EARED", "EARLS", "EARLY", "EARNS", "EARTH", "EASED", "EASEL", 
-"EASER", "EASES", "EASTS", "EATEN", "EATER", "EAVED", "EAVES", 
-"EBBED", "EBONS", "EBONY", "ECLAT", "ECOLE", "ECRUS", "EDEMA", 
-"EDGAR", "EDGED", "EDGER", "EDGES", "EDICT", "EDIFY", "EDITH", 
-"EDITS", "EDUCE", "EDUCT", "EERIE", "EGADS", "EGGED", "EGGER", 
-"EGRET", "EGYPT", "EIDER", "EIDOS", "EIGHT", "EIKON", "EJECT", 
-"EKING", "ELAND", "ELANS", "ELATE", "ELBOW", "ELDER", "ELECT", 
-"ELEGY", "ELFIN", "ELIDE", "ELITE", "ELLEN", "ELOPE", "ELSES", 
-"ELUDE", "ELVER", "ELVES", "ELVIS", "EMBAR", "EMBAY", "EMBED", 
-"EMBER", "EMBOW", "EMCEE", "EMEER", "EMEND", "EMERY", "EMILY", 
-"EMIRS", "EMITS", "EMMET", "EMOTE", "EMPTY", "ENACT", "ENATE", 
-"ENDED", "ENDER", "ENDOW", "ENDUE", "ENEMA", "ENEMY", "ENFIN", 
-"ENJOY", "ENNUI", "ENROL", "ENSKY", "ENSUE", "ENTER", "ENTRE", 
-"ENTRY", "ENURE", "ENVOI", "ENVOY", "EPEES", "EPICS", "EPOCH", 
-"EPODE", "EPOXY", "EPSOM", "EQUAL", "EQUIP", "ERASE", "ERECT", 
-"ERGOT", "ERICA", "ERODE", "EROSE", "ERRED", "ERROR", "ERUCT", 
-"ERUPT", "ESSAY", "ESSES", "ESTER", "ESTOP", "ETAPE", "ETHEL", 
-"ETHER", "ETHIC", "ETHOS", "ETHYL", "ETNAS", "ETUDE", "EULER", 
-"EVADE", "EVANS", "EVENS", "EVENT", "EVERT", "EVERY", "EVICT", 
-"EVILS", "EVOKE", "EWERS", "EWING", "EXACT", "EXALT", "EXAMS", 
-"EXCEL", "EXECS", "EXERT", "EXILE", "EXIST", "EXITS", "EXPEL", 
-"EXPOS", "EXPWY", "EXTOL", "EXTRA", "EXUDE", "EXULT", "EXURB", 
-"EXXON", "EYERS", "EYING", "EYRIE", "EYRIR", "FABLE", "FACED", 
-"FACER", "FACES", "FACET", "FACIA", "FACIE", "FACTO", "FACTS", 
-"FADDY", "FADED", "FADER", "FADES", "FAERY", "FAGOT", "FAILS", 
-"FAINT", "FAIRE", "FAIRS", "FAIRY", "FAITH", "FAITS", "FAKED", 
-"FAKER", "FAKES", "FAKIR", "FALLS", "FALSE", "FAMED", "FAMES", 
-"FANCY", "FANES", "FANGS", "FANNY", "FAQIR", "FARAD", "FARCE", 
-"FARCY", "FARDS", "FARED", "FARER", "FARES", "FARMS", "FAROS", 
-"FARTS", "FASTS", "FATAL", "FATED", "FATES", "FATLY", "FATSO", 
-"FATTY", "FAUGH", "FAULT", "FAUNA", "FAUNS", "FAUST", "FAUVE", 
-"FAVOR", "FAWNS", "FAWNY", "FAXED", "FAXES", "FAZED", "FAZES", 
-"FEARS", "FEASE", "FEAST", "FEATS", "FEAZE", "FECAL", "FECES", 
-"FEEDS", "FEELS", "FEIGN", "FEINT", "FEIST", "FELIX", "FELLA", 
-"FELLS", "FELLY", "FELON", "FELTS", "FEMME", "FEMUR", "FENCE", 
-"FENDS", "FENNY", "FEOFF", "FERAL", "FERMI", "FERNS", "FERNY", 
-"FERRY", "FESSE", "FETAL", "FETAS", "FETCH", "FETED", "FETES", 
-"FETID", "FETOR", "FETUS", "FEUDS", "FEVER", "FEWER", "FEYER", 
-"FEZES", "FIATS", "FIBER", "FIBRE", "FICHE", "FICHU", "FIDEL", 
-"FIDES", "FIDOS", "FIEFS", "FIELD", "FIEND", "FIERY", "FIFED", 
-"FIFER", "FIFES", "FIFTH", "FIFTY", "FIGHT", "FILAR", "FILCH", 
-"FILED", "FILER", "FILES", "FILET", "FILII", "FILLE", "FILLS", 
-"FILLY", "FILMS", "FILMY", "FILTH", "FINAL", "FINCH", "FINDS", 
-"FINED", "FINER", "FINES", "FINIS", "FINKS", "FINNS", "FINNY", 
-"FIORD", "FIRED", "FIRER", "FIRES", "FIRMA", "FIRMS", "FIRRY", 
-"FIRST", "FIRTH", "FISHY", "FISTS", "FITLY", "FIVER", "FIVES", 
-"FIXED", "FIXER", "FIXES", "FIXUP", "FIZZY", "FJORD", "FLABS", 
-"FLACK", "FLAGS", "FLAIL", "FLAIR", "FLAKE", "FLAKY", "FLAME", 
-"FLAMS", "FLAMY", "FLANK", "FLANS", "FLAPS", "FLARE", "FLASH", 
-"FLASK", "FLATS", "FLAWS", "FLAWY", "FLAXY", "FLAYS", "FLEAS", 
-"FLECK", "FLEER", "FLEES", "FLEET", "FLESH", "FLEWS", "FLICK", 
-"FLIED", "FLIER", "FLIES", "FLING", "FLINT", "FLIPS", "FLIRT", 
-"FLITE", "FLITS", "FLOAT", "FLOCK", "FLOES", "FLOGS", "FLOOD", 
-"FLOOR", "FLOPS", "FLORA", "FLOSS", "FLOUR", "FLOUT", "FLOWN", 
-"FLOWS", "FLUBS", "FLUED", "FLUES", "FLUFF", "FLUID", "FLUKE", 
-"FLUKY", "FLUME", "FLUMP", "FLUNG", "FLUNK", "FLUOR", "FLUSH", 
-"FLUTE", "FLUTY", "FLYBY", "FLYER", "FOALS", "FOAMS", "FOAMY", 
-"FOCAL", "FOCUS", "FOEHN", "FOETI", "FOGEY", "FOGGY", "FOGIE", 
-"FOILS", "FOINS", "FOIST", "FOLDS", "FOLIA", "FOLIC", "FOLIO", 
-"FOLKS", "FOLLY", "FONDS", "FONDU", "FONTS", "FOODS", "FOOLS", 
-"FOOTS", "FOOTY", "FORAY", "FORCE", "FORDS", "FORES", "FORGE", 
-"FORGO", "FORKS", "FORKY", "FORMA", "FORMS", "FORTE", "FORTH", 
-"FORTS", "FORTY", "FORUM", "FOSSA", "FOSSE", "FOULS", "FOUND", 
-"FOUNT", "FOURS", "FOVEA", "FOWLS", "FOXED", "FOXES", "FOYER", 
-"FRAGS", "FRAIL", "FRAME", "FRANC", "FRANK", "FRANZ", "FRAPS", 
-"FRATS", "FRAUD", "FRAUS", "FRAYS", "FREAK", "FREED", "FREER", 
-"FREES", "FREON", "FRERE", "FRESH", "FRETS", "FREUD", "FRIAR", 
-"FRIED", "FRIER", "FRIES", "FRIGS", "FRILL", "FRISK", "FRIZZ", 
-"FROCK", "FROES", "FROGS", "FROND", "FRONT", "FROSH", "FROST", 
-"FROTH", "FROWN", "FROZE", "FRUGS", "FRUIT", "FRUMP", "FRYER", 
-"FUCKS", "FUDGE", "FUELS", "FUGAL", "FUGGY", "FUGIT", "FUGUE", 
-"FUJIS", "FULLS", "FULLY", "FUMED", "FUMER", "FUMES", "FUMET", 
-"FUNDI", "FUNDS", "FUNGI", "FUNKS", "FUNKY", "FUNNY", "FURLS", 
-"FUROR", "FURRY", "FURZE", "FURZY", "FUSED", "FUSEE", "FUSEL", 
-"FUSES", "FUSIL", "FUSSY", "FUSTY", "FUZED", "FUZEE", "FUZES", 
-"FUZIL", "FUZZY", "GABBY", "GABLE", "GABON", "GAELS", "GAFFE", 
-"GAFFS", "GAGED", "GAGER", "GAGES", "GAILY", "GAINS", "GAITS", 
-"GALAS", "GALAX", "GALES", "GALLS", "GALLY", "GALOP", "GAMBA", 
-"GAMED", "GAMER", "GAMES", "GAMEY", "GAMIC", "GAMIN", "GAMMA", 
-"GAMUT", "GANEF", "GANEV", "GANGS", "GANJA", "GAOLS", "GAPED", 
-"GAPER", "GAPES", "GAPPY", "GARBO", "GARBS", "GARDE", "GARTH", 
-"GASES", "GASPS", "GASSY", "GATED", "GATES", "GATOR", "GAUDS", 
-"GAUDY", "GAUGE", "GAULS", "GAUNT", "GAUSS", "GAUZE", "GAUZY", 
-"GAVEL", "GAVOT", "GAWKS", "GAWKY", "GAYER", "GAYLY", "GAZED", 
-"GAZER", "GAZES", "GEARS", "GECKO", "GECKS", "GEEKS", "GEESE", 
-"GELDS", "GELEE", "GELID", "GELTS", "GEMMY", "GENAL", "GENES", 
-"GENET", "GENIC", "GENIE", "GENII", "GENOA", "GENRE", "GENTS", 
-"GENUS", "GEODE", "GEOID", "GERMS", "GERMY", "GESSO", "GESTE", 
-"GESTS", "GETUP", "GEUMS", "GHANA", "GHAST", "GHATS", "GHEES", 
-"GHOST", "GHOUL", "GIANT", "GIBED", "GIBER", "GIBES", "GIDDY", 
-"GIFTS", "GIGAS", "GIGUE", "GILDS", "GILLS", "GILLY", "GILTS", 
-"GIMEL", "GIMPS", "GIMPY", "GINKS", "GINNY", "GIPSY", "GIRDS", 
-"GIRLS", "GIRLY", "GIRNS", "GIROS", "GIRTH", "GIRTS", "GISMO", 
-"GISTS", "GIVEN", "GIVER", "GIVES", "GIVIN", "GIZMO", "GLACE", 
-"GLADE", "GLADS", "GLADY", "GLAND", "GLANS", "GLARE", "GLARY", 
-"GLASS", "GLAZE", "GLAZY", "GLEAM", "GLEAN", "GLEBA", "GLEBE", 
-"GLEES", "GLENS", "GLIDE", "GLIMS", "GLINT", "GLOAM", "GLOAT", 
-"GLOBE", "GLOBS", "GLOGG", "GLOMS", "GLOOM", "GLOPS", "GLORY", 
-"GLOSS", "GLOVE", "GLOWS", "GLOZE", "GLUED", "GLUER", "GLUES", 
-"GLUEY", "GLUTS", "GLYPH", "GNARL", "GNARS", "GNASH", "GNATS", 
-"GNAWN", "GNAWS", "GNOME", "GOADS", "GOALS", "GOATS", "GOBOS", 
-"GODLY", "GOERS", "GOFER", "GOGOS", "GOING", "GOLDS", "GOLEM", 
-"GOLFS", "GOLLY", "GOMBO", "GONAD", "GONER", "GONGS", "GONIF", 
-"GONOF", "GOODS", "GOODY", "GOOEY", "GOOFS", "GOOFY", "GOOKS", 
-"GOOKY", "GOONS", "GOONY", "GOOPS", "GOOSE", "GOOSY", "GORED", 
-"GORES", "GORGE", "GORKI", "GORSE", "GORSY", "GOTHS", "GOUDA", 
-"GOUGE", "GOURD", "GOUTS", "GOUTY", "GOWNS", "GOYIM", "GRAAL", 
-"GRABS", "GRACE", "GRADE", "GRADS", "GRAFT", "GRAIL", "GRAIN", 
-"GRAMP", "GRAMS", "GRANA", "GRAND", "GRANT", "GRAPE", "GRAPH", 
-"GRAPY", "GRASP", "GRASS", "GRATA", "GRATE", "GRAVE", "GRAVY", 
-"GRAYS", "GRAZE", "GREAT", "GREBE", "GRECO", "GREED", "GREEK", 
-"GREEN", "GREET", "GRETA", "GREYS", "GRIDS", "GRIEF", "GRIFT", 
-"GRIGS", "GRILL", "GRIME", "GRIMM", "GRIMY", "GRIND", "GRINS", 
-"GRIOT", "GRIPE", "GRIPS", "GRIPT", "GRIPY", "GRIST", "GRITS", 
-"GROAN", "GROAT", "GROGS", "GROIN", "GROOM", "GROPE", "GROSS", 
-"GROSZ", "GROTS", "GROUP", "GROUT", "GROVE", "GROWL", "GROWN", 
-"GROWS", "GRUBS", "GRUEL", "GRUFF", "GRUMP", "GRUNT", "GUACO", 
-"GUANO", "GUARD", "GUARS", "GUAVA", "GUCKS", "GUESS", "GUEST", 
-"GUFFS", "GUIDE", "GUILD", "GUILE", "GUILT", "GUIRO", "GUISE", 
-"GULCH", "GULFS", "GULFY", "GULLS", "GULLY", "GULPS", "GULPY", 
-"GUMBO", "GUMMY", "GUNKS", "GUNNY", "GUPPY", "GURUS", "GUSHY", 
-"GUSSY", "GUSTO", "GUSTS", "GUSTY", "GUTSY", "GUTTA", "GUTTY", 
-"GUYED", "GYPSY", "GYRAL", "GYRED", "GYRES", "GYROS", "GYRUS", 
-"GYVED", "GYVES", "HABIT", "HACKS", "HADES", "HADJI", "HADST", 
-"HAETS", "HAFTS", "HAGUE", "HAIKU", "HAILS", "HAIRS", "HAIRY", 
-"HAITI", "HAJIS", "HAJJI", "HAKES", "HALED", "HALER", "HALES", 
-"HALLO", "HALLS", "HALOS", "HALTS", "HALVA", "HALVE", "HAMMY", 
-"HANCE", "HANDS", "HANDY", "HANGS", "HANKS", "HANKY", "HANOI", 
-"HANTS", "HAOLE", "HAPLY", "HAPPY", "HARDS", "HARDY", "HARED", 
-"HAREM", "HARES", "HARKS", "HARMS", "HARPS", "HARPY", "HARRY", 
-"HARSH", "HARTS", "HASID", "HASPS", "HASTA", "HASTE", "HASTY", 
-"HATCH", "HATED", "HATER", "HATES", "HAUGH", "HAULS", "HAUNT", 
-"HAUTE", "HAVEN", "HAVER", "HAVES", "HAVOC", "HAWED", "HAWKS", 
-"HAWSE", "HAYDN", "HAYED", "HAYER", "HAYES", "HAZED", "HAZEL", 
-"HAZER", "HAZES", "HDQRS", "HEADS", "HEADY", "HEALS", "HEAPS", 
-"HEARD", "HEARS", "HEART", "HEATH", "HEATS", "HEAVE", "HEAVY", 
-"HECKS", "HEDGE", "HEDGY", "HEEDS", "HEELS", "HEFTS", "HEFTY", 
-"HEIGH", "HEILS", "HEIRS", "HEIST", "HELEN", "HELIO", "HELIX", 
-"HELLO", "HELLS", "HELMS", "HELOT", "HELPS", "HELVE", "HEMAN", 
-"HEMPS", "HEMPY", "HENCE", "HENNA", "HENRY", "HENTS", "HERBS", 
-"HERBY", "HERDS", "HERES", "HERON", "HEROS", "HERTZ", "HEWED", 
-"HEWER", "HEXAD", "HEXED", "HEXER", "HEXES", "HEXYL", "HICKS", 
-"HIDED", "HIDER", "HIDES", "HIGHS", "HIGHT", "HIKED", "HIKER", 
-"HIKES", "HILLS", "HILLY", "HILTS", "HINDI", "HINDS", "HINDU", 
-"HINGE", "HINNY", "HINTS", "HIPPO", "HIPPY", "HIRED", "HIRER", 
-"HIRES", "HISTS", "HITCH", "HIVED", "HIVES", "HOAGY", "HOARD", 
-"HOARY", "HOBBY", "HOBOS", "HOCKS", "HOCUS", "HODAD", "HOERS", 
-"HOGAN", "HOGGS", "HOISE", "HOIST", "HOKEY", "HOKUM", "HOLDS", 
-"HOLED", "HOLER", "HOLES", "HOLEY", "HOLLO", "HOLLY", "HOLTS", 
-"HOMED", "HOMER", "HOMES", "HOMEY", "HOMOS", "HONAN", "HONDA", 
-"HONED", "HONER", "HONES", "HONEY", "HONKS", "HONKY", "HONOR", 
-"HOOCH", "HOODS", "HOOEY", "HOOFS", "HOOKA", "HOOKS", "HOOKY", 
-"HOOPS", "HOOTS", "HOPED", "HOPER", "HOPES", "HOPIS", "HORAH", 
-"HORAL", "HORAS", "HORDE", "HORNS", "HORNY", "HORSE", "HORST", 
-"HORSY", "HOSED", "HOSES", "HOSTS", "HOTEL", "HOTLY", "HOUND", 
-"HOURI", "HOURS", "HOUSE", "HOVEL", "HOVER", "HOWDY", "HOWES", 
-"HOWLS", "HOYLE", "HUBBY", "HUCKS", "HUFFS", "HUFFY", "HUGER", 
-"HULAS", "HULKS", "HULKY", "HULLO", "HULLS", "HUMAN", "HUMID", 
-"HUMOR", "HUMPH", "HUMPS", "HUMPY", "HUMUS", "HUNCH", "HUNKS", 
-"HUNKY", "HUNTS", "HURLS", "HURLY", "HURON", "HURRY", "HURTS", 
-"HUSKS", "HUSKY", "HUSSY", "HUTCH", "HUZZA", "HYDRA", "HYDRO", 
-"HYENA", "HYING", "HYMEN", "HYMNS", "HYPED", "HYPER", "HYPES", 
-"HYPOS", "HYRAX", "HYSON", "IAMBI", "IAMBS", "ICHOR", "ICIER", 
-"ICILY", "ICING", "ICKER", "ICONS", "ICTUS", "IDAHO", "IDEAL", 
-"IDEAS", "IDIOM", "IDIOT", "IDLED", "IDLER", "IDLES", "IDOLS", 
-"IDYLL", "IDYLS", "IGLOO", "IGNIS", "IKONS", "ILEAL", "ILEUM", 
-"ILIAD", "ILIUM", "ILLER", "IMAGE", "IMAGO", "IMAMS", "IMBED", 
-"IMBUE", "IMMIX", "IMPED", "IMPEL", "IMPER", "IMPLY", "INANE", 
-"INAPT", "INARM", "INCAS", "INCOG", "INCUR", "INCUS", "INDEX", 
-"INDIA", "INDOL", "INDOW", "INDUE", "INEPT", "INERT", "INFER", 
-"INFIX", "INFOS", "INFRA", "INGLE", "INGOT", "INKED", "INKER", 
-"INKLE", "INLAY", "INLET", "INNED", "INNER", "INPUT", "INSET", 
-"INSTR", "INTEL", "INTER", "INTRA", "INTRO", "INURE", "INURN", 
-"IODIN", "IONIC", "IOTAS", "IOWAN", "IRAQI", "IRATE", "IRENE", 
-"IRING", "IRISH", "IRKED", "IRONS", "IRONY", "ISAAC", "ISLAM", 
-"ISLED", "ISLES", "ISLET", "ISSEI", "ISSUE", "ISTLE", "ITALY", 
-"ITCHY", "ITEMS", "IVIED", "IVIES", "IVORY", "IXIAS", "JABOT", 
-"JACAL", "JACKS", "JACKY", "JACOB", "JADED", "JADES", "JAGGS", 
-"JAGGY", "JAILS", "JAKES", "JALAP", "JAMBS", "JAMES", "JANES", 
-"JANET", "JANUS", "JAPAN", "JAPED", "JAPER", "JAPES", "JASON", 
-"JATOS", "JAUNT", "JAVAS", "JAWED", "JAZZY", "JEANS", "JEEPS", 
-"JEERS", "JEFES", "JEHAD", "JEHUS", "JELLS", "JELLY", "JEMMY", 
-"JENNY", "JERKS", "JERKY", "JERRY", "JESSE", "JESTS", "JESUS", 
-"JETTY", "JEWED", "JEWEL", "JEWRY", "JIBED", "JIBER", "JIBES", 
-"JIFFS", "JIFFY", "JIHAD", "JILLS", "JILTS", "JIMMY", "JINGO", 
-"JINNI", "JINNS", "JIVED", "JIVES", "JNANA", "JOCKO", "JOCKS", 
-"JOEYS", "JOHNS", "JOINS", "JOINT", "JOIST", "JOKED", "JOKER", 
-"JOKES", "JOLLY", "JOLTS", "JOLTY", "JONAH", "JONES", "JORAM", 
-"JORUM", "JOTTY", "JOULE", "JOUST", "JOWLS", "JOWLY", "JOYCE", 
-"JOYED", "JUANS", "JUDAS", "JUDGE", "JUDOS", "JUICE", "JUICY", 
-"JUJUS", "JUKED", "JUKES", "JULEP", "JUMBO", "JUMPS", "JUMPY", 
-"JUNCO", "JUNKS", "JUNKY", "JUNTA", "JUNTO", "JUROR", "JUSTS", 
-"JUTES", "JUTTY", "JUXTA", "KABOB", "KADIS", "KAFIR", "KAFKA", 
-"KAIAK", "KAKAS", "KAKIS", "KALES", "KALIF", "KALPA", "KAMES", 
-"KANAS", "KANJI", "KAONS", "KAPOK", "KAPPA", "KAPUT", "KARAT", 
-"KAREN", "KARMA", "KARST", "KARTS", "KASHA", "KATHY", "KAYAK", 
-"KAYOS", "KAZOO", "KEATS", "KEBAB", "KEBOB", "KEDGE", "KEEFS", 
-"KEELS", "KEENS", "KEEPS", "KEFIR", "KELPS", "KELPY", "KELTS", 
-"KEMPT", "KENDO", "KENNY", "KENOS", "KENYA", "KEPIS", "KERBS", 
-"KERFS", "KERNS", "KERRY", "KETCH", "KEYED", "KHAKI", "KHANS", 
-"KHATS", "KICKS", "KICKY", "KIDDO", "KIDDY", "KIEFS", "KIKES", 
-"KILLS", "KILNS", "KILOS", "KILTS", "KILTY", "KINDS", "KINES", 
-"KINGS", "KINKS", "KINKY", "KIOSK", "KIOWA", "KIRKS", "KITED", 
-"KITER", "KITES", "KITHS", "KITTY", "KIVAS", "KIWIS", "KLANS", 
-"KLEIG", "KLIEG", "KLUTZ", "KNACK", "KNAPS", "KNAVE", "KNEAD", 
-"KNEED", "KNEEL", "KNEES", "KNELL", "KNELT", "KNIFE", "KNISH", 
-"KNITS", "KNOBS", "KNOCK", "KNOLL", "KNOTS", "KNOUT", "KNOWN", 
-"KNOWS", "KNURL", "KOALA", "KOANS", "KODAK", "KOHLS", "KOLAS", 
-"KOOKS", "KOOKY", "KOPEK", "KOPHS", "KOPJE", "KORAN", "KOREA", 
-"KOTOS", "KRAAL", "KRAFT", "KRAIT", "KRAUT", "KREBS", "KRILL", 
-"KRONA", "KRONE", "KUDOS", "KUDUS", "KUDZU", "KULAK", "KYATS", 
-"KYOTO", "KYRIE", "LABEL", "LABIA", "LABOR", "LACED", "LACER", 
-"LACES", "LACEY", "LACKS", "LADED", "LADEN", "LADER", "LADES", 
-"LADLE", "LAGER", "LAIRD", "LAIRS", "LAITY", "LAKED", "LAKER", 
-"LAKES", "LAMAS", "LAMBS", "LAMED", "LAMER", "LAMES", "LAMIA", 
-"LAMPS", "LANAI", "LANCE", "LANDS", "LANES", "LANKY", "LAPEL", 
-"LAPIN", "LAPIS", "LAPPS", "LAPSE", "LARCH", "LARDS", "LARDY", 
-"LARES", "LARGE", "LARGO", "LARKS", "LARKY", "LARRY", "LARVA", 
-"LASED", "LASER", "LASES", "LASSO", "LASTS", "LATCH", "LATED", 
-"LATEN", "LATER", "LATEX", "LATHE", "LATHS", "LATHY", "LATIN", 
-"LAUDE", "LAUDS", "LAUGH", "LAURA", "LAVAS", "LAVED", "LAVER", 
-"LAVES", "LAWED", "LAWNS", "LAWNY", "LAXER", "LAXLY", "LAYED", 
-"LAYER", "LAZAR", "LAZED", "LAZES", "LEACH", "LEADS", "LEADY", 
-"LEAFS", "LEAFY", "LEAKS", "LEAKY", "LEANS", "LEANT", "LEAPS", 
-"LEAPT", "LEARN", "LEARY", "LEASE", "LEASH", "LEAST", "LEAVE", 
-"LEDGE", "LEDGY", "LEECH", "LEEDS", "LEEKS", "LEERS", "LEERY", 
-"LEFTS", "LEFTY", "LEGAL", "LEGER", "LEGGY", "LEGIT", "LEMAN", 
-"LEMMA", "LEMON", "LEMUR", "LENDS", "LENIN", "LENSE", "LENTO", 
-"LEONE", "LEPER", "LETCH", "LETHE", "LETUP", "LEVEE", "LEVEL", 
-"LEVER", "LEVIN", "LEVIS", "LEWIS", "LIANA", "LIARS", "LIBEL", 
-"LIBER", "LIBRA", "LIBRE", "LIBYA", "LICHI", "LICHT", "LICIT", 
-"LICKS", "LIDAR", "LIDOS", "LIEGE", "LIENS", "LIERS", "LIEUT", 
-"LIFER", "LIFTS", "LIGER", "LIGHT", "LIKED", "LIKEN", "LIKER", 
-"LIKES", "LILAC", "LILLY", "LILTS", "LIMAS", "LIMBO", "LIMBS", 
-"LIMBY", "LIMED", "LIMES", "LIMEY", "LIMIT", "LIMNS", "LIMOS", 
-"LIMPS", "LINAC", "LINDA", "LINDY", "LINED", "LINEN", "LINER", 
-"LINES", "LINEY", "LINGO", "LINGS", "LINKS", "LINKY", "LINOS", 
-"LINTS", "LINTY", "LINUM", "LIONS", "LIPID", "LIPPY", "LIRAS", 
-"LISLE", "LISPS", "LISTS", "LISZT", "LITER", "LITES", "LITHE", 
-"LITHO", "LITRE", "LIVED", "LIVEN", "LIVER", "LIVES", "LIVID", 
-"LIVRE", "LLAMA", "LLANO", "LOACH", "LOADS", "LOAFS", "LOAMS", 
-"LOAMY", "LOANS", "LOATH", "LOBAR", "LOBBY", "LOBED", "LOBES", 
-"LOBOS", "LOCAL", "LOCHS", "LOCKS", "LOCOS", "LOCUS", "LODEN", 
-"LODES", "LODGE", "LOESS", "LOFTS", "LOFTY", "LOGAN", "LOGES", 
-"LOGGY", "LOGIA", "LOGIC", "LOGOS", "LOINS", "LOLLS", "LOLLY", 
-"LONER", "LONGS", "LOOFA", "LOOFS", "LOOKS", "LOOMS", "LOONS", 
-"LOONY", "LOOPS", "LOOPY", "LOOSE", "LOOTS", "LOPED", "LOPER", 
-"LOPES", "LOPPY", "LORAN", "LORDS", "LORES", "LORIS", "LORRY", 
-"LOSER", "LOSES", "LOSSY", "LOTOS", "LOTTO", "LOTUS", "LOUGH", 
-"LOUIE", "LOUIS", "LOUPE", "LOUPS", "LOURS", "LOURY", "LOUSE", 
-"LOUSY", "LOUTS", "LOVED", "LOVER", "LOVES", "LOWED", "LOWER", 
-"LOWLY", "LOXES", "LOYAL", "LUAUS", "LUBES", "LUCES", "LUCIA", 
-"LUCID", "LUCKS", "LUCKY", "LUCRE", "LUFFS", "LUGES", "LULLS", 
-"LULUS", "LUMEN", "LUMPS", "LUMPY", "LUNAR", "LUNAS", "LUNCH", 
-"LUNES", "LUNET", "LUNGE", "LUNGS", "LUNKS", "LUPIN", "LUPUS", 
-"LURCH", "LURED", "LURER", "LURES", "LURID", "LURKS", "LUSTS", 
-"LUSTY", "LUTED", "LUTES", "LUXES", "LYCEE", "LYING", "LYMPH", 
-"LYNCH", "LYRES", "LYRIC", "LYSED", "LYSES", "LYSIN", "MACAW", 
-"MACED", "MACER", "MACES", "MACHO", "MACHS", "MACKS", "MACLE", 
-"MACRO", "MADAM", "MADLY", "MADRE", "MAFIA", "MAGES", "MAGIC", 
-"MAGMA", "MAGUS", "MAIDS", "MAILS", "MAIMS", "MAINE", "MAINS", 
-"MAIST", "MAIZE", "MAJOR", "MAKER", "MAKES", "MALAY", "MALES", 
-"MALLS", "MALTA", "MALTS", "MALTY", "MAMAS", "MAMBA", "MAMBO", 
-"MAMIE", "MAMMA", "MAMMY", "MANAS", "MANED", "MANES", "MANGE", 
-"MANGO", "MANGY", "MANIA", "MANIC", "MANLY", "MANNA", "MANOR", 
-"MANOS", "MANSE", "MANTA", "MANUS", "MAORI", "MAPLE", "MAQUI", 
-"MARCH", "MARCS", "MARDI", "MARES", "MARGE", "MARIA", "MARIE", 
-"MARKS", "MARRY", "MARSE", "MARSH", "MARTS", "MASER", "MASHY", 
-"MASKS", "MASON", "MASSA", "MASSE", "MASSY", "MASTS", "MATCH", 
-"MATED", "MATER", "MATES", "MATEY", "MATHS", "MATIN", "MATTE", 
-"MATTS", "MATZO", "MAULS", "MAUVE", "MAVEN", "MAVIN", "MAXIM", 
-"MAXIS", "MAYAN", "MAYAS", "MAYBE", "MAYOR", "MAYST", "MAZED", 
-"MAZEL", "MAZER", "MAZES", "MEADS", "MEALS", "MEALY", "MEANS", 
-"MEANT", "MEANY", "MEATS", "MEATY", "MECCA", "MECUM", "MEDAL", 
-"MEDIA", "MEDIC", "MEEDS", "MEETS", "MELBA", "MELDS", "MELEE", 
-"MELON", "MELTS", "MEMOS", "MENDS", "MENUS", "MEOWS", "MERCI", 
-"MERCY", "MERER", "MERES", "MERGE", "MERIT", "MERRY", "MESAS", 
-"MESHY", "MESON", "MESSY", "METAL", "METED", "METER", "METES", 
-"METRE", "METRO", "MEWED", "MEWLS", "MEZZO", "MIAMI", "MIAOU", 
-"MIAOW", "MIASM", "MIAUL", "MICAS", "MICKS", "MICRO", "MIDAS", 
-"MIDDY", "MIDGE", "MIDIS", "MIDST", "MIENS", "MIFFS", "MIFFY", 
-"MIGGS", "MIGHT", "MIKES", "MILAN", "MILCH", "MILER", "MILES", 
-"MILKS", "MILKY", "MILLE", "MILLS", "MILOS", "MIMED", "MIMEO", 
-"MIMER", "MIMES", "MIMIC", "MINCE", "MINCY", "MINDS", "MINED", 
-"MINER", "MINES", "MINGY", "MINIM", "MINIS", "MINKS", "MINNY", 
-"MINOR", "MINTS", "MINTY", "MINUS", "MIRED", "MIRES", "MIRKS", 
-"MIRKY", "MIRTH", "MIRVS", "MISDO", "MISER", "MISOS", "MISSY", 
-"MISTS", "MISTY", "MITER", "MITES", "MITRE", "MITTS", "MIXED", 
-"MIXER", "MIXES", "MIXUP", "MOANS", "MOATS", "MOBIL", "MOCHA", 
-"MOCKS", "MODAL", "MODEL", "MODEM", "MODES", "MODUS", "MOGUL", 
-"MOILS", "MOIRE", "MOIST", "MOLAR", "MOLDS", "MOLDY", "MOLES", 
-"MOLLS", "MOLLY", "MOLTO", "MOLTS", "MOMMA", "MOMMY", "MONAD", 
-"MONDE", "MONDO", "MONEY", "MONKS", "MONOS", "MONTE", "MONTH", 
-"MOOCH", "MOODS", "MOODY", "MOOED", "MOOLA", "MOONS", "MOONY", 
-"MOORE", "MOORS", "MOORY", "MOOSE", "MOOTS", "MOPED", "MOPER", 
-"MOPES", "MOPEY", "MORAL", "MORAY", "MOREL", "MORES", "MORNS", 
-"MORON", "MORPH", "MORSE", "MOSES", "MOSEY", "MOSKS", "MOSSY", 
-"MOSTS", "MOTEL", "MOTES", "MOTET", "MOTEY", "MOTHS", "MOTHY", 
-"MOTIF", "MOTOR", "MOTTO", "MOUES", "MOULD", "MOULT", "MOUND", 
-"MOUNT", "MOURN", "MOUSE", "MOUSY", "MOUTH", "MOVED", "MOVER", 
-"MOVES", "MOVIE", "MOWED", "MOWER", "MOXAS", "MOXIE", "MUCKS", 
-"MUCKY", "MUCUS", "MUDDY", "MUDRA", "MUFFS", "MUFTI", "MUGGS", 
-"MUGGY", "MUJIK", "MULCH", "MULCT", "MULED", "MULES", "MULEY", 
-"MULLA", "MULLS", "MULTI", "MULTO", "MUMBO", "MUMMS", "MUMMY", 
-"MUMPS", "MUNCH", "MUONS", "MURAL", "MUREX", "MURKS", "MURKY", 
-"MUSED", "MUSER", "MUSES", "MUSHY", "MUSIC", "MUSKS", "MUSKY", 
-"MUSSY", "MUSTS", "MUSTY", "MUTED", "MUTER", "MUTES", "MUTTS", 
-"MUZZY", "MYLAR", "MYNAH", "MYNAS", "MYOPE", "MYOPY", "MYRRH", 
-"MYTHS", "NABOB", "NACRE", "NADIR", "NAIAD", "NAIFS", "NAILS", 
-"NAIVE", "NAKED", "NAMED", "NAMER", "NAMES", "NANCE", "NANCY", 
-"NANNY", "NAPES", "NAPPY", "NARCO", "NARCS", "NARES", "NARIS", 
-"NARKS", "NASAL", "NASTY", "NATAL", "NATES", "NATTY", "NAVAL", 
-"NAVEL", "NAVES", "NAVVY", "NAZIS", "NEAPS", "NEARS", "NEATH", 
-"NEATS", "NECKS", "NEEDS", "NEEDY", "NEGRO", "NEGUS", "NEHRU", 
-"NEIGH", "NEONS", "NEPAL", "NERDS", "NERTS", "NERTZ", "NERVE", 
-"NERVY", "NESTS", "NETTY", "NEVER", "NEVUS", "NEWEL", "NEWER", 
-"NEWLY", "NEWSY", "NEWTS", "NEXUS", "NICER", "NICHE", "NICKS", 
-"NIECE", "NIFTY", "NIGHS", "NIGHT", "NIHIL", "NILLS", "NIMBI", 
-"NINES", "NINNY", "NINON", "NINTH", "NIPPY", "NISEI", "NITER", 
-"NITRE", "NITRO", "NITTY", "NIXED", "NIXES", "NIXIE", "NIXON", 
-"NOBBY", "NOBEL", "NOBLE", "NOBLY", "NOCKS", "NODAL", "NODDY", 
-"NODES", "NODUS", "NOELS", "NOGGS", "NOHOW", "NOIRE", "NOISE", 
-"NOISY", "NOLLE", "NOMAD", "NONCE", "NONES", "NOOKS", "NOOKY", 
-"NOONS", "NOOSE", "NORMA", "NORMS", "NORSE", "NORTH", "NOSED", 
-"NOSES", "NOSEY", "NOTAL", "NOTCH", "NOTED", "NOTER", "NOTES", 
-"NOTRE", "NOUNS", "NOVAE", "NOVAS", "NOVEL", "NOWAY", "NUBBY", 
-"NUBIA", "NUDER", "NUDES", "NUDGE", "NUDIE", "NUDUM", "NUKES", 
-"NULLO", "NULLS", "NUMBS", "NURSE", "NUTTY", "NYLON", "NYMPH", 
-"OAKEN", "OAKUM", "OARED", "OASES", "OASIS", "OASTS", "OATEN", 
-"OATER", "OATHS", "OBEAH", "OBELI", "OBESE", "OBEYS", "OBITS", 
-"OBOES", "OBOLS", "OCCUR", "OCEAN", "OCHER", "OCHRE", "OCTAD", 
-"OCTAL", "OCTET", "OCTYL", "OCULI", "ODDER", "ODDLY", "ODEON", 
-"ODIUM", "ODORS", "ODOUR", "OFAYS", "OFFAL", "OFFED", "OFFER", 
-"OFTEN", "OFTER", "OGEES", "OGHAM", "OGIVE", "OGLED", "OGLER", 
-"OGLES", "OGRES", "OHING", "OHMIC", "OILED", "OILER", "OINKS", 
-"OKAPI", "OKAYS", "OKRAS", "OLDEN", "OLDER", "OLDIE", "OLEOS", 
-"OLIOS", "OLIVE", "OLLAS", "OLOGY", "OMAHA", "OMBRE", "OMEGA", 
-"OMENS", "OMITS", "ONCES", "ONERY", "ONION", "ONSET", "OOHED", 
-"OOMPH", "OOZED", "OOZES", "OPALS", "OPENS", "OPERA", "OPINE", 
-"OPIUM", "OPTED", "OPTIC", "ORALS", "ORANG", "ORATE", "ORBED", 
-"ORBIT", "ORCAS", "ORDER", "ORDOS", "OREAD", "ORGAN", "ORGIC", 
-"ORIEL", "ORION", "ORLON", "ORRIS", "ORTHO", "OSAGE", "OSAKA", 
-"OSCAR", "OSIER", "OSMIC", "OSSEA", "OSSIA", "OSTIA", "OTHER", 
-"OTTER", "OUGHT", "OUIJA", "OUNCE", "OUSEL", "OUSTS", "OUTDO", 
-"OUTED", "OUTER", "OUTGO", "OUTRE", "OUZEL", "OUZOS", "OVALS", 
-"OVARY", "OVATE", "OVENS", "OVERS", "OVERT", "OVINE", "OVOID", 
-"OVOLO", "OVULE", "OWING", "OWLET", "OWNED", "OWNER", "OXBOW", 
-"OXEYE", "OXIDE", "OXLIP", "OXTER", "OYERS", "OZONE", "PACED", 
-"PACER", "PACES", "PACKS", "PACTA", "PACTS", "PADDY", "PADRE", 
-"PADRI", "PAEAN", "PAGAN", "PAGED", "PAGES", "PAILS", "PAINE", 
-"PAINS", "PAINT", "PAIRS", "PALED", "PALER", "PALES", "PALLS", 
-"PALLY", "PALMS", "PALMY", "PALPS", "PALSY", "PAMPA", "PANDA", 
-"PANED", "PANEL", "PANES", "PANGA", "PANGS", "PANIC", "PANSY", 
-"PANTS", "PANTY", "PAPAL", "PAPAS", "PAPAW", "PAPER", "PAPPY", 
-"PAPUA", "PARAS", "PARCH", "PARED", "PARER", "PARES", "PARIS", 
-"PARKA", "PARKS", "PARRY", "PARSE", "PARTE", "PARTI", "PARTS", 
-"PARTY", "PARVE", "PASEO", "PASHA", "PASSE", "PASTA", "PASTE", 
-"PASTS", "PASTY", "PATCH", "PATED", "PATEN", "PATER", "PATES", 
-"PATHS", "PATIO", "PATLY", "PATSY", "PATTY", "PAUSE", "PAVAN", 
-"PAVED", "PAVER", "PAVES", "PAWED", "PAWER", "PAWKY", "PAWLS", 
-"PAWNS", "PAXES", "PAYED", "PAYEE", "PAYER", "PEACE", "PEACH", 
-"PEAKS", "PEAKY", "PEALS", "PEARL", "PEARS", "PEART", "PEASE", 
-"PEATS", "PEATY", "PEAVY", "PECAN", "PECKS", "PECKY", "PEDAL", 
-"PEDES", "PEDRO", "PEEKS", "PEELS", "PEENS", "PEEPS", "PEERS", 
-"PEERY", "PEEVE", "PEGGY", "PEINS", "PEKES", "PEKIN", "PEKOE", 
-"PELFS", "PELTS", "PENAL", "PENCE", "PENDS", "PENES", "PENIS", 
-"PENNA", "PENNY", "PENSE", "PEONS", "PEONY", "PEPPY", "PEPSI", 
-"PERCH", "PERDU", "PERDY", "PERES", "PERIL", "PERIS", "PERKS", 
-"PERKY", "PERMS", "PERRY", "PESKY", "PESOS", "PESTS", "PETAL", 
-"PETER", "PETIT", "PETRI", "PETRO", "PETTY", "PEWEE", "PEWIT", 
-"PHAGE", "PHARM", "PHASE", "PHIAL", "PHLOX", "PHONE", "PHONO", 
-"PHONS", "PHONY", "PHOTO", "PHREN", "PHYLA", "PIANO", "PICAS", 
-"PICKS", "PICKY", "PICOT", "PIECE", "PIERS", "PIETA", "PIETY", 
-"PIGGY", "PIGMY", "PIKED", "PIKER", "PIKES", "PILAF", "PILAR", 
-"PILED", "PILES", "PILLS", "PILOT", "PIMAS", "PIMPS", "PINCH", 
-"PINED", "PINES", "PINEY", "PINGS", "PINKO", "PINKS", "PINKY", 
-"PINNA", "PINON", "PINTA", "PINTO", "PINTS", "PINUP", "PIONS", 
-"PIOUS", "PIPED", "PIPER", "PIPES", "PIPET", "PIPIT", "PIQUE", 
-"PIROG", "PITAS", "PITCH", "PITHS", "PITHY", "PITON", "PIVOT", 
-"PIXEL", "PIXES", "PIXIE", "PIZZA", "PLACE", "PLACK", "PLAID", 
-"PLAIN", "PLAIT", "PLANE", "PLANK", "PLANS", "PLANT", "PLASH", 
-"PLASM", "PLATE", "PLATO", "PLATS", "PLATY", "PLAYA", "PLAYS", 
-"PLAZA", "PLEAD", "PLEAS", "PLEAT", "PLEBE", "PLEBS", "PLENA", 
-"PLIED", "PLIER", "PLIES", "PLINK", "PLODS", "PLONK", "PLOPS", 
-"PLOTS", "PLOWS", "PLOYS", "PLUCK", "PLUGS", "PLUMB", "PLUME", 
-"PLUMP", "PLUMS", "PLUMY", "PLUNK", "PLUSH", "PLUTO", "PLYER", 
-"POACH", "POCKS", "POCKY", "PODGY", "PODIA", "POEMS", "POESY", 
-"POETS", "POILU", "POINT", "POISE", "POKED", "POKER", "POKES", 
-"POKEY", "POLAR", "POLED", "POLER", "POLES", "POLIO", "POLIS", 
-"POLIT", "POLKA", "POLLS", "POLYP", "POLYS", "POMES", "POMPS", 
-"PONCE", "PONDS", "PONES", "POOCH", "POOHS", "POOLS", "POOPS", 
-"POPES", "POPPA", "POPPY", "PORCH", "PORED", "PORES", "PORGY", 
-"PORKS", "PORKY", "PORNO", "PORNS", "PORTS", "POSED", "POSER", 
-"POSES", "POSIT", "POSSE", "POSTS", "POTSY", "POTTY", "POUCH", 
-"POUFF", "POUFS", "POULT", "POUND", "POURS", "POUTS", "POUTY", 
-"POWER", "POXED", "POXES", "PRAMS", "PRANA", "PRANK", "PRAOS", 
-"PRATE", "PRATS", "PRAUS", "PRAWN", "PRAYS", "PREEN", "PREPS", 
-"PRESS", "PREST", "PREXY", "PREYS", "PRICE", "PRICK", "PRICY", 
-"PRIDE", "PRIED", "PRIER", "PRIES", "PRIGS", "PRIMA", "PRIME", 
-"PRIMO", "PRIMP", "PRIMS", "PRINK", "PRINT", "PRIOR", "PRISE", 
-"PRISM", "PRISS", "PRIVY", "PRIZE", "PROAS", "PROBE", "PRODS", 
-"PROEM", "PROFS", "PROGS", "PROLE", "PROMS", "PRONE", "PRONG", 
-"PROOF", "PROPS", "PROSE", "PROSY", "PROUD", "PROVE", "PROWL", 
-"PROWS", "PROXY", "PRUDE", "PRUNE", "PRYER", "PSALM", "PSEUD", 
-"PSHAW", "PSYCH", "PUBES", "PUBIC", "PUBIS", "PUCES", "PUCKS", 
-"PUDGY", "PUFFS", "PUFFY", "PUGGY", "PUKED", "PUKES", "PUKKA", 
-"PULED", "PULER", "PULES", "PULLS", "PULPS", "PULPY", "PULSE", 
-"PUMAS", "PUMPS", "PUNCH", "PUNKS", "PUNKY", "PUNNY", "PUNTS", 
-"PUNTY", "PUPAE", "PUPAL", "PUPAS", "PUPIL", "PUPPY", "PUREE", 
-"PURER", "PURGE", "PURIM", "PURLS", "PURRS", "PURSE", "PURSY", 
-"PUSHY", "PUSSY", "PUTON", "PUTTS", "PUTTY", "PYGMY", "PYLON", 
-"PYRES", "PYREX", "PYRIC", "PYXES", "PYXIE", "PYXIS", "QAIDS", 
-"QATAR", "QIANA", "QOPHS", "QUACK", "QUADS", "QUAFF", "QUAGS", 
-"QUAIL", "QUAIS", "QUAKE", "QUAKY", "QUALE", "QUALM", "QUANT", 
-"QUARK", "QUART", "QUASH", "QUASI", "QUAYS", "QUEAN", "QUEEN", 
-"QUEER", "QUELL", "QUERN", "QUERY", "QUEST", "QUEUE", "QUEYS", 
-"QUICK", "QUIDS", "QUIET", "QUILL", "QUILT", "QUINT", "QUIPS", 
-"QUIPU", "QUIRE", "QUIRK", "QUIRT", "QUITE", "QUITO", "QUITS", 
-"QUODS", "QUOIN", "QUOIT", "QUOTA", "QUOTE", "QUOTH", "QURSH", 
-"RABBI", "RABIC", "RABID", "RACED", "RACER", "RACES", "RACKS", 
-"RADAR", "RADII", "RADIO", "RADIX", "RADON", "RAFTS", "RAGAS", 
-"RAGED", "RAGES", "RAGGY", "RAIDS", "RAILS", "RAINS", "RAINY", 
-"RAISE", "RAJAH", "RAJAS", "RAKED", "RAKER", "RAKES", "RALES", 
-"RALLY", "RALPH", "RAMIE", "RAMPS", "RANCH", "RANDS", "RANDY", 
-"RANEE", "RANGE", "RANGY", "RANIS", "RANKS", "RANTS", "RAPED", 
-"RAPER", "RAPES", "RAPID", "RARER", "RASED", "RASER", "RASES", 
-"RASPS", "RASPY", "RATCH", "RATED", "RATER", "RATES", "RATIO", 
-"RATTY", "RAVED", "RAVEL", "RAVEN", "RAVER", "RAVES", "RAWER", 
-"RAWLY", "RAYED", "RAYON", "RAZED", "RAZEE", "RAZER", "RAZES", 
-"RAZOR", "REACH", "REACT", "READD", "READS", "READY", "REALM", 
-"REALS", "REAMS", "REAPS", "REARM", "REARS", "REAVE", "REBBE", 
-"REBEC", "REBEL", "REBID", "REBOP", "REBUS", "REBUT", "RECAP", 
-"RECKS", "RECON", "RECTA", "RECTI", "RECTO", "RECUR", "RECUT", 
-"REDED", "REDES", "REDID", "REDIP", "REDLY", "REDOS", "REDOX", 
-"REDRY", "REDUX", "REDYE", "REEDS", "REEDY", "REEFS", "REEFY", 
-"REEKS", "REEKY", "REELS", "REEVE", "REFED", "REFER", "REFIT", 
-"REFIX", "REFLY", "REFRY", "REGAL", "REGES", "REGIA", "REHEM", 
-"REICH", "REIFY", "REIGN", "REINS", "REKEY", "RELAX", "RELAY", 
-"RELET", "RELIC", "RELIT", "REMAN", "REMAP", "REMET", "REMIT", 
-"REMIX", "RENAL", "RENDS", "RENEW", "RENIG", "RENTS", "REOIL", 
-"REPAY", "REPEL", "REPIN", "REPLY", "REPRO", "RERAN", "RERUN", 
-"RESAW", "RESAY", "RESEE", "RESET", "RESEW", "RESIN", "RESOW", 
-"RESTS", "RETCH", "RETIE", "RETRO", "RETRY", "REUSE", "REVEL", 
-"REVUE", "REWAX", "REWED", "REWIN", "REWON", "REXES", "RHEAS", 
-"RHEUM", "RHINE", "RHINO", "RHOMB", "RHUMB", "RHYME", "RHYTA", 
-"RIALS", "RIBBY", "RICED", "RICER", "RICES", "RICHE", "RICKS", 
-"RIDER", "RIDES", "RIDGE", "RIDGY", "RIELS", "RIFER", "RIFFS", 
-"RIFLE", "RIFTS", "RIGHT", "RIGID", "RIGOR", "RILED", "RILES", 
-"RILLS", "RIMED", "RIMES", "RINDS", "RINGS", "RINKS", "RINSE", 
-"RIOTS", "RIPEN", "RIPER", "RIPES", "RISEN", "RISER", "RISES", 
-"RISHI", "RISKS", "RISKY", "RISUS", "RITES", "RITZY", "RIVAL", 
-"RIVED", "RIVEN", "RIVER", "RIVES", "RIVET", "RIYAL", "ROACH", 
-"ROADS", "ROAMS", "ROANS", "ROARS", "ROAST", "ROBED", "ROBES", 
-"ROBIN", "ROBLE", "ROBOT", "ROCKS", "ROCKY", "RODEO", "ROGER", 
-"ROGUE", "ROILS", "ROILY", "ROLES", "ROLLS", "ROMAN", "ROMEO", 
-"ROMPS", "RONDO", "ROODS", "ROOFS", "ROOKS", "ROOKY", "ROOMS", 
-"ROOMY", "ROOST", "ROOTS", "ROOTY", "ROPED", "ROPER", "ROPES", 
-"ROSED", "ROSES", "ROSHI", "ROSIN", "ROTES", "ROTOR", "ROUES", 
-"ROUGE", "ROUGH", "ROUND", "ROUSE", "ROUST", "ROUTE", "ROUTS", 
-"ROVED", "ROVER", "ROVES", "ROWAN", "ROWDY", "ROWED", "ROWEL", 
-"ROWER", "ROYAL", "RUBES", "RUBLE", "RUCKS", "RUDDY", "RUDER", 
-"RUERS", "RUFFS", "RUGBY", "RUING", "RUINS", "RULED", "RULER", 
-"RULES", "RUMBA", "RUMMY", "RUMOR", "RUMPS", "RUNES", "RUNGS", 
-"RUNIC", "RUNNY", "RUNTS", "RUNTY", "RUPEE", "RURAL", "RUSES", 
-"RUSHY", "RUSKS", "RUSSE", "RUSTS", "RUSTY", "RUTHS", "RUTTY", 
-"SABER", "SABLE", "SABOT", "SABRA", "SACKS", "SACRA", "SADHU", 
-"SADLY", "SAFER", "SAFES", "SAGAS", "SAGER", "SAGES", "SAGGY", 
-"SAGOS", "SAHIB", "SAIDS", "SAILS", "SAINT", "SAITH", "SAKES", 
-"SAKIS", "SALAD", "SALEM", "SALES", "SALLY", "SALON", "SALSA", 
-"SALTS", "SALTY", "SALVE", "SALVO", "SAMBA", "SAMBO", "SAMOA", 
-"SANDS", "SANDY", "SANED", "SANER", "SANES", "SANGA", "SANGH", 
-"SANKA", "SANTA", "SAPID", "SAPOR", "SAPPY", "SARAH", "SARAN", 
-"SAREE", "SARGE", "SARIS", "SAROD", "SASSY", "SATAN", "SATED", 
-"SATES", "SATIN", "SATYR", "SAUCE", "SAUCY", "SAUDI", "SAULS", 
-"SAULT", "SAUNA", "SAUTE", "SAVED", "SAVER", "SAVES", "SAVOR", 
-"SAVOY", "SAVVY", "SAWED", "SAWER", "SAXES", "SAXON", "SAYEE", 
-"SAYER", "SAYST", "SCABS", "SCADS", "SCAGS", "SCALD", "SCALE", 
-"SCALP", "SCALY", "SCAMP", "SCAMS", "SCANS", "SCANT", "SCAPE", 
-"SCARE", "SCARF", "SCARP", "SCARS", "SCARY", "SCATS", "SCENE", 
-"SCENT", "SCHMO", "SCHUL", "SCHWA", "SCION", "SCOFF", "SCOLD", 
-"SCONE", "SCOOP", "SCOOT", "SCOPE", "SCORE", "SCORN", "SCOTS", 
-"SCOTT", "SCOUR", "SCOUT", "SCOWL", "SCOWS", "SCRAG", "SCRAM", 
-"SCRAP", "SCREE", "SCREW", "SCRIM", "SCRIP", "SCROD", "SCRUB", 
-"SCUBA", "SCUDS", "SCUFF", "SCULK", "SCULL", "SCULP", "SCUMS", 
-"SCUPS", "SCURF", "SCUTA", "SCUTE", "SCUTS", "SEALS", "SEAMS", 
-"SEAMY", "SEARS", "SEATS", "SECTS", "SEDAN", "SEDER", "SEDGE", 
-"SEDGY", "SEDUM", "SEEDS", "SEEDY", "SEEKS", "SEELS", "SEEMS", 
-"SEEPS", "SEEPY", "SEERS", "SEGNO", "SEGOS", "SEGUE", "SEIGE", 
-"SEINE", "SEISM", "SEIZE", "SELFS", "SELLS", "SEMEN", "SEMIS", 
-"SENDS", "SENNA", "SENOR", "SENSE", "SENSU", "SENTI", "SEOUL", 
-"SEPAL", "SEPIA", "SEPOY", "SEPTA", "SEPTS", "SERAL", "SERED", 
-"SERER", "SERES", "SERFS", "SERGE", "SERIF", "SERIN", "SEROW", 
-"SERUM", "SERVE", "SERVO", "SETAE", "SETAL", "SETON", "SETUP", 
-"SEVEN", "SEVER", "SEWED", "SEWER", "SEXED", "SEXES", "SEXTO", 
-"SEXTS", "SHACK", "SHADE", "SHADS", "SHADY", "SHAFT", "SHAGS", 
-"SHAHS", "SHAKE", "SHAKO", "SHAKY", "SHALE", "SHALL", "SHALT", 
-"SHALY", "SHAME", "SHAMS", "SHANK", "SHAPE", "SHARD", "SHARE", 
-"SHARK", "SHARP", "SHAVE", "SHAWL", "SHAWM", "SHAWN", "SHAWS", 
-"SHAYS", "SHEAF", "SHEAR", "SHEDS", "SHEEN", "SHEEP", "SHEER", 
-"SHEET", "SHEIK", "SHELF", "SHELL", "SHEOL", "SHERD", "SHEWN", 
-"SHEWS", "SHIED", "SHIER", "SHIES", "SHIFT", "SHILL", "SHILY", 
-"SHIMS", "SHINE", "SHINS", "SHINY", "SHIPS", "SHIPT", "SHIRE", 
-"SHIRK", "SHIRR", "SHIRT", "SHISH", "SHIST", "SHITS", "SHIVA", 
-"SHIVE", "SHIVS", "SHLEP", "SHOAL", "SHOAT", "SHOCK", "SHOED", 
-"SHOER", "SHOES", "SHOJI", "SHONE", "SHOOK", "SHOOS", "SHOOT", 
-"SHOPE", "SHOPS", "SHORE", "SHORN", "SHORT", "SHOTE", "SHOTS", 
-"SHOUT", "SHOVE", "SHOWN", "SHOWS", "SHOWY", "SHRED", "SHREW", 
-"SHRUB", "SHRUG", "SHUCK", "SHULS", "SHUNS", "SHUNT", "SHUSH", 
-"SHUTE", "SHUTS", "SHYER", "SHYLY", "SIBYL", "SICKS", "SIDED", 
-"SIDES", "SIDLE", "SIEGE", "SIEUR", "SIEVE", "SIFTS", "SIGHS", 
-"SIGHT", "SIGIL", "SIGMA", "SIGNS", "SIKHS", "SILEX", "SILKS", 
-"SILKY", "SILLS", "SILLY", "SILOS", "SILTS", "SILTY", "SILVA", 
-"SIMON", "SIMPS", "SINCE", "SINES", "SINEW", "SINGE", "SINGS", 
-"SINHS", "SINKS", "SINUS", "SIOUX", "SIPPY", "SIRED", "SIREE", 
-"SIREN", "SIRES", "SIRUP", "SISAL", "SISSY", "SITAR", "SITED", 
-"SITES", "SITUP", "SITUS", "SIXES", "SIXTE", "SIXTH", "SIXTY", 
-"SIZED", "SIZER", "SIZES", "SKAGS", "SKALD", "SKATE", "SKEAN", 
-"SKEET", "SKEIN", "SKEWS", "SKIDS", "SKIED", "SKIER", "SKIES", 
-"SKIEY", "SKIFF", "SKIIS", "SKILL", "SKIMP", "SKIMS", "SKINK", 
-"SKINS", "SKIPS", "SKIRL", "SKIRT", "SKITS", "SKOAL", "SKUAS", 
-"SKULK", "SKULL", "SKUNK", "SKYED", "SKYEY", "SLABS", "SLACK", 
-"SLAGS", "SLAIN", "SLAKE", "SLAMS", "SLANG", "SLANT", "SLAPS", 
-"SLASH", "SLATE", "SLATS", "SLATY", "SLAVE", "SLAVS", "SLAWS", 
-"SLAYS", "SLEDS", "SLEEK", "SLEEP", "SLEET", "SLEPT", "SLEWS", 
-"SLICE", "SLICK", "SLIDE", "SLIER", "SLILY", "SLIME", "SLIMS", 
-"SLIMY", "SLING", "SLINK", "SLIPS", "SLIPT", "SLITS", "SLOBS", 
-"SLOES", "SLOGS", "SLOOP", "SLOPE", "SLOPS", "SLOSH", "SLOTH", 
-"SLOTS", "SLOWS", "SLUBS", "SLUED", "SLUES", "SLUGS", "SLUMP", 
-"SLUMS", "SLUNG", "SLUNK", "SLURP", "SLURS", "SLUSH", "SLUTS", 
-"SLYER", "SLYLY", "SMACK", "SMALL", "SMART", "SMASH", "SMEAR", 
-"SMELL", "SMELT", "SMILE", "SMIRK", "SMITE", "SMITH", "SMOCK", 
-"SMOKE", "SMOKY", "SMOTE", "SMUTS", "SNACK", "SNAFU", "SNAGS", 
-"SNAIL", "SNAKE", "SNAKY", "SNAPS", "SNARE", "SNARK", "SNARL", 
-"SNEAK", "SNEER", "SNICK", "SNIDE", "SNIFF", "SNIPE", "SNIPS", 
-"SNITS", "SNOBS", "SNOOD", "SNOOP", "SNOOT", "SNORE", "SNORT", 
-"SNOTS", "SNOUT", "SNOWS", "SNOWY", "SNUBS", "SNUCK", "SNUFF", 
-"SNUGS", "SOAKS", "SOAPS", "SOAPY", "SOARS", "SOAVE", "SOBER", 
-"SOCKS", "SODAS", "SODDY", "SODOM", "SOFAR", "SOFAS", "SOFIA", 
-"SOFTS", "SOFTY", "SOGGY", "SOILS", "SOLAR", "SOLED", "SOLES", 
-"SOLID", "SOLOS", "SOLVE", "SOMAS", "SONAR", "SONDE", "SONES", 
-"SONGS", "SONIC", "SONNY", "SOOEY", "SOOTH", "SOOTS", "SOOTY", 
-"SOPHS", "SOPHY", "SOPOR", "SOPPY", "SOREL", "SORER", "SORES", 
-"SORRY", "SORTS", "SOUGH", "SOULS", "SOUND", "SOUPS", "SOUPY", 
-"SOURS", "SOUSE", "SOUTH", "SOWED", "SOWER", "SOYAS", "SPACE", 
-"SPADE", "SPAIN", "SPAKE", "SPALE", "SPANK", "SPANS", "SPARE", 
-"SPARK", "SPARS", "SPASM", "SPATE", "SPATS", "SPAWN", "SPAYS", 
-"SPEAK", "SPEAR", "SPECK", "SPECS", "SPEED", "SPELL", "SPELT", 
-"SPEND", "SPENT", "SPERM", "SPEWS", "SPICA", "SPICE", "SPICK", 
-"SPICS", "SPICY", "SPIED", "SPIEL", "SPIER", "SPIES", "SPIFF", 
-"SPIKE", "SPIKY", "SPILL", "SPILT", "SPINE", "SPINS", "SPINY", 
-"SPIRE", "SPIRY", "SPITE", "SPITS", "SPITZ", "SPLAT", "SPLAY", 
-"SPLIT", "SPOIL", "SPOKE", "SPOOF", "SPOOK", "SPOOL", "SPOON", 
-"SPOOR", "SPORE", "SPORT", "SPOTS", "SPOUT", "SPRAT", "SPRAY", 
-"SPREE", "SPRIG", "SPRIT", "SPUDS", "SPUED", "SPUES", "SPUME", 
-"SPUMY", "SPUNK", "SPURN", "SPURS", "SPURT", "SPUTA", "SQUAB", 
-"SQUAD", "SQUAT", "SQUAW", "SQUIB", "SQUID", "STABS", "STACK", 
-"STAFF", "STAGE", "STAGS", "STAGY", "STAID", "STAIN", "STAIR", 
-"STAKE", "STALE", "STALK", "STALL", "STAMP", "STAND", "STANK", 
-"STAPH", "STARE", "STARK", "STARS", "START", "STASH", "STATE", 
-"STATS", "STAVE", "STAYS", "STEAD", "STEAK", "STEAL", "STEAM", 
-"STEED", "STEEL", "STEEP", "STEER", "STEIN", "STELE", "STEMS", 
-"STENO", "STEPS", "STERE", "STERN", "STETS", "STEVE", "STEWS", 
-"STICK", "STIED", "STIES", "STIFF", "STILE", "STILL", "STILT", 
-"STIMY", "STING", "STINK", "STINT", "STIRS", "STOAS", "STOAT", 
-"STOCK", "STOGY", "STOIC", "STOKE", "STOLE", "STOMP", "STONE", 
-"STONY", "STOOD", "STOOL", "STOOP", "STOPS", "STOPT", "STORE", 
-"STORK", "STORM", "STORY", "STOUP", "STOUT", "STOVE", "STOWS", 
-"STRAP", "STRAW", "STRAY", "STREP", "STREW", "STRIA", "STRIP", 
-"STROP", "STRUM", "STRUT", "STUBS", "STUCK", "STUDS", "STUDY", 
-"STUFF", "STUMP", "STUNG", "STUNK", "STUNS", "STUNT", "STUPA", 
-"STUPE", "STYED", "STYES", "STYLE", "STYLI", "STYMY", "SUAVE", 
-"SUCKS", "SUCRE", "SUDAN", "SUDOR", "SUDSY", "SUEDE", "SUERS", 
-"SUETS", "SUETY", "SUGAR", "SUING", "SUITE", "SUITS", "SULFA", 
-"SULKS", "SULKY", "SULLY", "SUMAC", "SUMMA", "SUMOS", "SUMPS", 
-"SUNNY", "SUNUP", "SUPER", "SUPES", "SUPRA", "SURDS", "SURER", 
-"SURFS", "SURFY", "SURGE", "SURGY", "SURLY", "SUSAN", "SUTRA", 
-"SUTTA", "SWABS", "SWAGE", "SWAIL", "SWAIN", "SWALE", "SWAMI", 
-"SWAMP", "SWANG", "SWANK", "SWANS", "SWAPS", "SWARD", "SWARM", 
-"SWART", "SWASH", "SWATH", "SWATS", "SWAYS", "SWEAR", "SWEAT", 
-"SWEDE", "SWEEP", "SWEET", "SWELL", "SWEPT", "SWIFT", "SWIGS", 
-"SWILL", "SWIMS", "SWINE", "SWING", "SWIPE", "SWIRL", "SWISH", 
-"SWISS", "SWOON", "SWOOP", "SWOPS", "SWORD", "SWORE", "SWORN", 
-"SWUNG", "SYLPH", "SYNCH", "SYNCS", "SYNOD", "SYREN", "SYRIA", 
-"SYRUP", "TABBY", "TABLA", "TABLE", "TABOO", "TABOR", "TACET", 
-"TACHS", "TACIT", "TACKS", "TACKY", "TACOS", "TACTS", "TAELS", 
-"TAFFY", "TAIGA", "TAILS", "TAINT", "TAKEN", "TAKER", "TAKES", 
-"TALCS", "TALER", "TALES", "TALKS", "TALKY", "TALLY", "TALON", 
-"TALUS", "TAMED", "TAMER", "TAMES", "TAMMY", "TAMPA", "TAMPS", 
-"TANGO", "TANGS", "TANGY", "TANKA", "TANKS", "TANSY", "TANTO", 
-"TAPED", "TAPER", "TAPES", "TAPIR", "TARDE", "TARDO", "TARDY", 
-"TARED", "TARES", "TARNS", "TAROS", "TAROT", "TARPS", "TARRY", 
-"TARSI", "TARTS", "TASKS", "TASTE", "TASTY", "TATAR", "TATER", 
-"TATOO", "TATTY", "TAUNT", "TAUPE", "TAUTS", "TAWNY", "TAXED", 
-"TAXER", "TAXES", "TAXIS", "TAZZA", "TAZZE", "TEACH", "TEAKS", 
-"TEALS", "TEAMS", "TEARS", "TEARY", "TEASE", "TEATS", "TECHY", 
-"TECUM", "TEDDY", "TEEMS", "TEENS", "TEENY", "TEETH", "TELEX", 
-"TELLS", "TELLY", "TEMPI", "TEMPO", "TEMPS", "TEMPT", "TENCH", 
-"TENDS", "TENET", "TENON", "TENOR", "TENSE", "TENTH", "TENTS", 
-"TENTY", "TEPEE", "TEPID", "TERCE", "TERMS", "TERNE", "TERNS", 
-"TERRA", "TERRE", "TERRY", "TERSE", "TESLA", "TESTS", "TESTY", 
-"TETRA", "TEXAN", "TEXAS", "TEXTS", "THANE", "THANK", "THATS", 
-"THAWS", "THEFT", "THEIR", "THEME", "THENS", "THERE", "THERM", 
-"THESE", "THETA", "THEWS", "THEWY", "THICK", "THIEF", "THIGH", 
-"THINE", "THING", "THINK", "THINS", "THIRD", "THOLE", "THONG", 
-"THORN", "THORO", "THORP", "THOSE", "THOUS", "THREE", "THREW", 
-"THRIP", "THROB", "THROE", "THROW", "THRUM", "THUDS", "THUGS", 
-"THUMB", "THUMP", "THYME", "THYMI", "THYMY", "TIARA", "TIBER", 
-"TIBET", "TIBIA", "TICKS", "TIDAL", "TIDED", "TIDES", "TIERS", 
-"TIFFS", "TIGER", "TIGHT", "TIKES", "TIKIS", "TILDE", "TILED", 
-"TILER", "TILES", "TILLS", "TILTH", "TILTS", "TIMED", "TIMER", 
-"TIMES", "TIMID", "TINCT", "TINED", "TINES", "TINGE", "TINGS", 
-"TINNY", "TINTS", "TIPIS", "TIPPY", "TIPSY", "TIRED", "TIRES", 
-"TIROS", "TITAN", "TITER", "TITHE", "TITLE", "TITRE", "TITTY", 
-"TIZZY", "TOADS", "TOADY", "TOAST", "TODAY", "TODDY", "TOFFS", 
-"TOFFY", "TOFTS", "TOFUS", "TOGAE", "TOGAS", "TOILS", "TOKAY", 
-"TOKED", "TOKEN", "TOKES", "TOKYO", "TOLLS", "TOMBS", "TOMES", 
-"TOMMY", "TONAL", "TONED", "TONER", "TONES", "TONGS", "TONIC", 
-"TONNE", "TOOLS", "TOOTH", "TOOTS", "TOPAZ", "TOPED", "TOPER", 
-"TOPES", "TOPIC", "TOPOS", "TOQUE", "TORAH", "TORAS", "TORCH", 
-"TORCS", "TORES", "TORII", "TOROS", "TORSI", "TORSO", "TORTE", 
-"TORTS", "TORUS", "TOTAL", "TOTED", "TOTEM", "TOTER", "TOTES", 
-"TOUCH", "TOUGH", "TOURS", "TOUTS", "TOWED", "TOWEL", "TOWER", 
-"TOWNS", "TOWNY", "TOXIC", "TOXIN", "TOYED", "TOYER", "TOYON", 
-"TOYOS", "TRACE", "TRACK", "TRACT", "TRADE", "TRAIL", "TRAIN", 
-"TRAIT", "TRAMP", "TRAMS", "TRAPS", "TRAPT", "TRASH", "TRAVE", 
-"TRAWL", "TRAYS", "TREAD", "TREAT", "TREED", "TREES", "TREKS", 
-"TREND", "TRESS", "TRETS", "TREWS", "TREYS", "TRIAD", "TRIAL", 
-"TRIBE", "TRICE", "TRICK", "TRIED", "TRIER", "TRIES", "TRILL", 
-"TRIMS", "TRINE", "TRIOS", "TRIPE", "TRIPS", "TRITE", "TRODE", 
-"TROIS", "TROLL", "TROMP", "TROOP", "TROPE", "TROTH", "TROTS", 
-"TROUT", "TROVE", "TROWS", "TROYS", "TRUCE", "TRUCK", "TRUED", 
-"TRUER", "TRUES", "TRULL", "TRULY", "TRUMP", "TRUNK", "TRUSS", 
-"TRUST", "TRUTH", "TRYST", "TSARS", "TSKED", "TSUBA", "TUBAL", 
-"TUBAS", "TUBBY", "TUBED", "TUBER", "TUBES", "TUCKS", "TUDOR", 
-"TUFAS", "TUFFS", "TUFTS", "TUFTY", "TULES", "TULIP", "TULLE", 
-"TULSA", "TUMID", "TUMMY", "TUMOR", "TUMPS", "TUNAS", "TUNED", 
-"TUNER", "TUNES", "TUNIC", "TUNIS", "TUNNY", "TUQUE", "TURBO", 
-"TURDS", "TURFS", "TURFY", "TURKS", "TURNS", "TURPS", "TUSKS", 
-"TUTEE", "TUTOR", "TUTTI", "TUTUS", "TUXES", "TWAIN", "TWANG", 
-"TWATS", "TWEAK", "TWEED", "TWEEN", "TWEET", "TWERP", "TWICE", 
-"TWIER", "TWIGS", "TWILL", "TWINE", "TWINS", "TWINY", "TWIRL", 
-"TWIRP", "TWIST", "TWITS", "TWIXT", "TYING", "TYKES", "TYLER", 
-"TYPAL", "TYPED", "TYPES", "TYPIC", "TYPOS", "TYRED", "TYRES", 
-"TYROS", "TZARS", "UDDER", "UGLIS", "UKASE", "ULCER", "ULNAE", 
-"ULNAR", "ULNAS", "ULTRA", "ULVAS", "UMBEL", "UMBER", "UMBRA", 
-"UMIAK", "UMPED", "UNAPT", "UNARM", "UNARY", "UNBAR", "UNBID", 
-"UNBOX", "UNCAP", "UNCLE", "UNCOS", "UNCUT", "UNDER", "UNDID", 
-"UNDUE", "UNFED", "UNFIT", "UNFIX", "UNGOT", "UNHAT", "UNHIP", 
-"UNIFY", "UNION", "UNITE", "UNITS", "UNITY", "UNLAW", "UNLAY", 
-"UNLED", "UNLET", "UNLIT", "UNMAN", "UNMET", "UNPEG", "UNPEN", 
-"UNPIN", "UNRIG", "UNRIP", "UNSAY", "UNSET", "UNSEW", "UNSEX", 
-"UNTIE", "UNTIL", "UNWED", "UNWIT", "UNWON", "UNZIP", "UPEND", 
-"UPPED", "UPPER", "UPSET", "URBAN", "UREAL", "UREAS", "UREIC", 
-"URGED", "URGER", "URGES", "URINE", "URSAE", "USAGE", "USERS", 
-"USHER", "USING", "USUAL", "USURP", "USURY", "UTERI", "UTERO", 
-"UTILE", "UTTER", "UVEAL", "UVEAS", "UVULA", "VACUA", "VACUO", 
-"VADIS", "VAGAL", "VAGUE", "VAGUS", "VALES", "VALET", "VALID", 
-"VALOR", "VALSE", "VALUE", "VALVA", "VALVE", "VAMPS", "VANED", 
-"VANES", "VAPID", "VAPOR", "VASES", "VASTS", "VASTY", "VATIC", 
-"VAULT", "VAUNT", "VEALS", "VEALY", "VEDIC", "VEEPS", "VEERS", 
-"VEERY", "VEGAN", "VEGAS", "VEILS", "VEINS", "VEINY", "VELAR", 
-"VELDS", "VELDT", "VELUM", "VENAL", "VENDS", "VENIN", "VENOM", 
-"VENTS", "VENUE", "VENUS", "VERBS", "VERDE", "VERDI", "VERGE", 
-"VERSA", "VERSE", "VERSO", "VERVE", "VESTS", "VETCH", "VEXED", 
-"VEXER", "VEXES", "VIALS", "VIAND", "VIBES", "VICAR", "VICED", 
-"VICES", "VICHY", "VIDEO", "VIERS", "VIEWS", "VIEWY", "VIGIL", 
-"VIGOR", "VILER", "VILLA", "VILLI", "VINAL", "VINAS", "VINCA", 
-"VINED", "VINES", "VINIC", "VINOS", "VINYL", "VIOLA", "VIOLS", 
-"VIPER", "VIRAL", "VIREO", "VIRGO", "VIRID", "VIRTU", "VIRUS", 
-"VISAS", "VISED", "VISES", "VISIT", "VISOR", "VISTA", "VITAE", 
-"VITAL", "VITRO", "VIVID", "VIVRE", "VIXEN", "VIZIR", "VIZOR", 
-"VOCAL", "VOCES", "VODKA", "VOGUE", "VOICE", "VOIDS", "VOILA", 
-"VOILE", "VOLES", "VOLGA", "VOLTA", "VOLTS", "VOMIT", "VOTED", 
-"VOTER", "VOTES", "VOUCH", "VOWED", "VOWEL", "VOWER", "VROOM", 
-"VROUW", "VROWS", "VUGGS", "VUGGY", "VUGHS", "VULGO", "VULVA", 
-"VYING", "WACKS", "WACKY", "WADDY", "WADED", "WADER", "WADES", 
-"WADIS", "WAFER", "WAFTS", "WAGED", "WAGER", "WAGES", "WAGON", 
-"WAHOO", "WAIFS", "WAILS", "WAINS", "WAIST", "WAITS", "WAIVE", 
-"WAKED", "WAKEN", "WAKER", "WAKES", "WALED", "WALER", "WALES", 
-"WALKS", "WALLA", "WALLS", "WALLY", "WALTZ", "WANDS", "WANED", 
-"WANES", "WANLY", "WANTS", "WARDS", "WARED", "WARES", "WARKS", 
-"WARMS", "WARNS", "WARPS", "WARTS", "WARTY", "WASHY", "WASPS", 
-"WASPY", "WASTE", "WASTS", "WATCH", "WATER", "WATTS", "WAUGH", 
-"WAULS", "WAVED", "WAVER", "WAVES", "WAVEY", "WAWLS", "WAXED", 
-"WAXEN", "WAXER", "WAXES", "WAYNE", "WE'RE", "WE'VE", "WEALD", 
-"WEALS", "WEANS", "WEARS", "WEARY", "WEAVE", "WEBBY", "WEBER", 
-"WEDGE", "WEDGY", "WEEDS", "WEEDY", "WEEKS", "WEENS", "WEENY", 
-"WEEPS", "WEEPY", "WEEST", "WEFTS", "WEIGH", "WEIRD", "WEIRS", 
-"WELCH", "WELDS", "WELLS", "WELSH", "WELTS", "WENCH", "WENDS", 
-"WENNY", "WESTS", "WETLY", "WHACK", "WHALE", "WHAMS", "WHANG", 
-"WHAPS", "WHARF", "WHATS", "WHEAL", "WHEAT", "WHEEL", "WHELK", 
-"WHELM", "WHELP", "WHENS", "WHERE", "WHETS", "WHEWS", "WHEYS", 
-"WHICH", "WHIFF", "WHIGS", "WHILE", "WHIMS", "WHINE", "WHINY", 
-"WHIPS", "WHIPT", "WHIRL", "WHIRR", "WHIRS", "WHISH", "WHISK", 
-"WHIST", "WHITE", "WHITS", "WHITY", "WHIZZ", "WHOLE", "WHOMP", 
-"WHOOP", "WHOPS", "WHORE", "WHORL", "WHOSE", "WHOSO", "WHUMP", 
-"WICKS", "WIDEN", "WIDER", "WIDES", "WIDOW", "WIDTH", "WIELD", 
-"WIERD", "WIFED", "WIFES", "WIGHT", "WILCO", "WILDS", "WILED", 
-"WILES", "WILLS", "WILLY", "WILTS", "WINCE", "WINCH", "WINDS", 
-"WINDY", "WINED", "WINES", "WINEY", "WINGS", "WINGY", "WINKS", 
-"WINOS", "WIPED", "WIPER", "WIPES", "WIRED", "WIRER", "WIRES", 
-"WISED", "WISER", "WISES", "WISHY", "WISPS", "WISPY", "WISTS", 
-"WITCH", "WITHE", "WITHY", "WITTY", "WIVED", "WIVER", "WIVES", 
-"WIZEN", "WIZES", "WOADS", "WOALD", "WOFUL", "WOKEN", "WOLDS", 
-"WOLFS", "WOMAN", "WOMBS", "WOMBY", "WOMEN", "WONKY", "WONTS", 
-"WOODS", "WOODY", "WOOED", "WOOER", "WOOFS", "WOOLS", "WOOLY", 
-"WOOPS", "WOOSH", "WOOZY", "WORDS", "WORDY", "WORKS", "WORLD", 
-"WORMS", "WORMY", "WORRY", "WORSE", "WORST", "WORTH", "WORTS", 
-"WOULD", "WOUND", "WOVEN", "WOWED", "WRACK", "WRANG", "WRAPS", 
-"WRAPT", "WRATH", "WREAK", "WRECK", "WRENS", "WREST", "WRIED", 
-"WRIER", "WRIES", "WRING", "WRIST", "WRITE", "WRITS", "WRONG", 
-"WROTE", "WROTH", "WRUNG", "WRYER", "WRYLY", "WURST", "XEBEC", 
-"XENIA", "XENIC", "XENON", "XERIC", "XEROX", "XVIII", "XXIII", 
-"XYLAN", "XYLEM", "XYSTS", "YACHT", "YACKS", "YAHOO", "YAMEN", 
-"YAMUN", "YANKS", "YARDS", "YARER", "YARNS", "YAWED", "YAWLS", 
-"YAWNS", "YAWPS", "YEARN", "YEARS", "YEAST", "YEGGS", "YELLS", 
-"YELPS", "YEMEN", "YENTA", "YERBA", "YESES", "YETIS", "YIELD", 
-"YIPES", "YODEL", "YODHS", "YODLE", "YOGAS", "YOGEE", "YOGHS", 
-"YOGIC", "YOGIN", "YOGIS", "YOKED", "YOKEL", "YOKES", "YOLKS", 
-"YOLKY", "YONIS", "YORES", "YOU'D", "YOUNG", "YOURN", "YOURS", 
-"YOUSE", "YOUTH", "YOWED", "YOWIE", "YOWLS", "YUCCA", "YUKON", 
-"YULES", "YUMMY", "YURTS", "ZAIRE", "ZARFS", "ZAZEN", "ZEALS", 
-"ZEBRA", "ZEBUS", "ZEINS", "ZEISS", "ZENDO", "ZEROS", "ZESTS", 
-"ZESTY", "ZETAS", "ZILCH", "ZINCS", "ZINCY", "ZINGS", "ZINGY", 
-"ZINKY", "ZIPPY", "ZITIS", "ZLOTY", "ZOEAS", "ZOMBI", "ZONAL", 
-"ZONED", "ZONER", "ZONES", "ZOOID", "ZOOKS", "ZOOMS", "ZOONS", 
-"ZOWIE", "ZULUS", "ZUNIS"
-		};
-		int wordArrLength = 6919; 
-		int wordSize = 5;
-		int total = 15;	
-	
-	// Place a word in the string total times, 
-	// making sure it doesn't overwrite another 
-	// word or get placed right next to it
-	int place;
-	int takenWords[total];
-	boolean valid;
-	char word[wordSize];
-	boolean pickedWord = FALSE;
-	int left = total;
-	char correctWord[wordSize];
-	while(left>0){
-		valid = TRUE;
-		place = rand()%(408-wordSize);
-		for(i=place-1; i<place+wordSize+1; i++){
-			if(bigString[i] > 64 && bigString[i] < 91){
-				valid = FALSE;
-			}
-		}
-		if(valid){
-			int wordLoc = rand()%wordArrLength;
-			for(i=0;i<=total-left;i++)
-			{
-				if(wordLoc == takenWords[i])
-					valid = FALSE;
-			}
-			if(valid){
-				for(i=0;i<wordSize;i++)
-					word[i] = wordArr[wordLoc][i];
-				for(i=place; i<place+sizeof(word); i++){
-					bigString[i] = word[i-place];
-					// Pick the first word to be correct, then indicate that we picked a word
-					if(!pickedWord)
-						correctWord[i-place] = word[i-place];
-				}
-			pickedWord = TRUE;
-			left--;
-			}
-		}
-	}
-	
-	
-	// Create and fill a boolean array to keep track of which brackets were used
-	boolean usedBrackets[408];
-	for(i=0; i<408; i++){
-		usedBrackets[i] = TRUE;
-	}
-	
-	
-	// Print the hex and the filled bigString
-	char temp[12];	
-	int current = 0;
-	for(i=5; i<22; i++){
-		// Print left side
-		int j;
-		for(j=0; j<12; j++){
-			temp[j] = bigString[j+current];
-		}
-		printChoicesLeft(arbHex,temp,i);
-		current = current + 12;
-		arbHex = arbHex + 12;
-	}
-	
-	for(i=5; i<22; i++){
-		// Print right side
-		int j;
-		for(j=0; j<12; j++){
-			temp[j] = bigString[j+current];
-		}
-		printChoicesRight(arbHex,temp,i);
-		current = current + 12;
-		arbHex = arbHex + 12;
-	}
-	
-	
-	mvprintw(21,40,"%c",'>');
-	move(5,7);
-	char currentChar[12]; // Max length chrrentChar could be (total possible length of a bracket trick)
-	currentChar[0] = mvinch(5,7);
-	
-	int y,x,origy,origx,starty,startx;	// values that keep track of current yx locations, and original ones
-	int wordLength;			// How long a word is
-	int charStart;			// where character counting starts for brackets
-	char keyPress;			// key pressed by user
-	int charCounter;		// counts currentChar - used for incrementing currentChar to print or change it
-	int bracketLength;		// length of a bracket trick
-	char endBracket;		// the end bracket that corresponds to currentChar[0];
-	int bracketTricks=0;	// Total number of bracket tricks used
-	boolean needsClearing = FALSE;	// Whether or not highlights need to be purged
-	boolean needsClearingMultiLine = FALSE; 	// Whether or not a multi line highlight needs to be purged
-	char output[12];		// Used for side terminal output
-	int allowances = 4;
-	
-	while(1){
-		getyx(stdscr,y,x);
-		
-		// Get allowances left
-		mvprintw(1,0,"                              ");
-		mvprintw(3,0,"                              ");
-		switch(allowances){
-			case 1: mvprintw(3,0,"1 ATTEMPT(S) LEFT: *");
-					attron(A_BLINK);
-					mvprintw(1,0,"!!! WARNING: LOCKOUT IMNINENT !!!");
-					attroff(A_BLINK);
-					attron(A_BOLD);
-					break;
-			case 2: mvprintw(3,0,"2 ATTEMPT(S) LEFT: * *");
-					mvprintw(1,0,"ENTER PASSWORD NOW");
-					break;
-			case 3: mvprintw(3,0,"3 ATTEMPT(S) LEFT: * * *");
-					mvprintw(1,0,"ENTER PASSWORD NOW");
-					break;
-			case 4: mvprintw(3,0,"4 ATTEMPT(S) LEFT: * * * *");
-					mvprintw(1,0,"ENTER PASSWORD NOW");
-					break;
-			case 0: clear();
-					mvprintw(10,20,"TERMINAL LOCKED");
-					mvprintw(12,12,"PLEASE CONTACT AN ADMINISTRATOR");
-					refresh();
-					getch();
-					exit(0);
-		}
-		refresh();
-		move(y,x);
-		// Check if highlights need to be purged
-		if(needsClearing){
-			charCounter = 0;
-			while(charCounter!=bracketLength+1){
-				currentChar[charCounter] = mvinch(origy,charStart+charCounter);
-				mvprintw(origy,charStart+charCounter,"%c",(int)currentChar[charCounter]);
-				charCounter++;
-			}
-			mvprintw(21,41,"            ",currentChar[0]);
-			needsClearing = FALSE;
-			move(y,origx);
-		}
-		if(needsClearingMultiLine){
-			charCounter = 0;
-			int timesDown = 0;
-			while(charCounter!=wordLength){
-				currentChar[charCounter] = mvinch(starty,startx);
-				mvprintw(starty,startx,"%c",currentChar[charCounter]);
-				charCounter++;
-				startx++;
-				if(startx==19 || startx==39){
-					startx-=12;
-					starty++;
-				}
-			}
-			mvprintw(21,41,"            ",currentChar[0]);
-			needsClearingMultiLine = FALSE;
-			move(y,x);
-		}
-		// Clear the char array
-		for(i=0;i<12;i++)
-			currentChar[i]=' ';
-		currentChar[0] = mvinch(y,x);
-		// Set the new y and x to origy and origx
-		origy = y;
-		origx = x;
-		// Check for bracket tricks
-		if((currentChar[0]=='(' || currentChar[0]=='<' || currentChar[0]=='[' || currentChar[0]=='{') && usedBrackets[getCharLoc(y,x)] && bracketTricks<total){
-			charStart = x;
-			bracketLength=0;
-			while(x!=18 && x!=38){
-				x++;
-				endBracket = mvinch(y,x);
-				bracketLength++;
-			if((endBracket == ')' && currentChar[0]=='(') || 
-				(endBracket == '>' && currentChar[0]=='<') || 
-				(endBracket == ']' && currentChar[0]=='[') || 
-				(endBracket == '}' && currentChar[0]=='{')){
-					// Reprint the bracket trick with highlight
-					attron(A_STANDOUT);
-					charCounter = 0;
-					while(TRUE){
-						currentChar[charCounter] = mvinch(y,charStart+charCounter);
-						mvprintw(y,charStart+charCounter,"%c",currentChar[charCounter]);
-						if(currentChar[charCounter] == endBracket)
-							break;
-						charCounter++;
-					}
-					attroff(A_STANDOUT);
-					// Print the bracket trick to output
-					attron(A_BOLD);
-					for(i=0;i<=charCounter;i++)
-						mvprintw(21,41+i,"%c",(int)currentChar[i]);
-					// Notify that highlighting will need to be cleared next move
-					needsClearing = TRUE;
-				}
-			}
-			if(!((endBracket == ')' && currentChar[0]=='(') || 
-				(endBracket == '>' && currentChar[0]=='<') || 
-				(endBracket == ']' && currentChar[0]=='[') || 
-				(endBracket == '}' && currentChar[0]=='{'))){
-				mvprintw(21,41,"%c",currentChar[0]);
-			}
-		}
-		// Check for letters
-		else if(currentChar[0]>64 && currentChar[0]<91){
-			// Check for letter behind the current location
-			int tempx = x;
-			int tempy = y;
-			while(bigString[getCharLoc(tempy,tempx)-1]>64 && bigString[getCharLoc(tempy,tempx)-1]<91){
-				currentChar[0] = bigString[getCharLoc(tempy,tempx)];
-				tempx--;
-				if(tempx==6 || tempx==26){
-					tempx+=12;
-					tempy--;
-				}
-			}
-			startx = tempx;
-			starty = tempy;	// We'll need the location of the first char for cleaning
-			// And start there
-			charCounter = 0;
-			while(bigString[getCharLoc(tempy,tempx)+1]>64 && bigString[getCharLoc(tempy,tempx)+1]<91){
-				currentChar[charCounter] = bigString[getCharLoc(tempy,tempx)];
-				charCounter++;
-				tempx++;
-				if(tempx==19 || tempx==39){
-					tempx-=12;
-					tempy++;
-				}
-			}
-			// Now currentChar is the String, and charCounter+1 is the length
-			wordLength = charCounter+1;
-			// Reprint the word with highlight
-			tempx = startx;
-			tempy = starty;
-			attron(A_STANDOUT);
-			charCounter = 0;
-			while(charCounter!=wordLength){
-				currentChar[charCounter] = mvinch(tempy,tempx);
-				mvprintw(tempy,tempx,"%c",currentChar[charCounter]);
-				charCounter++;
-				tempx++;
-				if(tempx==19 || tempx==39){
-					tempx-=12;
-					tempy++;
-				}
-			}
-					attroff(A_STANDOUT);
-					// Print the word to output
-					attron(A_BOLD);
-					for(i=0;i<charCounter;i++)
-						mvprintw(21,41+i,"%c",(int)currentChar[i]);
-					// Notify that highlighting will need to be cleared next move
-					needsClearingMultiLine = TRUE;
-		}
-		// Nothing was found, print current char
-		else
-			mvprintw(21,41,"%c",currentChar[0]);
-		
-		move(origy,origx);
-		refresh();
-		
-		keyPress = getch();
-		getyx(stdscr,y,x);
-		if(keyPress=='w'){
-			if(y>5)
-				move(y-1,x);
-		}
-		if(keyPress=='s'){
-			if(y<21)
-				move(y+1,x);
-		}
-		if(keyPress=='a'){
-			if(x>7){
-				if(x==27)
-					move(y,18);
-				else
-					move(y,x-1);
-			}
-				
-		}
-		if(keyPress=='d'){
-			if(x<38){
-				if(x==18)
-					move(y,27);
-				else
-					move(y,x+1);
-			}
-		}
-		if(keyPress==3)		// Ctrl-C
-			exit(0);
-		if(keyPress=='\n'){	// Enter
-			mvprintw(17,40,"              ");
-			mvprintw(18,40,"              ");
-			mvprintw(19,40,"              ");
-			// If the char is a left bracket
-			if(((currentChar[0]=='(') && currentCharContains(currentChar,')')) || 
-			   (currentChar[0]=='<' && currentCharContains(currentChar,'>')) || 
-			   (currentChar[0]=='[' && currentCharContains(currentChar,']')) || 
-			   (currentChar[0]=='{' && currentCharContains(currentChar,'}'))){
-				// Set the selected bracket as used
-				usedBrackets[getCharLoc(y,x)] = FALSE;
-				// Increment total bracket tricks used
-				bracketTricks++;
-				if(rand()%5==0){
-					// 20% chance of allowance replenish
-					sprintf(output,"Allowance   ");
-					mvprintw(18,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(18,41+i,"%c",output[i]);
-					}
-					sprintf(output,"replenished.");
-					mvprintw(19,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(19,41+i,"%c",output[i]);
-					}
-					allowances = 4;
-				}
-				else{
-					// Remove a dud
-					int tempx,tempy;
-					pickagain:do{
-						if(rand()%2==0)
-						tempx = (rand()%12)+7;
-					else
-						tempx = (rand()%12)+27;
-					tempy = (rand()%17)+5;
-					} while(!(bigString[getCharLoc(tempy,tempx)]>64 && bigString[getCharLoc(tempy,tempx)]<91));
-					while(bigString[getCharLoc(tempy,tempx)-1]>64 && bigString[getCharLoc(tempy,tempx)-1]<91){
-						tempx--;
-						if(tempx==6 || tempx==26){
-							tempx+=12;
-							tempy--;
-						}
-					}
-
-					startx = tempx;
-					starty = tempy;
-					
-					charCounter = 0;
-					while(bigString[getCharLoc(tempy,tempx)+1]>64 && bigString[getCharLoc(tempy,tempx)+1]<91){
-						currentChar[charCounter] = bigString[getCharLoc(tempy,tempx)];
-						charCounter++;
-						tempx++;
-						if(tempx==19 || tempx==39){
-							tempx-=12;
-							tempy++;
-						}
-					}
-					// Check if currentChar = correctWord
-					boolean allCorrect=TRUE;
-					for(i=0;i<wordSize;i++){
-						if(currentChar[i]!=correctWord[i])
-							allCorrect = FALSE;
-					}
-					if(allCorrect)
-						goto pickagain;
-					
-					tempx = startx;
-					tempy = starty;
-					while(bigString[getCharLoc(tempy,tempx)]>64 && bigString[getCharLoc(tempy,tempx)]<91){
-						mvprintw(tempy,tempx,"%c",'.');
-						bigString[getCharLoc(tempy,tempx)] = '.';
-						tempx++;
-						if(tempx==19 || tempx==39){
-							tempx-=12;
-							tempy++;
-						}
-					}
-					
-					sprintf(output,"Dud removed.");
-					mvprintw(19,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(19,41+i,"%c",output[i]);
-					}
-			
-				}
-			}
-			// Else compare it to the correct word
-			else{
-				int rightLetters = wordSize;
-				for(i=0;i<wordSize; i++){
-					if(currentChar[i]!=correctWord[i])
-						rightLetters--;
-				}
-				if(rightLetters==wordSize){
-					mvprintw(15,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(15,41+i,"%c",currentChar[i]);
-					}
-					sprintf(output,"Exact match!");
-					mvprintw(16,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(16,41+i,"%c",output[i]);
-					}
-					sprintf(output,"Please wait ");
-					mvprintw(17,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(17,41+i,"%c",output[i]);
-					}
-					sprintf(output,"while system");
-					mvprintw(18,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(18,41+i,"%c",output[i]);
-					}
-					sprintf(output,"is accessed.");
-					mvprintw(19,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(19,41+i,"%c",output[i]);
-					}
-					refresh();
-					Sleep(3000);
-					endwin();
-					exit(0);
-					
-				}
-				else{
-					mvprintw(17,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(17,41+i,"%c",currentChar[i]);
-					}
-					sprintf(output,"Entry denied");
-					mvprintw(18,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(18,41+i,"%c",output[i]);
-					}
-					sprintf(output,"%d/%d correct.",rightLetters,wordSize);
-					mvprintw(19,40,">");
-					for(i=0;i<12;i++){
-						mvprintw(19,41+i,"%c",output[i]);
-					}
-					allowances--;
-				}
-			}
-			move(y,x);
-		} 	
-		refresh();
-		
-	}
-
-	endwin();
-}
-
-
-int getCharLoc(int y, int x){
-	// Left side
-	if(x<19)
-		return 12*(y-5)+(x-7);
-	// Right side
-	else
-		return 12*(y-5)+(x-27+204);
-}
-
-int main(){
-
-	srand ( (unsigned)time(NULL) );
-	initscr();
-	noecho();
-	refresh();
-	attron(A_BOLD);
-	nodelay(stdscr, TRUE);
-	if(has_colors() == TRUE){
-		// Colors
-		start_color();
-		init_pair(1,COLOR_GREEN,COLOR_BLACK);
-		attron(COLOR_PAIR(1));
-	}
-
-	intro();
-	pass();
-
-	
-	return 0;
-}