forked from yubinbai/leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSolution.java
145 lines (127 loc) · 46.6 KB
/
Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
import java.util.*;
public class Solution {
class Node {
String s;
boolean visited = false;
int distance = Integer.MAX_VALUE;
HashSet<Node> children = new HashSet<Node>();
HashSet<Node> parents = new HashSet<Node>();
public Node (String _s) {s = _s;}
}
HashMap<String, Node> nodes;
List<List<String>> result;
Stack<String> stack;
Node startNode, endNode;
public List<List<String>> findLadders(String start, String end, HashSet<String> dict) {
nodes = new HashMap<String, Node>();
result = new ArrayList<List<String>>();
stack = new Stack<String>();
nodes.put(start, new Node(start));
for (String s : dict) {
nodes.put(s, new Node(s));
}
nodes.put(end, new Node(end));
endNode = nodes.get(end);
startNode = nodes.get(start);
for (Node e : nodes.values()) {
for (int i = 0; i < e.s.length(); i++) {
char[] str = e.s.toCharArray();
char original = str[i];
for (char c = 'a'; c <= 'z'; c++) {
if (c != original) {
str[i] = c;
String currStr = new String(str);
if (nodes.containsKey(currStr)) {
e.children.add(nodes.get(currStr));
}
}
}
}
}
// BFS
HashSet<Node> curr = new HashSet<Node>();
curr.add(startNode);
startNode.visited = true;
while (!curr.isEmpty()) {
HashSet<Node> next = new HashSet<Node>();
for (Node e : curr) {
for (Node e2 : e.children) {
if (e2.visited == false) {
e2.parents.add(e);
e2.children.remove(e);
next.add(e2);
}
}
}
if (next.contains(endNode)) break;
for (Node e2 : next) {
e2.visited = true;
}
curr = next;
}
backtrack(endNode);
return result;
}
private void backtrack(Node e) {
if (e == startNode) {
ArrayList<String> solution = new ArrayList<String>(stack);
Collections.reverse(solution);
solution.add(endNode.s);
result.add(solution);
} else {
for (Node p : e.parents) {
stack.push(p.s);
backtrack(p);
stack.pop();
}
}
}
public static void main(String[] args) {
Solution sol = new Solution();
String start;
String end;
String[] paths;
HashSet<String> set;
start = "hot";
end = "dog";
set = new HashSet<String>();
paths = new String[] {"hot", "dog"};
for (String s : paths) set.add(s);
for (List<String> a : sol.findLadders(start, end, set)) {
System.out.println(a);
}
start = "a";
end = "c";
set = new HashSet<String>();
paths = new String[] {"a", "b", "c"};
for (String s : paths) set.add(s);
for (List<String> a : sol.findLadders(start, end, set)) {
System.out.println(a);
}
start = "hit";
end = "cog";
set = new HashSet<String>();
paths = new String[] {"hot", "dot", "dog", "lot", "log"};
for (String s : paths) set.add(s);
for (List<String> a : sol.findLadders(start, end, set)) {
System.out.println(a);
}
start = "nanny";
end = "alout";
set = new HashSet<String>();
paths = new String[] {"ricky", "grind", "cubic", "panic", "lover", "farce", "gofer", "sales", "flint", "omens", "lipid", "briny", "cloth", "anted", "slime", "oaten", "harsh", "touts", "stoop", "cabal", "lazed", "elton", "skunk", "nicer", "pesky", "kusch", "bused", "kinda", "tunis", "enjoy", "aches", "prowl", "babar", "rooms", "burst", "slush", "pines", "urine", "pinky", "bayed", "mania", "light", "flare", "wares", "women", "verne", "moron", "shine", "bluer", "zeros", "bleak", "brief", "tamra", "vasts", "jamie", "lairs", "penal", "worst", "yowls", "pills", "taros", "addle", "alyce", "creep", "saber", "floyd", "cures", "soggy", "vexed", "vilma", "cabby", "verde", "euler", "cling", "wanna", "jenny", "donor", "stole", "sakha", "blake", "sanes", "riffs", "forge", "horus", "sered", "piked", "prosy", "wases", "glove", "onset", "spake", "benin", "talks", "sites", "biers", "wendy", "dante", "allan", "haven", "nears", "shaka", "sloth", "perky", "spear", "spend", "clint", "dears", "sadly", "units", "vista", "hinds", "marat", "natal", "least", "bough", "pales", "boole", "ditch", "greys", "slunk", "bitch", "belts", "sense", "skits", "monty", "yawns", "music", "hails", "alien", "gibes", "lille", "spacy", "argot", "wasps", "drubs", "poops", "bella", "clone", "beast", "emend", "iring", "start", "darla", "bells", "cults", "dhaka", "sniff", "seers", "bantu", "pages", "fever", "tacky", "hoses", "strop", "climb", "pairs", "later", "grant", "raven", "stael", "drips", "lucid", "awing", "dines", "balms", "della", "galen", "toned", "snips", "shady", "chili", "fears", "nurse", "joint", "plump", "micky", "lions", "jamal", "queer", "ruins", "frats", "spoof", "semen", "pulps", "oldie", "coors", "rhone", "papal", "seals", "spans", "scaly", "sieve", "klaus", "drums", "tided", "needs", "rider", "lures", "treks", "hares", "liner", "hokey", "boots", "primp", "laval", "limes", "putts", "fonda", "damon", "pikes", "hobbs", "specs", "greet", "ketch", "braid", "purer", "tsars", "berne", "tarts", "clean", "grate", "trips", "chefs", "timex", "vicky", "pares", "price", "every", "beret", "vices", "jodie", "fanny", "mails", "built", "bossy", "farms", "pubic", "gongs", "magma", "quads", "shell", "jocks", "woods", "waded", "parka", "jells", "worse", "diner", "risks", "bliss", "bryan", "terse", "crier", "incur", "murky", "gamed", "edges", "keens", "bread", "raced", "vetch", "glint", "zions", "porno", "sizes", "mends", "ached", "allie", "bands", "plank", "forth", "fuels", "rhyme", "wimpy", "peels", "foggy", "wings", "frill", "edgar", "slave", "lotus", "point", "hints", "germs", "clung", "limed", "loafs", "realm", "myron", "loopy", "plush", "volts", "bimbo", "smash", "windy", "sours", "choke", "karin", "boast", "whirr", "tiber", "dimes", "basel", "cutes", "pinto", "troll", "thumb", "decor", "craft", "tared", "split", "josue", "tramp", "screw", "label", "lenny", "apses", "slept", "sikhs", "child", "bouts", "cites", "swipe", "lurks", "seeds", "fists", "hoard", "steed", "reams", "spoil", "diego", "peale", "bevel", "flags", "mazes", "quart", "snipe", "latch", "lards", "acted", "falls", "busby", "holed", "mummy", "wrong", "wipes", "carlo", "leers", "wails", "night", "pasty", "eater", "flunk", "vedas", "curse", "tyros", "mirth", "jacky", "butte", "wired", "fixes", "tares", "vague", "roved", "stove", "swoon", "scour", "coked", "marge", "cants", "comic", "corns", "zilch", "typos", "lives", "truer", "comma", "gaily", "teals", "witty", "hyper", "croat", "sways", "tills", "hones", "dowel", "llano", "clefs", "fores", "cinch", "brock", "vichy", "bleed", "nuder", "hoyle", "slams", "macro", "arabs", "tauts", "eager", "croak", "scoop", "crime", "lurch", "weals", "fates", "clipt", "teens", "bulls", "domed", "ghana", "culls", "frame", "hanky", "jared", "swain", "truss", "drank", "lobby", "lumps", "pansy", "whews", "saris", "trite", "weeps", "dozes", "jeans", "flood", "chimu", "foxes", "gelds", "sects", "scoff", "poses", "mares", "famed", "peers", "hells", "laked", "zests", "wring", "steal", "snoot", "yodel", "scamp", "ellis", "bandy", "marry", "jives", "vises", "blurb", "relay", "patch", "haley", "cubit", "heine", "place", "touch", "grain", "gerry", "badly", "hooke", "fuchs", "savor", "apron", "judge", "loren", "britt", "smith", "tammy", "altar", "duels", "huber", "baton", "dived", "apace", "sedan", "basts", "clark", "mired", "perch", "hulks", "jolly", "welts", "quack", "spore", "alums", "shave", "singe", "lanny", "dread", "profs", "skeet", "flout", "darin", "newed", "steer", "taine", "salvo", "mites", "rules", "crash", "thorn", "olive", "saves", "yawed", "pique", "salon", "ovens", "dusty", "janie", "elise", "carve", "winds", "abash", "cheep", "strap", "fared", "discs", "poxed", "hoots", "catch", "combo", "maize", "repay", "mario", "snuff", "delve", "cored", "bards", "sudan", "shuns", "yukon", "jowls", "wayne", "torus", "gales", "creek", "prove", "needy", "wisps", "terri", "ranks", "books", "dicky", "tapes", "aping", "padre", "roads", "nines", "seats", "flats", "rains", "moira", "basic", "loves", "pulls", "tough", "gills", "codes", "chest", "teeny", "jolts", "woody", "flame", "asked", "dulls", "hotly", "glare", "mucky", "spite", "flake", "vines", "lindy", "butts", "froth", "beeps", "sills", "bunny", "flied", "shaun", "mawed", "velds", "voled", "doily", "patel", "snake", "thigh", "adler", "calks", "desks", "janus", "spunk", "baled", "match", "strip", "hosed", "nippy", "wrest", "whams", "calfs", "sleet", "wives", "boars", "chain", "table", "duked", "riped", "edens", "galas", "huffs", "biddy", "claps", "aleut", "yucks", "bangs", "quids", "glenn", "evert", "drunk", "lusts", "senna", "slate", "manet", "roted", "sleep", "loxes", "fluky", "fence", "clamp", "doted", "broad", "sager", "spark", "belch", "mandy", "deana", "beyer", "hoist", "leafy", "levee", "libel", "tonic", "aloes", "steam", "skews", "tides", "stall", "rifts", "saxon", "mavis", "asama", "might", "dotes", "tangs", "wroth", "kited", "salad", "liens", "clink", "glows", "balky", "taffy", "sided", "sworn", "oasis", "tenth", "blurt", "tower", "often", "walsh", "sonny", "andes", "slump", "scans", "boded", "chive", "finer", "ponce", "prune", "sloes", "dined", "chums", "dingo", "harte", "ahead", "event", "freer", "heart", "fetch", "sated", "soapy", "skins", "royal", "cuter", "loire", "minot", "aisle", "horny", "slued", "panel", "eight", "snoop", "pries", "clive", "pored", "wrist", "piped", "daren", "cells", "parks", "slugs", "cubed", "highs", "booze", "weary", "stain", "hoped", "finny", "weeds", "fetid", "racer", "tasks", "right", "saint", "shahs", "basis", "refer", "chart", "seize", "lulls", "slant", "belay", "clots", "jinny", "tours", "modes", "gloat", "dunks", "flute", "conch", "marts", "aglow", "gayer", "lazes", "dicks", "chime", "bears", "sharp", "hatch", "forms", "terry", "gouda", "thins", "janet", "tonya", "axons", "sewed", "danny", "rowdy", "dolts", "hurry", "opine", "fifty", "noisy", "spiky", "humid", "verna", "poles", "jayne", "pecos", "hooky", "haney", "shams", "snots", "sally", "ruder", "tempe", "plunk", "shaft", "scows", "essie", "dated", "fleet", "spate", "bunin", "hikes", "sodas", "filly", "thyme", "fiefs", "perks", "chary", "kiths", "lidia", "lefty", "wolff", "withe", "three", "crawl", "wotan", "brown", "japed", "tolls", "taken", "threw", "crave", "clash", "layer", "tends", "notes", "fudge", "musky", "bawdy", "aline", "matts", "shirr", "balks", "stash", "wicks", "crepe", "foods", "fares", "rotes", "party", "petty", "press", "dolly", "mangy", "leeks", "silly", "leant", "nooks", "chapt", "loose", "caged", "wages", "grist", "alert", "sheri", "moody", "tamps", "hefts", "souls", "rubes", "rolex", "skulk", "veeps", "nonce", "state", "level", "whirl", "bight", "grits", "reset", "faked", "spiny", "mixes", "hunks", "major", "missy", "arius", "damns", "fitly", "caped", "mucus", "trace", "surat", "lloyd", "furry", "colin", "texts", "livia", "reply", "twill", "ships", "peons", "shear", "norms", "jumbo", "bring", "masks", "zippy", "brine", "dorks", "roded", "sinks", "river", "wolfs", "strew", "myths", "pulpy", "prank", "veins", "flues", "minus", "phone", "banns", "spell", "burro", "brags", "boyle", "lambs", "sides", "knees", "clews", "aired", "skirt", "heavy", "dimer", "bombs", "scums", "hayes", "chaps", "snugs", "dusky", "loxed", "ellen", "while", "swank", "track", "minim", "wiled", "hazed", "roofs", "cantu", "sorry", "roach", "loser", "brass", "stint", "jerks", "dirks", "emory", "campy", "poise", "sexed", "gamer", "catty", "comte", "bilbo", "fasts", "ledge", "drier", "idles", "doors", "waged", "rizal", "pured", "weirs", "crisp", "tasty", "sored", "palmy", "parts", "ethel", "unify", "crows", "crest", "udder", "delis", "punks", "dowse", "totes", "emile", "coded", "shops", "poppa", "pours", "gushy", "tiffs", "shads", "birds", "coils", "areas", "boons", "hulls", "alter", "lobes", "pleat", "depth", "fires", "pones", "serra", "sweat", "kline", "malay", "ruled", "calve", "tired", "drabs", "tubed", "wryer", "slung", "union", "sonya", "aided", "hewed", "dicey", "grids", "nixed", "whits", "mills", "buffs", "yucky", "drops", "ready", "yuppy", "tweet", "napes", "cadre", "teach", "rasps", "dowdy", "hoary", "canto", "posed", "dumbo", "kooks", "reese", "snaky", "binge", "byron", "phony", "safer", "friar", "novel", "scale", "huron", "adorn", "carla", "fauna", "myers", "hobby", "purse", "flesh", "smock", "along", "boils", "pails", "times", "panza", "lodge", "clubs", "colby", "great", "thing", "peaks", "diana", "vance", "whets", "bergs", "sling", "spade", "soaks", "beach", "traps", "aspen", "romps", "boxed", "fakir", "weave", "nerds", "swazi", "dotty", "curls", "diver", "jonas", "waite", "verbs", "yeast", "lapel", "barth", "soars", "hooks", "taxed", "slews", "gouge", "slags", "chang", "chafe", "saved", "josie", "syncs", "fonds", "anion", "actor", "seems", "pyrex", "isiah", "glued", "groin", "goren", "waxes", "tonia", "whine", "scads", "knelt", "teaks", "satan", "tromp", "spats", "merry", "wordy", "stake", "gland", "canal", "donna", "lends", "filed", "sacks", "shied", "moors", "paths", "older", "pooch", "balsa", "riced", "facet", "decaf", "attic", "elder", "akron", "chomp", "chump", "picky", "money", "sheer", "bolls", "crabs", "dorms", "water", "veers", "tease", "dummy", "dumbs", "lethe", "halls", "rifer", "demon", "fucks", "whips", "plops", "fuses", "focal", "taces", "snout", "edict", "flush", "burps", "dawes", "lorry", "spews", "sprat", "click", "deann", "sited", "aunts", "quips", "godly", "pupil", "nanny", "funks", "shoon", "aimed", "stacy", "helms", "mints", "banks", "pinch", "local", "twine", "pacts", "deers", "halos", "slink", "preys", "potty", "ruffs", "pusan", "suits", "finks", "slash", "prods", "dense", "edsel", "heeds", "palls", "slats", "snits", "mower", "rares", "ailed", "rouge", "ellie", "gated", "lyons", "duded", "links", "oaths", "letha", "kicks", "firms", "gravy", "month", "kongo", "mused", "ducal", "toted", "vocal", "disks", "spied", "studs", "macao", "erick", "coupe", "starr", "reaps", "decoy", "rayon", "nicks", "breed", "cosby", "haunt", "typed", "plain", "trays", "muled", "saith", "drano", "cower", "snows", "buses", "jewry", "argus", "doers", "flays", "swish", "resin", "boobs", "sicks", "spies", "bails", "wowed", "mabel", "check", "vapid", "bacon", "wilda", "ollie", "loony", "irked", "fraud", "doles", "facts", "lists", "gazed", "furls", "sunks", "stows", "wilde", "brick", "bowed", "guise", "suing", "gates", "niter", "heros", "hyped", "clomp", "never", "lolls", "rangy", "paddy", "chant", "casts", "terns", "tunas", "poker", "scary", "maims", "saran", "devon", "tripe", "lingo", "paler", "coped", "bride", "voted", "dodge", "gross", "curds", "sames", "those", "tithe", "steep", "flaks", "close", "swops", "stare", "notch", "prays", "roles", "crush", "feuds", "nudge", "baned", "brake", "plans", "weepy", "dazed", "jenna", "weiss", "tomes", "stews", "whist", "gibed", "death", "clank", "cover", "peeks", "quick", "abler", "daddy", "calls", "scald", "lilia", "flask", "cheer", "grabs", "megan", "canes", "jules", "blots", "mossy", "begun", "freak", "caved", "hello", "hades", "theed", "wards", "darcy", "malta", "peter", "whorl", "break", "downs", "odder", "hoofs", "kiddo", "macho", "fords", "liked", "flees", "swing", "elect", "hoods", "pluck", "brook", "astir", "bland", "sward", "modal", "flown", "ahmad", "waled", "craps", "cools", "roods", "hided", "plath", "kings", "grips", "gives", "gnats", "tabby", "gauls", "think", "bully", "fogey", "sawed", "lints", "pushy", "banes", "drake", "trail", "moral", "daley", "balds", "chugs", "geeky", "darts", "soddy", "haves", "opens", "rends", "buggy", "moles", "freud", "gored", "shock", "angus", "puree", "raves", "johns", "armed", "packs", "minis", "reich", "slots", "totem", "clown", "popes", "brute", "hedge", "latin", "stoke", "blend", "pease", "rubik", "greer", "hindi", "betsy", "flows", "funky", "kelli", "humps", "chewy", "welds", "scowl", "yells", "cough", "sasha", "sheaf", "jokes", "coast", "words", "irate", "hales", "camry", "spits", "burma", "rhine", "bends", "spill", "stubs", "power", "voles", "learn", "knoll", "style", "twila", "drove", "dacca", "sheen", "papas", "shale", "jones", "duped", "tunny", "mouse", "floss", "corks", "skims", "swaps", "inned", "boxer", "synch", "skies", "strep", "bucks", "belau", "lower", "flaky", "quill", "aural", "rufus", "floes", "pokes", "sends", "sates", "dally", "boyer", "hurts", "foyer", "gowns", "torch", "luria", "fangs", "moats", "heinz", "bolts", "filet", "firth", "begot", "argue", "youth", "chimp", "frogs", "kraft", "smite", "loges", "loons", "spine", "domes", "pokey", "timur", "noddy", "doggy", "wades", "lanes", "hence", "louts", "turks", "lurid", "goths", "moist", "bated", "giles", "stood", "winos", "shins", "potts", "brant", "vised", "alice", "rosie", "dents", "babes", "softy", "decay", "meats", "tanya", "rusks", "pasts", "karat", "nuked", "gorge", "kinks", "skull", "noyce", "aimee", "watch", "cleat", "stuck", "china", "testy", "doses", "safes", "stage", "bayes", "twins", "limps", "denis", "chars", "flaps", "paces", "abase", "grays", "deans", "maria", "asset", "smuts", "serbs", "whigs", "vases", "robyn", "girls", "pents", "alike", "nodal", "molly", "swigs", "swill", "slums", "rajah", "bleep", "beget", "thanh", "finns", "clock", "wafts", "wafer", "spicy", "sorer", "reach", "beats", "baker", "crown", "drugs", "daisy", "mocks", "scots", "fests", "newer", "agate", "drift", "marta", "chino", "flirt", "homed", "bribe", "scram", "bulks", "servo", "vesta", "divas", "preps", "naval", "tally", "shove", "ragas", "blown", "droll", "tryst", "lucky", "leech", "lines", "sires", "pyxed", "taper", "trump", "payee", "midge", "paris", "bored", "loads", "shuts", "lived", "swath", "snare", "boned", "scars", "aeons", "grime", "writs", "paige", "rungs", "blent", "signs", "davis", "dials", "daubs", "rainy", "fawns", "wrier", "golds", "wrath", "ducks", "allow", "hosea", "spike", "meals", "haber", "muses", "timed", "broom", "burks", "louis", "gangs", "pools", "vales", "altai", "elope", "plied", "slain", "chasm", "entry", "slide", "bawls", "title", "sings", "grief", "viola", "doyle", "peach", "davit", "bench", "devil", "latex", "miles", "pasha", "tokes", "coves", "wheel", "tried", "verdi", "wanda", "sivan", "prior", "fryer", "plots", "kicky", "porch", "shill", "coats", "borne", "brink", "pawed", "erwin", "tense", "stirs", "wends", "waxen", "carts", "smear", "rival", "scare", "phase", "bragg", "crane", "hocks", "conan", "bests", "dares", "molls", "roots", "dunes", "slips", "waked", "fours", "bolds", "slosh", "yemen", "poole", "solid", "ports", "fades", "legal", "cedes", "green", "curie", "seedy", "riper", "poled", "glade", "hosts", "tools", "razes", "tarry", "muddy", "shims", "sword", "thine", "lasts", "bloat", "soled", "tardy", "foots", "skiff", "volta", "murks", "croci", "gooks", "gamey", "pyxes", "poems", "kayla", "larva", "slaps", "abuse", "pings", "plows", "geese", "minks", "derby", "super", "inked", "manic", "leaks", "flops", "lajos", "fuzes", "swabs", "twigs", "gummy", "pyres", "shrew", "islet", "doled", "wooly", "lefts", "hunts", "toast", "faith", "macaw", "sonia", "leafs", "colas", "conks", "altos", "wiped", "scene", "boors", "patsy", "meany", "chung", "wakes", "clear", "ropes", "tahoe", "zones", "crate", "tombs", "nouns", "garth", "puked", "chats", "hanks", "baked", "binds", "fully", "soaps", "newel", "yarns", "puers", "carps", "spelt", "lully", "towed", "scabs", "prime", "blest", "patty", "silky", "abner", "temps", "lakes", "tests", "alias", "mines", "chips", "funds", "caret", "splat", "perry", "turds", "junks", "cramp", "saned", "peary", "snarl", "fired", "stung", "nancy", "bulge", "styli", "seams", "hived", "feast", "triad", "jaded", "elvin", "canny", "birth", "routs", "rimed", "pusey", "laces", "taste", "basie", "malls", "shout", "prier", "prone", "finis", "claus", "loops", "heron", "frump", "spare", "menus", "ariel", "crams", "bloom", "foxed", "moons", "mince", "mixed", "piers", "deres", "tempt", "dryer", "atone", "heats", "dario", "hawed", "swims", "sheet", "tasha", "dings", "clare", "aging", "daffy", "wried", "foals", "lunar", "havel", "irony", "ronny", "naves", "selma", "gurus", "crust", "percy", "murat", "mauro", "cowed", "clang", "biker", "harms", "barry", "thump", "crude", "ulnae", "thong", "pager", "oases", "mered", "locke", "merle", "soave", "petal", "poser", "store", "winch", "wedge", "inlet", "nerdy", "utter", "filth", "spray", "drape", "pukes", "ewers", "kinds", "dates", "meier", "tammi", "spoor", "curly", "chill", "loped", "gooey", "boles", "genet", "boost", "beets", "heath", "feeds", "growl", "livid", "midst", "rinds", "fresh", "waxed", "yearn", "keeps", "rimes", "naked", "flick", "plies", "deeps", "dirty", "hefty", "messy", "hairy", "walks", "leper", "sykes", "nerve", "rover", "jived", "brisk", "lenin", "viper", "chuck", "sinus", "luger", "ricks", "hying", "rusty", "kathy", "herds", "wider", "getty", "roman", "sandy", "pends", "fezes", "trios", "bites", "pants", "bless", "diced", "earth", "shack", "hinge", "melds", "jonah", "chose", "liver", "salts", "ratty", "ashed", "wacky", "yokes", "wanly", "bruce", "vowel", "black", "grail", "lungs", "arise", "gluts", "gluey", "navel", "coyer", "ramps", "miter", "aldan", "booth", "musty", "rills", "darns", "tined", "straw", "kerri", "hared", "lucks", "metes", "penny", "radon", "palms", "deeds", "earls", "shard", "pried", "tampa", "blank", "gybes", "vicki", "drool", "groom", "curer", "cubes", "riggs", "lanky", "tuber", "caves", "acing", "golly", "hodge", "beard", "ginny", "jibed", "fumes", "astor", "quito", "cargo", "randi", "gawky", "zings", "blind", "dhoti", "sneak", "fatah", "fixer", "lapps", "cline", "grimm", "fakes", "maine", "erika", "dealt", "mitch", "olden", "joist", "gents", "likes", "shelf", "silts", "goats", "leads", "marin", "spire", "louie", "evans", "amuse", "belly", "nails", "snead", "model", "whats", "shari", "quote", "tacks", "nutty", "lames", "caste", "hexes", "cooks", "miner", "shawn", "anise", "drama", "trike", "prate", "ayers", "loans", "botch", "vests", "cilia", "ridge", "thugs", "outed", "jails", "moped", "plead", "tunes", "nosed", "wills", "lager", "lacks", "cried", "wince", "berle", "flaws", "boise", "tibet", "bided", "shred", "cocky", "brice", "delta", "congo", "holly", "hicks", "wraps", "cocks", "aisha", "heard", "cured", "sades", "horsy", "umped", "trice", "dorky", "curve", "ferry", "haler", "ninth", "pasta", "jason", "honer", "kevin", "males", "fowls", "awake", "pores", "meter", "skate", "drink", "pussy", "soups", "bases", "noyes", "torts", "bogus", "still", "soupy", "dance", "worry", "eldon", "stern", "menes", "dolls", "dumpy", "gaunt", "grove", "coops", "mules", "berry", "sower", "roams", "brawl", "greed", "stags", "blurs", "swift", "treed", "taney", "shame", "easel", "moves", "leger", "ville", "order", "spock", "nifty", "brian", "elias", "idler", "serve", "ashen", "bizet", "gilts", "spook", "eaten", "pumas", "cotes", "broke", "toxin", "groan", "laths", "joins", "spots", "hated", "tokay", "elite", "rawer", "fiats", "cards", "sassy", "milks", "roost", "glean", "lutes", "chins", "drown", "marks", "pined", "grace", "fifth", "lodes", "rusts", "terms", "maxes", "savvy", "choir", "savoy", "spoon", "halve", "chord", "hulas", "sarah", "celia", "deems", "ninny", "wines", "boggy", "birch", "raved", "wales", "beams", "vibes", "riots", "warty", "nigel", "askew", "faxes", "sedge", "sheol", "pucks", "cynic", "relax", "boers", "whims", "bents", "candy", "luann", "slogs", "bonny", "barns", "iambs", "fused", "duffy", "guilt", "bruin", "pawls", "penis", "poppy", "owing", "tribe", "tuner", "moray", "timid", "ceded", "geeks", "kites", "curio", "puffy", "perot", "caddy", "peeve", "cause", "dills", "gavel", "manse", "joker", "lynch", "crank", "golda", "waits", "wises", "hasty", "paves", "grown", "reedy", "crypt", "tonne", "jerky", "axing", "swept", "posse", "rings", "staff", "tansy", "pared", "glaze", "grebe", "gonna", "shark", "jumps", "vials", "unset", "hires", "tying", "lured", "motes", "linen", "locks", "mamas", "nasty", "mamie", "clout", "nader", "velma", "abate", "tight", "dales", "serer", "rives", "bales", "loamy", "warps", "plato", "hooch", "togae", "damps", "ofter", "plumb", "fifes", "filmy", "wiper", "chess", "lousy", "sails", "brahe", "ounce", "flits", "hindu", "manly", "beaux", "mimed", "liken", "forts", "jambs", "peeps", "lelia", "brews", "handy", "lusty", "brads", "marne", "pesos", "earle", "arson", "scout", "showy", "chile", "sumps", "hiked", "crook", "herbs", "silks", "alamo", "mores", "dunce", "blaze", "stank", "haste", "howls", "trots", "creon", "lisle", "pause", "hates", "mulch", "mined", "moder", "devin", "types", "cindy", "beech", "tuned", "mowed", "pitts", "chaos", "colds", "bidet", "tines", "sighs", "slimy", "brain", "belle", "leery", "morse", "ruben", "prows", "frown", "disco", "regal", "oaken", "sheds", "hives", "corny", "baser", "fated", "throe", "revel", "bores", "waved", "shits", "elvia", "ferns", "maids", "color", "coifs", "cohan", "draft", "hmong", "alton", "stine", "cluck", "nodes", "emily", "brave", "blair", "blued", "dress", "bunts", "holst", "clogs", "rally", "knack", "demos", "brady", "blues", "flash", "goofy", "blocs", "diane", "colic", "smile", "yules", "foamy", "splay", "bilge", "faker", "foils", "condo", "knell", "crack", "gallo", "purls", "auras", "cakes", "doves", "joust", "aides", "lades", "muggy", "tanks", "middy", "tarps", "slack", "capet", "frays", "donny", "venal", "yeats", "misty", "denim", "glass", "nudes", "seeps", "gibbs", "blows", "bobbi", "shane", "yards", "pimps", "clued", "quiet", "witch", "boxes", "prawn", "kerry", "torah", "kinko", "dingy", "emote", "honor", "jelly", "grins", "trope", "vined", "bagel", "arden", "rapid", "paged", "loved", "agape", "mural", "budge", "ticks", "suers", "wendi", "slice", "salve", "robin", "bleat", "batik", "myles", "teddy", "flatt", "puppy", "gelid", "largo", "attar", "polls", "glide", "serum", "fundy", "sucks", "shalt", "sewer", "wreak", "dames", "fonts", "toxic", "hines", "wormy", "grass", "louse", "bowls", "crass", "benny", "moire", "margo", "golfs", "smart", "roxie", "wight", "reign", "dairy", "clops", "paled", "oddly", "sappy", "flair", "shown", "bulgy", "benet", "larch", "curry", "gulfs", "fends", "lunch", "dukes", "doris", "spoke", "coins", "manna", "conga", "jinns", "eases", "dunno", "tisha", "swore", "rhino", "calms", "irvin", "clans", "gully", "liege", "mains", "besot", "serge", "being", "welch", "wombs", "draco", "lynda", "forty", "mumps", "bloch", "ogden", "knits", "fussy", "alder", "danes", "loyal", "valet", "wooer", "quire", "liefs", "shana", "toyed", "forks", "gages", "slims", "cloys", "yates", "rails", "sheep", "nacho", "divan", "honks", "stone", "snack", "added", "basal", "hasps", "focus", "alone", "laxes", "arose", "lamed", "wrapt", "frail", "clams", "plait", "hover", "tacos", "mooch", "fault", "teeth", "marva", "mucks", "tread", "waves", "purim", "boron", "horde", "smack", "bongo", "monte", "swirl", "deals", "mikes", "scold", "muter", "sties", "lawns", "fluke", "jilts", "meuse", "fives", "sulky", "molds", "snore", "timmy", "ditty", "gasps", "kills", "carey", "jawed", "byers", "tommy", "homer", "hexed", "dumas", "given", "mewls", "smelt", "weird", "speck", "merck", "keats", "draws", "trent", "agave", "wells", "chews", "blabs", "roves", "grieg", "evens", "alive", "mulls", "cared", "garbo", "fined", "happy", "trued", "rodes", "thurs", "cadet", "alvin", "busch", "moths", "guild", "staci", "lever", "widen", "props", "hussy", "lamer", "riley", "bauer", "chirp", "rants", "poxes", "shyer", "pelts", "funny", "slits", "tinge", "ramos", "shift", "caper", "credo", "renal", "veils", "covey", "elmer", "mated", "tykes", "wooed", "briar", "gears", "foley", "shoes", "decry", "hypes", "dells", "wilds", "runts", "wilts", "white", "easts", "comer", "sammy", "lochs", "favor", "lance", "dawns", "bushy", "muted", "elsie", "creel", "pocks", "tenet", "cagey", "rides", "socks", "ogled", "soils", "sofas", "janna", "exile", "barks", "frank", "takes", "zooms", "hakes", "sagan", "scull", "heaps", "augur", "pouch", "blare", "bulbs", "wryly", "homey", "tubas", "limbo", "hardy", "hoagy", "minds", "bared", "gabby", "bilks", "float", "limns", "clasp", "laura", "range", "brush", "tummy", "kilts", "cooed", "worms", "leary", "feats", "robes", "suite", "veals", "bosch", "moans", "dozen", "rarer", "slyer", "cabin", "craze", "sweet", "talon", "treat", "yanks", "react", "creed", "eliza", "sluts", "cruet", "hafts", "noise", "seder", "flies", "weeks", "venus", "backs", "eider", "uriel", "vouch", "robed", "hacks", "perth", "shiny", "stilt", "torte", "throb", "merer", "twits", "reeds", "shawl", "clara", "slurs", "mixer", "newts", "fried", "woolf", "swoop", "kaaba", "oozed", "mayer", "caned", "laius", "lunge", "chits", "kenny", "lifts", "mafia", "sowed", "piled", "stein", "whack", "colts", "warms", "cleft", "girds", "seeks", "poets", "angel", "trade", "parsi", "tiers", "rojas", "vexes", "bryce", "moots", "grunt", "drain", "lumpy", "stabs", "poohs", "leapt", "polly", "cuffs", "giddy", "towns", "dacha", "quoth", "provo", "dilly", "carly", "mewed", "tzars", "crock", "toked", "speak", "mayas", "pssts", "ocher", "motel", "vogue", "camps", "tharp", "taunt", "drone", "taint", "badge", "scott", "scats", "bakes", "antes", "gruel", "snort", "capes", "plate", "folly", "adobe", "yours", "papaw", "hench", "moods", "clunk", "chevy", "tomas", "narcs", "vonda", "wiles", "prigs", "chock", "laser", "viced", "stiff", "rouse", "helps", "knead", "gazer", "blade", "tumid", "avail", "anger", "egged", "guide", "goads", "rabin", "toddy", "gulps", "flank", "brats", "pedal", "junky", "marco", "tinny", "tires", "flier", "satin", "darth", "paley", "gumbo", "rared", "muffs", "rower", "prude", "frees", "quays", "homes", "munch", "beefs", "leash", "aston", "colon", "finch", "bogey", "leaps", "tempo", "posts", "lined", "gapes", "locus", "maori", "nixes", "liven", "songs", "opted", "babel", "wader", "barer", "farts", "lisps", "koran", "lathe", "trill", "smirk", "mamma", "viler", "scurf", "ravel", "brigs", "cooky", "sachs", "fulls", "goals", "turfs", "norse", "hauls", "cores", "fairy", "pluto", "kneed", "cheek", "pangs", "risen", "czars", "milne", "cribs", "genes", "wefts", "vents", "sages", "seres", "owens", "wiley", "flume", "haded", "auger", "tatty", "onion", "cater", "wolfe", "magic", "bodes", "gulls", "gazes", "dandy", "snags", "rowed", "quell", "spurn", "shore", "veldt", "turns", "slavs", "coach", "stalk", "snuck", "piles", "orate", "joyed", "daily", "crone", "wager", "solos", "earns", "stark", "lauds", "kasey", "villa", "gnaws", "scent", "wears", "fains", "laced", "tamer", "pipes", "plant", "lorie", "rivet", "tamed", "cozen", "theme", "lifer", "sunny", "shags", "flack", "gassy", "eased", "jeeps", "shire", "fargo", "timer", "brash", "behan", "basin", "volga", "krone", "swiss", "docks", "booed", "ebert", "gusty", "delay", "oared", "grady", "buick", "curbs", "crete", "lucas", "strum", "besom", "gorse", "troth", "donne", "chink", "faced", "ahmed", "texas", "longs", "aloud", "bethe", "cacao", "hilda", "eagle", "karyn", "harks", "adder", "verse", "drays", "cello", "taped", "snide", "taxis", "kinky", "penes", "wicca", "sonja", "aways", "dyers", "bolas", "elfin", "slope", "lamps", "hutch", "lobed", "baaed", "masts", "ashes", "ionic", "joyce", "payed", "brays", "malts", "dregs", "leaky", "runny", "fecal", "woven", "hurls", "jorge", "henna", "dolby", "booty", "brett", "dykes", "rural", "fight", "feels", "flogs", "brunt", "preen", "elvis", "dopey", "gripe", "garry", "gamma", "fling", "space", "mange", "storm", "arron", "hairs", "rogue", "repel", "elgar", "ruddy", "cross", "medan", "loses", "howdy", "foams", "piker", "halts", "jewel", "avery", "stool", "cruel", "cases", "ruses", "cathy", "harem", "flour", "meted", "faces", "hobos", "charm", "jamar", "cameo", "crape", "hooey", "reefs", "denny", "mitts", "sores", "smoky", "nopes", "sooty", "twirl", "toads", "vader", "julep", "licks", "arias", "wrote", "north", "bunks", "heady", "batch", "snaps", "claws", "fouls", "faded", "beans", "wimps", "idled", "pulse", "goons", "noose", "vowed", "ronda", "rajas", "roast", "allah", "punic", "slows", "hours", "metal", "slier", "meaty", "hanna", "curvy", "mussy", "truth", "troys", "block", "reels", "print", "miffs", "busts", "bytes", "cream", "otter", "grads", "siren", "kilos", "dross", "batty", "debts", "sully", "bares", "baggy", "hippy", "berth", "gorky", "argon", "wacko", "harry", "smoke", "fails", "perms", "score", "steps", "unity", "couch", "kelly", "rumps", "fines", "mouth", "broth", "knows", "becky", "quits", "lauri", "trust", "grows", "logos", "apter", "burrs", "zincs", "buyer", "bayer", "moose", "overt", "croon", "ousts", "lands", "lithe", "poach", "jamel", "waive", "wiser", "surly", "works", "paine", "medal", "glads", "gybed", "paint", "lorre", "meant", "smugs", "bryon", "jinni", "sever", "viols", "flubs", "melts", "heads", "peals", "aiken", "named", "teary", "yalta", "styes", "heist", "bongs", "slops", "pouts", "grape", "belie", "cloak", "rocks", "scone", "lydia", "goofs", "rents", "drive", "crony", "orlon", "narks", "plays", "blips", "pence", "march", "alger", "baste", "acorn", "billy", "croce", "boone", "aaron", "slobs", "idyls", "irwin", "elves", "stoat", "doing", "globe", "verve", "icons", "trial", "olsen", "pecks", "there", "blame", "tilde", "milky", "sells", "tangy", "wrack", "fills", "lofty", "truce", "quark", "delia", "stowe", "marty", "overs", "putty", "coral", "swine", "stats", "swags", "weans", "spout", "bulky", "farsi", "brest", "gleam", "beaks", "coons", "hater", "peony", "huffy", "exert", "clips", "riven", "payer", "doped", "salas", "meyer", "dryad", "thuds", "tilts", "quilt", "jetty", "brood", "gulch", "corps", "tunic", "hubby", "slang", "wreck", "purrs", "punch", "drags", "chide", "sulks", "tints", "huger", "roped", "dopes", "booby", "rosin", "outer", "gusto", "tents", "elude", "brows", "lease", "ceres", "laxer", "worth", "necks", "races", "corey", "trait", "stuns", "soles", "teems", "scrip", "privy", "sight", "minor", "alisa", "stray", "spank", "cress", "nukes", "rises", "gusts", "aurae", "karma", "icing", "prose", "biked", "grand", "grasp", "skein", "shaky", "clump", "rummy", "stock", "twain", "zoned", "offed", "ghats", "mover", "randy", "vault", "craws", "thees", "salem", "downy", "sangs", "chore", "cited", "grave", "spinx", "erica", "raspy", "dying", "skips", "clerk", "paste", "moved", "rooks", "intel", "moses", "avers", "staid", "yawls", "blast", "lyres", "monks", "gaits", "floor", "saner", "waver", "assam", "infer", "wands", "bunch", "dryly", "weedy", "honey", "baths", "leach", "shorn", "shows", "dream", "value", "dooms", "spiro", "raped", "shook", "stead", "moran", "ditto", "loots", "tapir", "looms", "clove", "stops", "pinks", "soppy", "ripen", "wench", "shone", "bauds", "doric", "leans", "nadia", "cries", "camus", "boozy", "maris", "fools", "morns", "bides", "greek", "gauss", "roget", "lamar", "hazes", "beefy", "dupes", "refed", "felts", "larry", "guile", "ables", "wants", "warns", "toils", "bathe", "edger", "paced", "rinks", "shoos", "erich", "whore", "tiger", "jumpy", "lamas", "stack", "among", "punts", "scalp", "alloy", "solon", "quite", "comas", "whole", "parse", "tries", "reeve", "tiled", "deena", "roomy", "rodin", "aster", "twice", "musts", "globs", "parch", "drawn", "filch", "bonds", "tells", "droop", "janis", "holds", "scant", "lopes", "based", "keven", "whiny", "aspic", "gains", "franz", "jerri", "steel", "rowel", "vends", "yelps", "begin", "logic", "tress", "sunni", "going", "barge", "blood", "burns", "basks", "waifs", "bones", "skill", "hewer", "burly", "clime", "eking", "withs", "capek", "berta", "cheap", "films", "scoot", "tweed", "sizer", "wheat", "acton", "flung", "ponds", "tracy", "fiver", "berra", "roger", "mutes", "burke", "miked", "valve", "whisk", "runes", "parry", "toots", "japes", "roars", "rough", "irons", "romeo", "cages", "reeks", "cigar", "saiph", "dully", "hangs", "chops", "rolls", "prick", "acuff", "spent", "sulla", "train", "swell", "frets", "names", "anita", "crazy", "sixth", "blunt", "fewer", "large", "brand", "slick", "spitz", "rears", "ogres", "toffy", "yolks", "flock", "gnawn", "eries", "blink", "skier", "feted", "tones", "snail", "ether", "barbs", "noses", "hears", "upset", "awash", "cloud", "trunk", "degas", "dungs", "rated", "shall", "yeahs", "coven", "sands", "susan", "fable", "gunny", "began", "serfs", "balls", "dinky", "madge", "prong", "spilt", "lilly", "brawn", "comet", "spins", "raids", "dries", "sorts", "makes", "mason", "mayra", "royce", "stout", "mealy", "pagan", "nasal", "folds", "libby", "coups", "photo", "mosey", "amens", "speed", "lords", "board", "fetal", "lagos", "scope", "raked", "bonus", "mutts", "willy", "sport", "bingo", "thant", "araby", "bette", "rebel", "gases", "small", "humus", "grosz", "beset", "slays", "steve", "scrap", "blahs", "south", "pride", "heels", "tubes", "beady", "lacey", "genus", "mauls", "vying", "spice", "sexes", "ester", "drams", "today", "comae", "under", "jests", "direr", "yoked", "tempi", "early", "boats", "jesus", "warts", "guppy", "gilda", "quota", "token", "edwin", "ringo", "gaped", "lemon", "hurst", "manor", "arrow", "mists", "prize", "silas", "blobs", "diets", "ervin", "stony", "buddy", "bates", "rabid", "ducat", "ewing", "jaunt", "beads", "doyen", "blush", "thoth", "tiles", "piper", "short", "peron", "alley", "decks", "shunt", "whirs", "cushy", "roils", "betty", "plugs", "woken", "jibes", "foray", "merak", "ruing", "becks", "whale", "shoot", "dwelt", "spawn", "fairs", "dozed", "celts", "blond", "tikes", "sabin", "feint", "vamps", "cokes", "willa", "slues", "bills", "force", "curst", "yokel", "surer", "miler", "fices", "arced", "douse", "hilly", "lucio", "tongs", "togas", "minty", "sagas", "pates", "welsh", "bruno", "decal", "elate", "linux", "gyros", "pryor", "mousy", "pains", "shake", "spica", "pupal", "probe", "mount", "shirk", "purus", "kilns", "rests", "graze", "hague", "spuds", "sweep", "momma", "burch", "maces", "samar", "brace", "riser", "booms", "build", "camel", "flyer", "synge", "sauna", "tonga", "tings", "promo", "hides", "clair", "elisa", "bower", "reins", "diann", "lubed", "nulls", "picks", "laban", "milch", "buber", "stomp", "bosom", "lying", "haled", "avert", "wries", "macon", "skids", "fumed", "ogles", "clods", "antic", "nosey", "crimp", "purge", "mommy", "cased", "taxes", "covet", "clack", "butch", "panty", "lents", "machs", "exude", "tooth", "adore", "shuck", "asses", "after", "terra", "dices", "aryan", "regor", "romes", "stile", "cairo", "maura", "flail", "eaves", "estes", "sousa", "visas", "baron", "civet", "kitty", "freed", "ralph", "tango", "gawks", "cheat", "study", "fancy", "fiber", "musks", "souse", "brims", "claim", "bikes", "venue", "sired", "thymi", "rivas", "skimp", "pleas", "woman", "gimpy", "cawed", "minos", "pints", "knock", "poked", "bowen", "risky", "towel", "oinks", "linus", "heals", "pears", "codas", "inner", "pitch", "harpy", "niger", "madly", "bumpy", "stair", "files", "nobel", "celli", "spars", "jades", "balmy", "kooky", "plums", "trues", "gloss", "trims", "daunt", "tubby", "dared", "wadis", "smell", "darby", "stink", "drill", "dover", "ruler", "laden", "dikes", "layla", "fells", "maker", "joked", "horns", "these", "baize", "spahn", "whens", "edged", "mushy", "plume", "tucks", "spurs", "husky", "dried", "bigot", "pupas", "drily", "aware", "hagar", "newly", "knots", "pratt", "feces", "sabik", "watts", "cooke", "riles", "seamy", "fleas", "dusts", "barfs", "roans", "pawns", "vivid", "kirks", "tania", "feral", "tubae", "horne", "aries", "brits", "combs", "chunk", "stork", "waned", "texan", "elide", "glens", "emery", "autos", "trams", "dosed", "cheri", "baits", "jacks", "whose", "fazed", "matte", "swans", "maxed", "write", "spays", "orion", "traci", "horse", "stars", "strut", "goods", "verge", "scuff", "award", "dives", "wires", "burnt", "dimly", "sleds", "mayan", "biped", "quirk", "sofia", "slabs", "waste", "robby", "mayor", "fatty", "items", "bowel", "mires", "swarm", "route", "swash", "sooth", "paved", "steak", "upend", "sough", "throw", "perts", "stave", "carry", "burgs", "hilts", "plane", "toady", "nadir", "stick", "foist", "gnarl", "spain", "enter", "sises", "story", "scarf", "ryder", "glums", "nappy", "sixes", "honed", "marcy", "offer", "kneel", "leeds", "lites", "voter", "vince", "bursa", "heave", "roses", "trees", "argos", "leann", "grimy", "zelma", "crick", "tract", "flips", "folks", "smote", "brier", "moore", "goose", "baden", "riled", "looks", "sober", "tusks", "house", "acmes", "lubes", "chows", "neath", "vivas", "defer", "allay", "casey", "kmart", "pests", "proms", "eying", "cider", "leave", "shush", "shots", "karla", "scorn", "gifts", "sneer", "mercy", "copes", "faxed", "spurt", "monet", "awoke", "rocky", "share", "gores", "drawl", "tears", "mooed", "nones", "wined", "wrens", "modem", "beria", "hovel", "retch", "mates", "hands", "stymy", "peace", "carat", "coots", "hotel", "karen", "hayed", "mamet", "cuing", "paper", "rages", "suave", "reuse", "auden", "costs", "loner", "rapes", "hazel", "rites", "brent", "pumps", "dutch", "puffs", "noons", "grams", "teats", "cease", "honda", "pricy", "forgo", "fleck", "hired", "silos", "merge", "rafts", "halon", "larks", "deere", "jello", "cunts", "sifts", "boner", "morin", "mimes", "bungs", "marie", "harts", "snobs", "sonic", "hippo", "comes", "crops", "mango", "wrung", "garbs", "natty", "cents", "fitch", "moldy", "adams", "sorta", "coeds", "gilds", "kiddy", "nervy", "slurp", "ramon", "fuzed", "hiker", "winks", "vanes", "goody", "hawks", "crowd", "bract", "marla", "limbs", "solve", "gloom", "sloop", "eaton", "memos", "tames", "heirs", "berms", "wanes", "faint", "numbs", "holes", "grubs", "rakes", "waist", "miser", "stays", "antis", "marsh", "skyed", "payne", "champ", "jimmy", "clues", "fatal", "shoed", "freon", "lopez", "snowy", "loins", "stale", "thank", "reads", "isles", "grill", "align", "saxes", "rubin", "rigel", "walls", "beers", "wispy", "topic", "alden", "anton", "ducts", "david", "duets", "fries", "oiled", "waken", "allot", "swats", "woozy", "tuxes", "inter", "dunne", "known", "axles", "graph", "bumps", "jerry", "hitch", "crews", "lucia", "banal", "grope", "valid", "meres", "thick", "lofts", "chaff", "taker", "glues", "snubs", "trawl", "keels", "liker", "stand", "harps", "casks", "nelly", "debby", "panes", "dumps", "norma", "racks", "scams", "forte", "dwell", "dudes", "hypos", "sissy", "swamp", "faust", "slake", "maven", "lowed", "lilts", "bobby", "gorey", "swear", "nests", "marci", "palsy", "siege", "oozes", "rates", "stunt", "herod", "wilma", "other", "girts", "conic", "goner", "peppy", "class", "sized", "games", "snell", "newsy", "amend", "solis", "duane", "troop", "linda", "tails", "woofs", "scuds", "shies", "patti", "stunk", "acres", "tevet", "allen", "carpi", "meets", "trend", "salty", "galls", "crept", "toner", "panda", "cohen", "chase", "james", "bravo", "styed", "coals", "oates", "swami", "staph", "frisk", "cares", "cords", "stems", "razed", "since", "mopes", "rices", "junes", "raged", "liter", "manes", "rearm", "naive", "tyree", "medic", "laded", "pearl", "inset", "graft", "chair", "votes", "saver", "cains", "knobs", "gamay", "hunch", "crags", "olson", "teams", "surge", "wests", "boney", "limos", "ploys", "algae", "gaols", "caked", "molts", "glops", "tarot", "wheal", "cysts", "husks", "vaunt", "beaus", "fauns", "jeers", "mitty", "stuff", "shape", "sears", "buffy", "maced", "fazes", "vegas", "stamp", "borer", "gaged", "shade", "finds", "frock", "plods", "skied", "stump", "ripes", "chick", "cones", "fixed", "coled", "rodeo", "basil", "dazes", "sting", "surfs", "mindy", "creak", "swung", "cadge", "franc", "seven", "sices", "weest", "unite", "codex", "trick", "fusty", "plaid", "hills", "truck", "spiel", "sleek", "anons", "pupae", "chiba", "hoops", "trash", "noted", "boris", "dough", "shirt", "cowls", "seine", "spool", "miens", "yummy", "grade", "proxy", "hopes", "girth", "deter", "dowry", "aorta", "paean", "corms", "giant", "shank", "where", "means", "years", "vegan", "derek", "tales"};
for (String s : paths) set.add(s);
for (List<String> a : sol.findLadders(start, end, set)) {
System.out.println(a);
}
start = "nape";
end = "mild";
set = new HashSet<String>();
paths = new String[] {"dose","ends","dine","jars","prow","soap","guns","hops","cray","hove","ella","hour","lens","jive","wiry","earl","mara","part","flue","putt","rory","bull","york","ruts","lily","vamp","bask","peer","boat","dens","lyre","jets","wide","rile","boos","down","path","onyx","mows","toke","soto","dork","nape","mans","loin","jots","male","sits","minn","sale","pets","hugo","woke","suds","rugs","vole","warp","mite","pews","lips","pals","nigh","sulk","vice","clod","iowa","gibe","shad","carl","huns","coot","sera","mils","rose","orly","ford","void","time","eloy","risk","veep","reps","dolt","hens","tray","melt","rung","rich","saga","lust","yews","rode","many","cods","rape","last","tile","nosy","take","nope","toni","bank","jock","jody","diss","nips","bake","lima","wore","kins","cult","hart","wuss","tale","sing","lake","bogy","wigs","kari","magi","bass","pent","tost","fops","bags","duns","will","tart","drug","gale","mold","disk","spay","hows","naps","puss","gina","kara","zorn","boll","cams","boas","rave","sets","lego","hays","judy","chap","live","bahs","ohio","nibs","cuts","pups","data","kate","rump","hews","mary","stow","fang","bolt","rues","mesh","mice","rise","rant","dune","jell","laws","jove","bode","sung","nils","vila","mode","hued","cell","fies","swat","wags","nate","wist","honk","goth","told","oise","wail","tels","sore","hunk","mate","luke","tore","bond","bast","vows","ripe","fond","benz","firs","zeds","wary","baas","wins","pair","tags","cost","woes","buns","lend","bops","code","eddy","siva","oops","toed","bale","hutu","jolt","rife","darn","tape","bold","cope","cake","wisp","vats","wave","hems","bill","cord","pert","type","kroc","ucla","albs","yoko","silt","pock","drub","puny","fads","mull","pray","mole","talc","east","slay","jamb","mill","dung","jack","lynx","nome","leos","lade","sana","tike","cali","toge","pled","mile","mass","leon","sloe","lube","kans","cory","burs","race","toss","mild","tops","maze","city","sadr","bays","poet","volt","laze","gold","zuni","shea","gags","fist","ping","pope","cora","yaks","cosy","foci","plan","colo","hume","yowl","craw","pied","toga","lobs","love","lode","duds","bled","juts","gabs","fink","rock","pant","wipe","pele","suez","nina","ring","okra","warm","lyle","gape","bead","lead","jane","oink","ware","zibo","inns","mope","hang","made","fobs","gamy","fort","peak","gill","dino","dina","tier"};
for (String s : paths) set.add(s);
for (List<String> a : sol.findLadders(start, end, set)) {
System.out.println(a);
}
System.out.format("Size: %d\n", paths.length);
}
}