#!/usr/bin/perl
# Copyright 2002 Niels Provos <provos@citi.umich.edu>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
#    must display the following acknowledgement:
#      This product includes software developed by Niels Provos.
# 4. The name of the author may not be used to endorse or promote products
#    derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Simple password generator:
# Choose a master password, and then use this script to generate
# sub-passwords for different sites.
use Digest::MD5 qw(md5 md5_hex md5_base64);

@words = (
"abacus",
"abas",
"abash",
"abate",
"abator",
"abbey",
"abdat",
"abduct",
"abeam",
"abed",
"ablach",
"abloom",
"abmho",
"aboil",
"aboral",
"abort",
"abraid",
"abrupt",
"aburst",
"abuse",
"abuser",
"acacin",
"acca",
"accent",
"accite",
"acetal",
"achar",
"achime",
"acidyl",
"acinar",
"acknow",
"acle",
"acoine",
"acold",
"acomia",
"aconic",
"acrite",
"acrose",
"actual",
"acuate",
"adagio",
"adamas",
"adarme",
"adaunt",
"aday",
"addend",
"adead",
"adeep",
"adless",
"adlet",
"admi",
"admire",
"adobe",
"adopt",
"adpao",
"adroop",
"adsbud",
"adverb",
"adzer",
"aecium",
"aedile",
"aeried",
"aery",
"aflow",
"agamid",
"agasp",
"agate",
"agedly",
"agee",
"agency",
"agenda",
"aglet",
"agley",
"agnate",
"agnel",
"agnus",
"agonic",
"agroof",
"aguey",
"ahey",
"ahwal",
"aillt",
"aimful",
"ajava",
"ajhar",
"akhrot",
"akule",
"alanyl",
"alar",
"alba",
"albify",
"albite",
"aldern",
"aldose",
"alerce",
"aletap",
"alexic",
"alfa",
"algor",
"aliped",
"alisp",
"alist",
"aljoba",
"alkide",
"aller",
"allies",
"almous",
"alms",
"alnein",
"along",
"alphyl",
"alroot",
"altar",
"aludel",
"alvine",
"amala",
"amar",
"ambery",
"ambo",
"amend",
"ament",
"amimia",
"amla",
"amli",
"amlong",
"amman",
"amnic",
"amole",
"amor",
"ampery",
"amphid",
"ampul",
"amuze",
"anacid",
"anally",
"anana",
"anay",
"anbury",
"ancony",
"aneath",
"anew",
"angst",
"anguid",
"anilao",
"anilid",
"anjan",
"ankle",
"anodos",
"anoine",
"anonol",
"anorth",
"ansa",
"ante",
"anti",
"antiae",
"antlia",
"anusim",
"anyone",
"aortal",
"aortic",
"aplite",
"appete",
"applot",
"apsis",
"apulse",
"arake",
"arbor",
"arbute",
"arcana",
"archly",
"ardish",
"areach",
"areole",
"argala",
"arhat",
"arid",
"aridly",
"arigue",
"armil",
"armlet",
"aroid",
"aroma",
"arras",
"arrowy",
"arsle",
"arsyl",
"artery",
"artlet",
"aruke",
"arupa",
"arval",
"aryl",
"asak",
"ascent",
"asci",
"ascian",
"ascula",
"asem",
"ashen",
"ashery",
"askari",
"askip",
"aslant",
"asonia",
"asor",
"aspace",
"assai",
"assert",
"assi",
"assis",
"astalk",
"astare",
"astely",
"astral",
"astrer",
"aswirl",
"atabeg",
"atabek",
"atavus",
"atelo",
"athrob",
"atimon",
"atinga",
"atomic",
"atrip",
"atrium",
"attach",
"attar",
"atween",
"atwin",
"augury",
"aulete",
"aumous",
"auncel",
"aural",
"aurar",
"auric",
"autumn",
"aval",
"avaunt",
"avens",
"aver",
"averil",
"avian",
"aviary",
"aviate",
"avitic",
"await",
"aware",
"awave",
"awest",
"awheel",
"awless",
"awning",
"axine",
"axis",
"axman",
"axweed",
"axwort",
"ayah",
"ayelp",
"azonal",
"azotic",
"baar",
"babble",
"babish",
"baccae",
"backie",
"bacule",
"bahoe",
"bailey",
"baioc",
"baiter",
"baith",
"bakli",
"ball",
"ballad",
"balled",
"ballup",
"balow",
"balsam",
"balter",
"banana",
"banc",
"banda",
"bande",
"bandit",
"banish",
"banky",
"bantam",
"banuyo",
"banyan",
"baobab",
"barbal",
"barbe",
"barbed",
"bareca",
"barely",
"barful",
"barger",
"barid",
"barmy",
"barney",
"barong",
"baroto",
"barras",
"barrel",
"barry",
"baru",
"barvel",
"basal",
"basalt",
"basion",
"bason",
"basote",
"basset",
"batara",
"bated",
"batik",
"bating",
"batino",
"bats",
"batule",
"bauno",
"bauta",
"bavian",
"bawler",
"bawn",
"bayal",
"bayard",
"beader",
"beadle",
"beady",
"beaky",
"beala",
"bean",
"beant",
"beany",
"bebar",
"bebled",
"bebusy",
"becker",
"becut",
"bedark",
"bedbug",
"bedrug",
"beeve",
"befan",
"befoam",
"befoul",
"befume",
"begaud",
"beggar",
"begift",
"begild",
"begird",
"begluc",
"beglue",
"begoud",
"beheld",
"behoof",
"beice",
"bekiss",
"belam",
"beldam",
"belfry",
"belief",
"belion",
"bell",
"belong",
"belove",
"belt",
"beltie",
"belton",
"bemar",
"bemata",
"bemaul",
"bemole",
"bemuse",
"bena",
"bench",
"beng",
"benj",
"bennel",
"bennet",
"bepaid",
"bepen",
"bepity",
"berat",
"bergut",
"berne",
"berth",
"beshod",
"beslap",
"besoul",
"besour",
"besped",
"bespew",
"bestab",
"bestar",
"beth",
"betis",
"betted",
"bever",
"beworn",
"bewray",
"bhara",
"bhungi",
"bicron",
"bidet",
"bidri",
"bien",
"biga",
"bigot",
"bilby",
"bildar",
"bilgy",
"bilith",
"bimbil",
"binal",
"bind",
"bingey",
"bint",
"biopsy",
"birch",
"bird",
"birder",
"bireme",
"birken",
"birkie",
"birler",
"birn",
"birse",
"birsy",
"birth",
"bisect",
"bismar",
"bison",
"biti",
"bitt",
"bizet",
"blaff",
"blake",
"blanda",
"blash",
"blate",
"blatti",
"blazon",
"bleary",
"blee",
"blend",
"blite",
"bloat",
"bloke",
"blosmy",
"blower",
"blown",
"blowup",
"blowze",
"bluer",
"bluish",
"blush",
"blype",
"boater",
"bobac",
"bobbin",
"bocca",
"bocce",
"bodier",
"boding",
"bogard",
"boggle",
"bogier",
"bogum",
"boiler",
"boily",
"bola",
"bolled",
"bolt",
"bolti",
"bonder",
"bonny",
"boodle",
"booked",
"boolya",
"booze",
"bordel",
"bore",
"boread",
"borgh",
"borism",
"bosset",
"botany",
"botfly",
"bott",
"bottle",
"bottom",
"bouche",
"bound",
"bousy",
"bowed",
"bowing",
"bowl",
"bowman",
"bowwow",
"boxman",
"brab",
"braise",
"braky",
"brave",
"brede",
"brelaw",
"brett",
"brewer",
"bribee",
"brick",
"brills",
"brink",
"brique",
"brisk",
"brog",
"bronze",
"brook",
"brunt",
"bryony",
"bucca",
"buck",
"bucko",
"budger",
"buffy",
"build",
"buist",
"bulge",
"bulked",
"bullan",
"bulter",
"bummed",
"bung",
"bunion",
"bunkie",
"burbly",
"buret",
"burgh",
"burgoo",
"buri",
"burlap",
"burr",
"burro",
"bushi",
"busily",
"bussu",
"bustee",
"butane",
"butic",
"butoxy",
"butte",
"byee",
"bygane",
"byth",
"cabas",
"cabby",
"cabuya",
"cachet",
"cader",
"cadmic",
"cados",
"caduac",
"caecum",
"caffoy",
"caid",
"cairn",
"caky",
"calaba",
"caligo",
"calmer",
"calve",
"camaca",
"camara",
"camb",
"came",
"cameo",
"canamo",
"canard",
"canary",
"cancer",
"canch",
"candys",
"canner",
"cannot",
"canny",
"canroy",
"cant",
"canted",
"canton",
"cantus",
"canty",
"canvas",
"caplin",
"capman",
"capote",
"card",
"carded",
"cargo",
"carlot",
"carls",
"carob",
"carve",
"casein",
"castor",
"casual",
"cateye",
"cathro",
"catsup",
"caudex",
"caught",
"caval",
"cavity",
"caza",
"cazimi",
"cearin",
"cebid",
"cebil",
"cedar",
"cedent",
"cedrat",
"cedrol",
"ceile",
"cell",
"celled",
"cendre",
"cense",
"center",
"centum",
"ceras",
"cercal",
"certie",
"cervix",
"cesser",
"cest",
"chabuk",
"chaft",
"chal",
"chalta",
"champ",
"chanco",
"chancy",
"changa",
"chapin",
"chappy",
"char",
"chati",
"chatta",
"chawl",
"chaya",
"cheep",
"chef",
"chekan",
"chela",
"chelys",
"chende",
"cheven",
"chicky",
"chicot",
"chime",
"chin",
"chined",
"ching",
"chinin",
"choir",
"chold",
"choli",
"cholic",
"chomp",
"chop",
"chorda",
"chort",
"chose",
"choup",
"chubby",
"chug",
"chummy",
"chunk",
"church",
"chymia",
"chypre",
"cicer",
"cigala",
"cinene",
"cinque",
"cipo",
"cirri",
"cirrus",
"cisco",
"cistae",
"cistic",
"citee",
"citify",
"citole",
"cive",
"clad",
"clamb",
"clause",
"clava",
"clavis",
"clayer",
"clayey",
"cleat",
"cleft",
"clergy",
"cleuch",
"climb",
"clinal",
"clique",
"clog",
"clomb",
"closh",
"clot",
"clote",
"clothe",
"cloudy",
"clour",
"clumse",
"clunch",
"clype",
"cnicin",
"coaly",
"coaxal",
"coaxy",
"cobang",
"cobcab",
"coble",
"cobra",
"coburg",
"coca",
"cocco",
"coccus",
"cockal",
"cocked",
"cocky",
"coda",
"coder",
"codger",
"codo",
"coed",
"coelar",
"coff",
"coffer",
"cogged",
"coggie",
"coghle",
"coheir",
"cohort",
"cohosh",
"coifed",
"coker",
"colate",
"coleur",
"colk",
"collop",
"collum",
"colp",
"coly",
"comet",
"comoid",
"comose",
"comply",
"concur",
"conger",
"conner",
"conoid",
"consol",
"conte",
"convey",
"convoy",
"cook",
"cooky",
"coomb",
"coop",
"coorie",
"coot",
"cootie",
"copei",
"copra",
"cordy",
"corgi",
"corker",
"cornel",
"corody",
"corona",
"corset",
"coryl",
"cosset",
"costa",
"costal",
"costar",
"cothon",
"cotted",
"cottid",
"coude",
"couma",
"couril",
"cousin",
"coving",
"coween",
"cowish",
"cramp",
"crance",
"crappo",
"crapy",
"crash",
"crasis",
"creamy",
"creat",
"creese",
"crept",
"cressy",
"crinal",
"cripes",
"crisp",
"critic",
"croc",
"croppa",
"crore",
"croup",
"croupe",
"croupy",
"cruent",
"crummy",
"cruse",
"crust",
"cubeb",
"cuber",
"cueman",
"culler",
"culpa",
"cultus",
"culver",
"cumbha",
"cumbly",
"cummin",
"cumuli",
"cunner",
"cupman",
"cupric",
"cuprum",
"cupule",
"curl",
"curser",
"curtsy",
"curua",
"curver",
"cush",
"cusie",
"cusped",
"cutoff",
"cutted",
"cutup",
"cymous",
"cynoid",
"cystal",
"cysted",
"cyton",
"dablet",
"dacker",
"daedal",
"dagame",
"dagger",
"daily",
"daimen",
"dain",
"dakir",
"dalle",
"damier",
"dammer",
"damn",
"damp",
"dance",
"danger",
"daoine",
"daring",
"darken",
"darnel",
"dart",
"data",
"date",
"dative",
"daud",
"dauncy",
"daut",
"daylit",
"debase",
"debile",
"debt",
"debtee",
"debunk",
"decal",
"decane",
"decap",
"decart",
"decent",
"decke",
"decker",
"decoke",
"decry",
"decus",
"deduce",
"deduct",
"deepen",
"deeply",
"defuse",
"degust",
"deink",
"deject",
"delete",
"delint",
"deltic",
"delver",
"demi",
"demy",
"denim",
"denote",
"densen",
"dent",
"derry",
"descry",
"detune",
"devow",
"dhan",
"dhole",
"dhoti",
"dhyal",
"diaene",
"diarch",
"dicast",
"dice",
"dicker",
"didie",
"didst",
"diene",
"dier",
"diesis",
"dieter",
"dietic",
"diiodo",
"dike",
"dilo",
"dimber",
"dingo",
"dingy",
"dinic",
"dining",
"dinkey",
"dinus",
"diploe",
"dipole",
"dirge",
"disarm",
"disazo",
"disdub",
"dismal",
"disuse",
"diva",
"divide",
"docket",
"docmac",
"dodge",
"dodger",
"doer",
"doesnt",
"doffer",
"dogate",
"dogly",
"dogtie",
"doina",
"doings",
"doit",
"doline",
"dollar",
"dolmen",
"dolt",
"domain",
"domer",
"domett",
"domic",
"domite",
"donary",
"donate",
"doney",
"donor",
"donsie",
"dont",
"donum",
"dooli",
"doom",
"dopper",
"dorado",
"doria",
"dorm",
"dorp",
"dorsum",
"doruck",
"dotal",
"douce",
"doughy",
"douser",
"dove",
"dovish",
"dowie",
"down",
"dowser",
"dozen",
"draffy",
"drafty",
"drag",
"dragon",
"drain",
"drake",
"draper",
"drat",
"drawk",
"dream",
"dredge",
"dregs",
"drifty",
"drill",
"drip",
"drive",
"droner",
"dropsy",
"droud",
"druse",
"dryth",
"duali",
"ducal",
"duck",
"dudism",
"duello",
"dufoil",
"dugdug",
"dugout",
"dukery",
"duller",
"dulse",
"dumbly",
"dunair",
"dungy",
"dunk",
"durain",
"durrie",
"dusio",
"dutch",
"dwarfy",
"dwelt",
"dwine",
"dyer",
"dyne",
"eager",
"earing",
"earlap",
"easier",
"easter",
"ebbman",
"eboe",
"ecesis",
"eclegm",
"ecole",
"ectene",
"ectype",
"edea",
"edemic",
"edge",
"edgrew",
"eeler",
"eftest",
"eggnog",
"egoity",
"eider",
"eighty",
"ekaha",
"eldin",
"elfic",
"elude",
"elves",
"embira",
"emblem",
"embox",
"emend",
"emir",
"emit",
"emma",
"emmet",
"enamel",
"encage",
"encamp",
"encyst",
"endew",
"endow",
"endyma",
"enema",
"eneuch",
"engird",
"engore",
"engulf",
"enjoy",
"enlock",
"enmask",
"ennoic",
"enrace",
"enrobe",
"ensete",
"enurny",
"envier",
"envoy",
"enwrap",
"enzym",
"eoan",
"eosin",
"epaule",
"epulis",
"epural",
"erade",
"eral",
"erbia",
"erept",
"eric",
"erne",
"errand",
"eruc",
"eruca",
"essay",
"essed",
"estado",
"esteem",
"ethrog",
"etna",
"etymon",
"euchre",
"eunomy",
"euonym",
"eutaxy",
"exalt",
"excamb",
"exes",
"exhale",
"exile",
"exlex",
"expert",
"expose",
"expugn",
"extant",
"eyebar",
"eying",
"eyrir",
"fabes",
"facet",
"facia",
"factum",
"facund",
"faded",
"faery",
"faffle",
"fainly",
"faints",
"fainty",
"fair",
"fallen",
"fally",
"fanam",
"fancy",
"fang",
"fanman",
"fare",
"farm",
"farset",
"fash",
"fasher",
"fastus",
"fathom",
"fatil",
"fatly",
"faucal",
"faust",
"fawner",
"fawny",
"fayles",
"feak",
"feasor",
"feaze",
"fegary",
"fellah",
"felon",
"felt",
"felter",
"felty",
"fenks",
"fennig",
"feod",
"feria",
"ferned",
"ferrum",
"fescue",
"fetal",
"fetid",
"fetlow",
"fewter",
"fiard",
"fice",
"fico",
"fidge",
"fiend",
"fient",
"fifty",
"figgy",
"filing",
"fillip",
"finlet",
"finner",
"finnip",
"finny",
"fipple",
"fire",
"firn",
"fisted",
"fisty",
"fitly",
"fives",
"fjeld",
"flan",
"flated",
"flavic",
"flavo",
"fleshy",
"flet",
"flexor",
"flicky",
"flinch",
"flingy",
"flobby",
"floc",
"flodge",
"flog",
"flosh",
"fluey",
"fluke",
"flunky",
"fluty",
"flux",
"flyer",
"flyway",
"fogger",
"fogram",
"foible",
"foiter",
"fold",
"folk",
"fomes",
"footy",
"forage",
"forb",
"fore",
"forgot",
"forpet",
"forpit",
"forset",
"fortin",
"forty",
"fossor",
"foster",
"fotch",
"fowl",
"foxish",
"fozy",
"framea",
"frass",
"frater",
"frayn",
"fraze",
"frazil",
"freaky",
"freck",
"freed",
"fretum",
"frig",
"frisca",
"frisky",
"frizer",
"frizzy",
"froggy",
"froom",
"frough",
"frowze",
"fuddle",
"fudge",
"fudger",
"fugal",
"fulwa",
"fundic",
"fundus",
"funest",
"funis",
"furfur",
"furler",
"furphy",
"furze",
"furzy",
"fuscin",
"fusil",
"fusoid",
"fuss",
"fussy",
"fustin",
"fylfot",
"gabber",
"gabion",
"gablet",
"gadge",
"gadoid",
"gaen",
"gaffer",
"gagee",
"gaiety",
"gaine",
"galaxy",
"galee",
"galey",
"galgal",
"galoot",
"galosh",
"galp",
"galuth",
"gamic",
"gamily",
"gamma",
"gamut",
"gamy",
"ganga",
"gangan",
"ganoid",
"ganoin",
"gansel",
"gaping",
"garbel",
"garce",
"gardy",
"garial",
"gariba",
"garish",
"garlic",
"garrot",
"gasify",
"gasser",
"gauss",
"gavial",
"gawney",
"gayal",
"gayish",
"gazee",
"gazel",
"gazing",
"gecko",
"gein",
"geld",
"genear",
"geneat",
"geneki",
"geneva",
"genial",
"genie",
"genin",
"genom",
"gerbe",
"germ",
"german",
"gersum",
"gesso",
"getup",
"gharry",
"ghatti",
"ghosty",
"giarre",
"gibber",
"gibbon",
"gibe",
"gibleh",
"gibus",
"giddea",
"gied",
"gien",
"gift",
"gigger",
"giggit",
"gigolo",
"gilly",
"gilpy",
"gilt",
"ginner",
"girdle",
"girl",
"girlie",
"girn",
"girse",
"girth",
"giver",
"glacis",
"glade",
"glairy",
"glaum",
"glazed",
"gleary",
"gledy",
"gleet",
"glia",
"glib",
"gloat",
"glom",
"glomus",
"glout",
"glub",
"gluck",
"glue",
"gluer",
"glumpy",
"gnat",
"gnomed",
"gnomic",
"goal",
"gobby",
"goblin",
"godet",
"godkin",
"godly",
"godson",
"goff",
"goffer",
"goggly",
"gogo",
"golder",
"goldie",
"goldin",
"goldy",
"gomer",
"gonad",
"gonid",
"googly",
"goon",
"goonie",
"goose",
"gorbet",
"gorlin",
"gormed",
"gorra",
"gory",
"goslet",
"gossip",
"gossy",
"gotch",
"gouge",
"gowan",
"gowkit",
"graben",
"grace",
"grade",
"graft",
"gravel",
"greasy",
"greave",
"grege",
"greige",
"grieve",
"grille",
"grimme",
"grippe",
"grisly",
"grist",
"grit",
"grivet",
"groat",
"grope",
"groset",
"grouf",
"grout",
"grouze",
"grovel",
"grubby",
"grubs",
"gruel",
"gruff",
"gruffy",
"grumly",
"grump",
"grumpy",
"grylli",
"guama",
"guenon",
"guidon",
"guild",
"guilty",
"gular",
"gulden",
"gule",
"gully",
"gunebo",
"gurdle",
"gurr",
"gutter",
"gyps",
"gyrene",
"gyrose",
"gyrus",
"haab",
"habile",
"hafiz",
"haikal",
"hailse",
"haje",
"hakam",
"hale",
"halebi",
"hallah",
"hallex",
"halve",
"hamal",
"hameil",
"hami",
"hangby",
"hangie",
"hangle",
"hanker",
"hanna",
"harman",
"hasan",
"hater",
"hath",
"hatted",
"hauler",
"haysel",
"hazy",
"heady",
"heart",
"hearts",
"heck",
"heehaw",
"hefty",
"hegira",
"helbeh",
"helmet",
"hempy",
"hennin",
"henry",
"hepar",
"herby",
"herdic",
"hereby",
"hereof",
"heresy",
"herl",
"hernia",
"hersir",
"hertz",
"hetero",
"hetter",
"hewel",
"hexene",
"hexode",
"hexoic",
"hiatal",
"hilch",
"hinoki",
"hinter",
"hipple",
"hippo",
"hisn",
"hispid",
"hiss",
"hitter",
"hizz",
"hobbil",
"hobbly",
"hobby",
"hocus",
"hodden",
"hoer",
"hogged",
"hogpen",
"hoick",
"hokey",
"holla",
"holler",
"holm",
"homo",
"honest",
"hoodoo",
"hook",
"hooped",
"hopple",
"horal",
"horner",
"hosed",
"howdy",
"huddup",
"huffle",
"huke",
"huller",
"humate",
"humbug",
"hunch",
"hunger",
"hungry",
"hunky",
"hurted",
"hurter",
"husk",
"husked",
"hussy",
"huzz",
"hyaena",
"hylic",
"hyphal",
"hyphen",
"hypho",
"hypoid",
"ibis",
"idant",
"iddat",
"idea",
"ideaed",
"idgah",
"idlish",
"iffy",
"ileum",
"ilial",
"iliau",
"illy",
"ilot",
"imager",
"imaret",
"imbed",
"imber",
"imide",
"immi",
"immix",
"immund",
"impair",
"impala",
"impalm",
"impart",
"impave",
"imphee",
"impose",
"impure",
"inanga",
"inapt",
"inbent",
"incest",
"incite",
"incog",
"indent",
"indign",
"indy",
"infall",
"infare",
"infelt",
"infix",
"infold",
"infuse",
"initis",
"inkle",
"inland",
"inlook",
"inmate",
"inner",
"inter",
"into",
"intort",
"inulin",
"inurn",
"inwale",
"inwall",
"inweed",
"inwick",
"iodine",
"iodism",
"iodize",
"ionize",
"irok",
"isohel",
"isotac",
"itchy",
"iztle",
"jabiru",
"jacket",
"jadery",
"jambo",
"jane",
"jann",
"jasper",
"jati",
"javali",
"jawy",
"jazzy",
"jeel",
"jenna",
"jennet",
"jerker",
"jetton",
"jharal",
"jiboa",
"jiffle",
"jimjam",
"jimply",
"jingo",
"jinn",
"jirble",
"jiti",
"jitter",
"jiva",
"jixie",
"jogger",
"join",
"joom",
"joug",
"jowl",
"jowlop",
"joyhop",
"joyous",
"juicy",
"jujube",
"julep",
"julio",
"jumble",
"jumma",
"junior",
"jurat",
"jure",
"juring",
"jussel",
"justen",
"jutka",
"juvite",
"kabiet",
"kadaya",
"kago",
"kail",
"kainsi",
"kainyn",
"kaiser",
"kakar",
"kakke",
"kalium",
"kallah",
"kalon",
"kalong",
"kanari",
"kandol",
"kans",
"kapok",
"karate",
"kaross",
"karree",
"kasher",
"katun",
"kawika",
"keawe",
"keckle",
"kecky",
"keech",
"keel",
"keena",
"kefir",
"kegler",
"kell",
"kelly",
"kelpie",
"kemple",
"kent",
"kept",
"kerf",
"kerner",
"kerrie",
"kerril",
"kettle",
"khaja",
"kharua",
"khatri",
"khoja",
"kialee",
"kickee",
"kidlet",
"kidney",
"killcu",
"kimono",
"kina",
"kind",
"kinkly",
"kiosk",
"kipe",
"kipper",
"kishen",
"kiswa",
"kith",
"kittul",
"kiyas",
"klom",
"klops",
"klosh",
"kmet",
"knee",
"knet",
"knick",
"knobby",
"knock",
"knowe",
"knub",
"knur",
"knyazi",
"koban",
"kobold",
"kohemp",
"koine",
"kokako",
"kokum",
"konjak",
"kookri",
"kopeck",
"koph",
"korrel",
"kosher",
"kotyle",
"kozo",
"kraal",
"kreng",
"kronen",
"kuchen",
"kukui",
"kumbi",
"kummel",
"kumrah",
"kunai",
"kunk",
"kurgan",
"kusa",
"kvass",
"labba",
"lacing",
"lack",
"lacker",
"lackey",
"lactic",
"lacy",
"ladder",
"lagena",
"lager",
"lagger",
"lake",
"lamany",
"lambda",
"lamel",
"lamely",
"lammer",
"lammy",
"land",
"laney",
"lapser",
"large",
"largen",
"lari",
"lariat",
"larry",
"laser",
"lassie",
"lasso",
"last",
"later",
"lath",
"lathen",
"latish",
"launch",
"lavage",
"lave",
"lawing",
"lawter",
"lawyer",
"lazily",
"leaden",
"leadin",
"leafy",
"leaky",
"lealty",
"leanly",
"lease",
"leasow",
"leaven",
"lecher",
"lecyth",
"left",
"legger",
"legume",
"lehua",
"lemel",
"lemur",
"letten",
"leuk",
"lewis",
"liber",
"libra",
"licham",
"lick",
"lifey",
"liker",
"limbal",
"limbo",
"limen",
"limpet",
"lina",
"linden",
"liner",
"linga",
"lining",
"link",
"linon",
"linsey",
"linten",
"liny",
"lion",
"lionel",
"lipa",
"lipase",
"lipin",
"liquid",
"lirate",
"lisp",
"lisper",
"lissom",
"listen",
"litch",
"lith",
"litmus",
"liver",
"livor",
"llama",
"llautu",
"llyn",
"loaner",
"lobal",
"lobe",
"lobed",
"lobola",
"lobose",
"lobule",
"loch",
"lochan",
"loggat",
"logged",
"logic",
"loglet",
"lokao",
"loket",
"lomita",
"loofie",
"looney",
"loony",
"loopy",
"looter",
"lope",
"loran",
"lordy",
"loreal",
"lotase",
"louden",
"lough",
"louver",
"lover",
"lowery",
"lowth",
"loxia",
"lucida",
"luetic",
"lugged",
"lulab",
"lump",
"lunge",
"lunule",
"lupe",
"lupeol",
"luxate",
"lyery",
"macana",
"macer",
"machin",
"macle",
"madcap",
"made",
"mado",
"mafoo",
"mafura",
"magani",
"magged",
"magma",
"magnes",
"maholi",
"mail",
"maimed",
"maimon",
"make",
"mako",
"mala",
"malar",
"male",
"maleic",
"maline",
"malism",
"malkin",
"mallee",
"malo",
"mammal",
"mammee",
"mana",
"manage",
"mand",
"mania",
"maniac",
"mankin",
"mantal",
"manter",
"mantis",
"manuao",
"manway",
"mapper",
"maqui",
"marcel",
"maria",
"market",
"marled",
"marli",
"marlin",
"marmit",
"marmot",
"marrot",
"mart",
"martel",
"martyr",
"mashie",
"mashru",
"masse",
"massif",
"mast",
"master",
"mathes",
"matipo",
"matra",
"mature",
"matzo",
"maugh",
"mauley",
"maumet",
"mauve",
"mawp",
"maxixe",
"maynt",
"maza",
"meadow",
"meant",
"measle",
"meated",
"media",
"medial",
"median",
"medico",
"medio",
"meek",
"megmho",
"megohm",
"megrim",
"mela",
"memoir",
"menace",
"mentor",
"mentum",
"merch",
"mergh",
"merkin",
"merop",
"mese",
"meshed",
"mesne",
"messrs",
"mestee",
"mester",
"metis",
"metric",
"metze",
"meuse",
"mian",
"miasma",
"miaul",
"mica",
"mids",
"mike",
"mildew",
"milk",
"mille",
"mima",
"mimic",
"minhag",
"minny",
"mino",
"minor",
"minter",
"minuet",
"mirage",
"mirate",
"mire",
"mise",
"misery",
"mislay",
"misura",
"mixed",
"mneme",
"mnemic",
"mocker",
"modish",
"mohr",
"moio",
"moko",
"moky",
"mold",
"moldy",
"mole",
"moler",
"molest",
"moline",
"molman",
"molten",
"momble",
"momo",
"mona",
"monel",
"monism",
"monkey",
"monny",
"moolet",
"moory",
"moosey",
"mope",
"mopish",
"mopla",
"morass",
"moreen",
"morg",
"morgue",
"mortal",
"morula",
"mostly",
"mote",
"motet",
"mother",
"motif",
"motion",
"motley",
"motyka",
"mould",
"moulin",
"mouly",
"moving",
"mowch",
"mowha",
"mowing",
"moyen",
"mpret",
"muang",
"much",
"mucksy",
"mucluc",
"mucose",
"mucous",
"mucus",
"mudir",
"mukti",
"mule",
"mulla",
"mulmul",
"munch",
"mundil",
"mundle",
"mural",
"murex",
"murga",
"muriti",
"murky",
"murlin",
"murra",
"murrey",
"murza",
"museum",
"musha",
"musico",
"musnud",
"musty",
"mutase",
"mutive",
"mutuum",
"mycele",
"mygale",
"myops",
"myrrh",
"mysell",
"mystax",
"nacre",
"nael",
"naggle",
"naifly",
"nairy",
"naive",
"nallah",
"namda",
"nandi",
"nantle",
"narial",
"narky",
"nasial",
"nasus",
"nataka",
"natch",
"nather",
"native",
"natter",
"nature",
"navel",
"neal",
"nearly",
"neat",
"nebbed",
"nebel",
"nebris",
"nebula",
"needs",
"neffy",
"neger",
"nelson",
"nerver",
"neti",
"netted",
"netty",
"nevel",
"nevoy",
"newish",
"nexum",
"niacin",
"nibbed",
"nidana",
"nidge",
"nifle",
"nincom",
"ninety",
"nintu",
"nisse",
"nizam",
"nobby",
"nobley",
"nocent",
"nocket",
"nodder",
"noise",
"nomic",
"nonda",
"nook",
"nooky",
"nooser",
"nori",
"noria",
"norite",
"nosed",
"nosey",
"nostic",
"notal",
"nother",
"nougat",
"nova",
"novity",
"nowhit",
"nubby",
"nubia",
"nucha",
"nuclei",
"nucule",
"nudate",
"nugget",
"nullo",
"numbly",
"nunky",
"nurhag",
"nyanza",
"oaky",
"oatear",
"oath",
"oathed",
"obeism",
"obolus",
"obtect",
"obvert",
"occult",
"occupy",
"ochrea",
"octant",
"octet",
"octoon",
"octroi",
"oddish",
"odoom",
"offing",
"often",
"ogive",
"ohoy",
"oilery",
"oilway",
"oily",
"oint",
"oitava",
"olam",
"olden",
"olein",
"oleous",
"oliban",
"olona",
"omelet",
"omnist",
"omnium",
"onagra",
"oneism",
"oogamy",
"oolite",
"oont",
"oopak",
"oord",
"ooze",
"opah",
"opener",
"optant",
"orby",
"orchat",
"orchic",
"orchid",
"oread",
"orgeat",
"orgy",
"origin",
"oriole",
"ormer",
"orrery",
"ortet",
"orthid",
"oscule",
"osse",
"otto",
"oturia",
"oust",
"outask",
"outban",
"outbar",
"outcry",
"outdo",
"outgun",
"outhit",
"outlet",
"outlip",
"outly",
"outsea",
"outset",
"ovolo",
"oxamic",
"oxeye",
"oxhoft",
"oxide",
"oxidic",
"oxreim",
"oxskin",
"oxymel",
"oyer",
"ozena",
"pacate",
"paddle",
"paegle",
"pagan",
"pagoda",
"paik",
"painty",
"pajock",
"palace",
"palama",
"palely",
"paletz",
"paling",
"palla",
"pallet",
"palm",
"palmar",
"palmo",
"palt",
"panax",
"pand",
"pandy",
"panela",
"panfil",
"pannum",
"pants",
"panty",
"papane",
"pape",
"paper",
"papize",
"papreg",
"para",
"parate",
"parent",
"paries",
"parine",
"parker",
"parol",
"parole",
"parpal",
"parr",
"partly",
"party",
"pastel",
"paster",
"pata",
"pataco",
"patent",
"patly",
"patrin",
"patron",
"patta",
"pattu",
"paup",
"pavage",
"paving",
"pavior",
"pawnor",
"paxwax",
"peaky",
"pearl",
"pebble",
"pecket",
"pectus",
"pedary",
"pedes",
"pedum",
"peeler",
"peen",
"peeper",
"pegged",
"peggle",
"peggy",
"pelf",
"pelick",
"pelmet",
"pelvic",
"penile",
"people",
"pepsin",
"percid",
"perdu",
"peri",
"perky",
"pernyi",
"persis",
"perule",
"peste",
"petal",
"pete",
"petrel",
"pewage",
"pewee",
"pewit",
"pewter",
"pewy",
"peyote",
"pfui",
"phase",
"phenyl",
"phit",
"phone",
"phonic",
"phono",
"phony",
"phylic",
"phylum",
"phytin",
"pianic",
"pica",
"pickup",
"picoid",
"picot",
"picuda",
"pidan",
"piecen",
"pielet",
"piemag",
"pieman",
"pierid",
"pigful",
"pignus",
"piker",
"piking",
"pikle",
"pilage",
"piler",
"pileus",
"pilose",
"pilot",
"pilpul",
"pingle",
"pining",
"pinion",
"pinnal",
"pinny",
"pipal",
"pipe",
"pipery",
"pipkin",
"pirny",
"pirr",
"pisay",
"pita",
"pitch",
"pitchi",
"pithos",
"pithy",
"pitier",
"pitman",
"pitpit",
"pitted",
"place",
"plack",
"plage",
"plaid",
"plait",
"plap",
"plasma",
"plater",
"platty",
"plaud",
"plea",
"plebe",
"pled",
"plenty",
"pleura",
"ploce",
"plomb",
"plote",
"plouk",
"pluck",
"pluff",
"pluggy",
"plumer",
"plushy",
"plying",
"podded",
"podite",
"podzol",
"poemet",
"poesy",
"poetic",
"pointy",
"poised",
"polity",
"pollex",
"pommet",
"pommy",
"pompa",
"pompal",
"ponce",
"pondy",
"poney",
"ponica",
"pony",
"pooch",
"pooder",
"poof",
"pooli",
"poonga",
"popeye",
"popgun",
"porger",
"porism",
"porite",
"porker",
"poroma",
"porr",
"pory",
"postal",
"postic",
"potash",
"potful",
"pother",
"pott",
"pouchy",
"poulpe",
"pram",
"prase",
"prayer",
"preact",
"precox",
"predry",
"preeze",
"prefab",
"prefer",
"preset",
"pretty",
"prevue",
"prich",
"priory",
"prism",
"priss",
"prize",
"prob",
"probe",
"prober",
"prog",
"prolix",
"pronto",
"prosar",
"prose",
"proser",
"proso",
"protyl",
"prove",
"prude",
"pruh",
"pryer",
"psiloi",
"psyche",
"pucka",
"puddee",
"pudge",
"pudic",
"puerer",
"puggy",
"puist",
"pukras",
"pule",
"pullet",
"pulp",
"pulwar",
"pumple",
"punner",
"punta",
"puntel",
"pupal",
"pupoid",
"pupulo",
"puree",
"purify",
"purine",
"purity",
"purl",
"purple",
"purrer",
"pursed",
"purvoe",
"pussy",
"putage",
"putrid",
"pyal",
"pyelic",
"pygmy",
"pyke",
"pyran",
"pyrene",
"qintar",
"quaily",
"quaint",
"quaky",
"quale",
"quandy",
"quasi",
"quasky",
"queer",
"queery",
"quegh",
"quei",
"queue",
"quib",
"quince",
"quinsy",
"quinze",
"quipo",
"quiver",
"quoits",
"quota",
"quoth",
"raad",
"rabbi",
"rabid",
"race",
"racket",
"radish",
"radix",
"rafter",
"raglan",
"railly",
"rakh",
"raki",
"raku",
"rambeh",
"ramose",
"ramp",
"randem",
"randle",
"rane",
"range",
"ranger",
"rangle",
"rant",
"ranty",
"ranula",
"raphis",
"raping",
"raser",
"rashly",
"raster",
"rastik",
"rastle",
"ratoon",
"ratten",
"ratti",
"raupo",
"rayage",
"raylet",
"razee",
"razoo",
"reamer",
"reap",
"rear",
"reason",
"reave",
"rebawl",
"rebias",
"rebid",
"rebulk",
"rebuoy",
"rebus",
"rebuy",
"rechar",
"recoin",
"recomb",
"recoup",
"recrop",
"recta",
"redate",
"redbud",
"redeal",
"redeem",
"redleg",
"redub",
"reechy",
"reeden",
"reeker",
"reesle",
"reesty",
"refall",
"refit",
"refly",
"refold",
"refool",
"refoot",
"reform",
"refuel",
"refute",
"reglet",
"regush",
"rehaul",
"rehood",
"rehoop",
"reina",
"reit",
"rejail",
"reknow",
"reland",
"relap",
"relate",
"relict",
"relief",
"relist",
"reloan",
"relook",
"reluct",
"remand",
"remass",
"remill",
"remise",
"remop",
"reneg",
"renege",
"rennet",
"rental",
"rentee",
"renvoy",
"repark",
"repel",
"repent",
"repew",
"replod",
"repope",
"repost",
"reps",
"repugn",
"rereel",
"rerob",
"rerope",
"rerub",
"resack",
"resalt",
"rescan",
"reseal",
"reseed",
"resell",
"resing",
"resize",
"resort",
"restem",
"rester",
"resuck",
"resume",
"reswim",
"retag",
"retail",
"retain",
"retalk",
"retial",
"retime",
"retomb",
"retook",
"retour",
"reve",
"revend",
"revest",
"revete",
"revise",
"rewake",
"rewarm",
"rewarn",
"rewear",
"rewet",
"rhea",
"rhetor",
"rhodic",
"rhumb",
"rhymer",
"rhymic",
"riant",
"riches",
"richly",
"ricin",
"ricker",
"rife",
"rifely",
"rifle",
"rikk",
"rime",
"rimple",
"rine",
"ringle",
"rinner",
"rinser",
"ripgut",
"ripple",
"rippon",
"risala",
"rising",
"risk",
"risp",
"risper",
"risque",
"rissel",
"rist",
"ritual",
"rival",
"rive",
"rivel",
"rizzom",
"road",
"roam",
"rococo",
"rodlet",
"rodman",
"roodle",
"roof",
"roofer",
"rool",
"roost",
"rooted",
"ropish",
"roric",
"rosal",
"rosary",
"roset",
"rosy",
"rotal",
"rotang",
"rotate",
"rotch",
"rote",
"roter",
"rotor",
"rouky",
"roundy",
"rouse",
"rout",
"rowet",
"rubbly",
"rubify",
"rubine",
"ruckus",
"rudity",
"ruer",
"ruff",
"ruffin",
"rugate",
"rummy",
"rundle",
"runed",
"rung",
"runite",
"runkle",
"runkly",
"runlet",
"rupee",
"rusine",
"rusot",
"rust",
"ruther",
"rutter",
"saber",
"sabicu",
"sabina",
"saccus",
"sacral",
"sadic",
"sadly",
"safe",
"safety",
"saft",
"sagene",
"sailed",
"sairly",
"saki",
"salar",
"salary",
"salema",
"salite",
"sallee",
"salloo",
"sally",
"salma",
"salol",
"saloon",
"salta",
"salted",
"salten",
"saluki",
"salvo",
"samekh",
"sammer",
"sandan",
"sane",
"sanely",
"sank",
"sare",
"sargo",
"sarkar",
"sarkit",
"sarna",
"sart",
"sarus",
"sarwan",
"satiny",
"satron",
"satura",
"sauf",
"saur",
"sawyer",
"saxtie",
"saya",
"sayer",
"saying",
"sazen",
"scaler",
"scalma",
"scaly",
"scarn",
"scaul",
"scaup",
"scaut",
"scena",
"schanz",
"school",
"scolb",
"scoria",
"scour",
"scout",
"scovel",
"scovy",
"scow",
"scraze",
"screak",
"screen",
"screet",
"scrob",
"scuddy",
"scull",
"sculp",
"scun",
"scup",
"scurdy",
"scute",
"scythe",
"secern",
"seck",
"secque",
"seeder",
"seemer",
"seen",
"seepy",
"seethe",
"seggar",
"seizer",
"seldom",
"self",
"sell",
"selt",
"seme",
"semi",
"semsem",
"sence",
"senna",
"sense",
"sepium",
"septum",
"sequa",
"sequin",
"seroot",
"serosa",
"sert",
"serve",
"sesma",
"sesqui",
"setal",
"seton",
"setose",
"settle",
"setule",
"severy",
"sewan",
"sewery",
"sewing",
"sextry",
"shack",
"shaggy",
"shake",
"shaku",
"shard",
"sharer",
"sharpy",
"shauwe",
"shavee",
"shaven",
"shea",
"sheafy",
"shears",
"shee",
"sheik",
"sherif",
"sherry",
"shewa",
"shice",
"shide",
"shift",
"shiny",
"shinza",
"shire",
"shivoo",
"shoaly",
"shole",
"shood",
"shoppy",
"shorn",
"shot",
"show",
"showy",
"shram",
"shrill",
"shrimp",
"shroff",
"shrog",
"shul",
"shumac",
"shush",
"shyish",
"sidth",
"siege",
"sieger",
"sighty",
"signee",
"signum",
"sika",
"silkie",
"silo",
"silver",
"simiad",
"simson",
"sindon",
"sing",
"singer",
"sinker",
"siping",
"sippet",
"siress",
"sirpea",
"sise",
"siva",
"siver",
"sizz",
"skeigh",
"skein",
"skelf",
"skene",
"skerry",
"skewl",
"skill",
"skimp",
"skinch",
"skinny",
"skip",
"skippy",
"skirl",
"skit",
"skitty",
"skiver",
"skunk",
"skyish",
"skyre",
"skyway",
"slae",
"slag",
"slake",
"slam",
"slart",
"slatch",
"sleazy",
"sled",
"sledge",
"slee",
"sleeky",
"sleigh",
"slided",
"slimer",
"slimsy",
"sline",
"slippy",
"slish",
"slite",
"slob",
"sloomy",
"sloosh",
"slops",
"sloshy",
"slot",
"sloth",
"slowly",
"slubby",
"sludgy",
"slur",
"slurp",
"slush",
"slyish",
"smack",
"smaik",
"small",
"smally",
"smalm",
"smalt",
"smash",
"smeek",
"smethe",
"smeuse",
"smitch",
"smith",
"smoky",
"snape",
"snark",
"snarly",
"snatch",
"sneak",
"sneery",
"sneeze",
"snirl",
"snivel",
"snob",
"snock",
"snugly",
"soaky",
"sobber",
"sobeit",
"sody",
"soke",
"soken",
"soldi",
"soleus",
"soli",
"solid",
"solio",
"sollar",
"solo",
"soloth",
"sompay",
"sonant",
"sonar",
"sonata",
"sontag",
"sooky",
"soph",
"sophy",
"sora",
"sorage",
"sorbin",
"sorda",
"sordor",
"sorgho",
"sorner",
"sortal",
"sorted",
"sortie",
"sorty",
"soso",
"soul",
"sour",
"source",
"souren",
"soury",
"south",
"sowle",
"sowt",
"sozin",
"space",
"spadix",
"spak",
"spale",
"spandy",
"spane",
"spart",
"spasm",
"spat",
"spayad",
"speal",
"speech",
"speed",
"speel",
"spend",
"spent",
"spetch",
"spiced",
"spicer",
"spiky",
"spilly",
"spina",
"spiran",
"spleen",
"spleet",
"splosh",
"spoky",
"sporty",
"sprew",
"sprint",
"spry",
"spuke",
"spurl",
"sputum",
"spydom",
"squame",
"squeak",
"squin",
"squirr",
"stalk",
"stanch",
"stand",
"stang",
"stank",
"stanno",
"staw",
"stean",
"steel",
"steely",
"steep",
"stema",
"sten",
"stend",
"stereo",
"stet",
"stich",
"sticks",
"stilet",
"still",
"stim",
"stint",
"stinty",
"stipe",
"stiver",
"stoic",
"stola",
"stole",
"stood",
"stoon",
"storge",
"storm",
"stormy",
"stoush",
"stoven",
"strade",
"strand",
"streck",
"streep",
"streng",
"stress",
"strich",
"strid",
"strig",
"striga",
"stroud",
"strum",
"strung",
"strut",
"struv",
"stubb",
"stuggy",
"stung",
"stupex",
"stylar",
"styler",
"stylo",
"styrax",
"subdeb",
"suber",
"subfeu",
"subget",
"subgit",
"subtle",
"succin",
"such",
"suet",
"sugh",
"suist",
"suji",
"sulfa",
"sulky",
"sullen",
"sully",
"sumbul",
"sump",
"sumph",
"sundew",
"sundik",
"sune",
"sunken",
"sunway",
"sunyie",
"sura",
"surat",
"surd",
"sure",
"surfle",
"surma",
"surnay",
"surra",
"suther",
"sutra",
"suttin",
"suwe",
"swaddy",
"swage",
"swager",
"swaggy",
"swain",
"swallo",
"swap",
"swart",
"swarty",
"swarve",
"swatch",
"swayed",
"sweath",
"sweepy",
"swelp",
"swelty",
"swim",
"swink",
"swire",
"swum",
"swure",
"syndic",
"syntan",
"tabber",
"tabefy",
"table",
"tablet",
"tabula",
"tacket",
"tackey",
"taenia",
"tafia",
"tahr",
"taimen",
"taint",
"taipan",
"talao",
"talker",
"tally",
"talma",
"tamein",
"tandle",
"tangs",
"tanist",
"tantum",
"taoyin",
"tapism",
"tapul",
"tara",
"taraf",
"tarboy",
"tardle",
"tarfa",
"targe",
"targer",
"target",
"tarnal",
"taroc",
"tarpon",
"tarri",
"tarrie",
"tars",
"tarten",
"tasker",
"tass",
"taster",
"tatbeb",
"tatchy",
"tattoo",
"taula",
"taupe",
"taupou",
"tauten",
"tavert",
"tavola",
"tawney",
"tawse",
"taxite",
"taxwax",
"tayer",
"tche",
"tead",
"teapoy",
"teave",
"tebbet",
"teck",
"tecuma",
"tedge",
"teel",
"teerer",
"teetan",
"teff",
"telar",
"tell",
"tellt",
"temper",
"tempt",
"temser",
"tenai",
"tepal",
"tepefy",
"terap",
"tercel",
"teredo",
"tergal",
"tern",
"terron",
"tervee",
"teth",
"tetric",
"tewit",
"thaler",
"tharm",
"thaw",
"theah",
"theave",
"thecae",
"thee",
"theine",
"themer",
"then",
"thenar",
"thermo",
"thetch",
"thewy",
"theyre",
"thigh",
"thilk",
"this",
"thisn",
"thong",
"thooid",
"thorax",
"thouse",
"thrain",
"thrap",
"thresh",
"throe",
"throng",
"thrush",
"thruv",
"thulir",
"thurse",
"thymy",
"tibey",
"tibial",
"tide",
"tidily",
"tidy",
"tierce",
"tigger",
"tilaka",
"tiling",
"tilt",
"timbe",
"timber",
"timid",
"timon",
"tinct",
"tind",
"tinean",
"tinman",
"tinny",
"tinsel",
"tint",
"tintie",
"tippee",
"tipper",
"tipple",
"tirer",
"tirma",
"tisar",
"titian",
"titled",
"titty",
"tock",
"toecap",
"toggel",
"toher",
"toiled",
"toiler",
"toity",
"tole",
"toller",
"tombac",
"tone",
"toneme",
"tong",
"tonify",
"tonite",
"tonner",
"tonsor",
"tooken",
"tool",
"toot",
"tootle",
"topass",
"topaz",
"topo",
"topply",
"tornus",
"torque",
"tort",
"tosser",
"tother",
"totum",
"tould",
"tousle",
"towkay",
"townee",
"towny",
"towy",
"toxon",
"toze",
"tracer",
"tragus",
"trah",
"trail",
"trait",
"tramp",
"trance",
"tranka",
"trawl",
"tread",
"treed",
"trevet",
"trews",
"tricar",
"trilby",
"triose",
"trisul",
"triton",
"trivet",
"trivia",
"troco",
"trogon",
"tromba",
"trombe",
"troner",
"trotol",
"trough",
"troupe",
"trout",
"trouty",
"truish",
"trush",
"truss",
"trygon",
"trying",
"tryout",
"tsadik",
"tsamba",
"tsubo",
"tubar",
"tubate",
"tubba",
"tuchun",
"tucky",
"tughra",
"tuism",
"tula",
"tulasi",
"tumbak",
"tumble",
"tumid",
"tuner",
"tunish",
"tunist",
"tupek",
"tupuna",
"turbeh",
"turco",
"turfed",
"turio",
"turion",
"turn",
"turus",
"turwar",
"tusher",
"tusk",
"tuskar",
"tussah",
"tussis",
"tutman",
"tuzzle",
"twaddy",
"twain",
"twal",
"twale",
"twant",
"tweag",
"tweed",
"tweeg",
"tweeny",
"tweeze",
"twiner",
"twinge",
"tyke",
"tylose",
"tympan",
"typhic",
"typify",
"tyste",
"udaler",
"ulitis",
"ulla",
"ulmin",
"umbel",
"umber",
"umble",
"umbrae",
"umiak",
"umiri",
"unably",
"unakin",
"unbar",
"unbear",
"unbit",
"unbold",
"unbung",
"unbush",
"unbusk",
"unbusy",
"uncage",
"uncask",
"uncate",
"uncity",
"unclog",
"uncolt",
"uncope",
"uncore",
"uncost",
"undark",
"undaub",
"undeck",
"undern",
"undies",
"undo",
"undone",
"undrag",
"undry",
"unfill",
"unfilm",
"unflat",
"unfree",
"unfur",
"ungilt",
"ungirt",
"ungulp",
"unhang",
"unhap",
"unhigh",
"unhome",
"unhoop",
"unhusk",
"uniate",
"unjoin",
"unjust",
"unkind",
"unlimp",
"unlit",
"unloop",
"unlord",
"unlost",
"unluck",
"unmeek",
"unmew",
"unneth",
"unnice",
"unpaid",
"unpass",
"unpawn",
"unpeg",
"unpure",
"unrake",
"unrare",
"unrash",
"unread",
"unreel",
"unrein",
"unsafe",
"unsawn",
"unseen",
"unself",
"unsin",
"unsome",
"unsown",
"unspar",
"unspin",
"unspun",
"unstop",
"untaut",
"untie",
"untone",
"unvain",
"unwarn",
"unweel",
"unweft",
"unweld",
"unwily",
"unwomb",
"unwon",
"unzen",
"upbray",
"upbuy",
"upcut",
"upeat",
"upgale",
"upget",
"upgird",
"upgirt",
"upgive",
"uphill",
"upla",
"uplay",
"uplead",
"uppish",
"uppull",
"uproar",
"uproot",
"upside",
"upsoak",
"uptake",
"uptorn",
"uptuck",
"upturn",
"upwaft",
"upwall",
"upwith",
"urari",
"urde",
"uresis",
"urheen",
"ursal",
"ursoid",
"urus",
"usage",
"usar",
"usara",
"usward",
"uterus",
"uvalha",
"uveous",
"vacant",
"vagal",
"vagary",
"vague",
"vajra",
"valval",
"valved",
"vamped",
"vanish",
"varan",
"varna",
"vase",
"vassal",
"vasu",
"vealer",
"vector",
"vedika",
"vela",
"vellon",
"velo",
"velum",
"vendee",
"venue",
"venule",
"venust",
"verdin",
"verek",
"verre",
"versed",
"verso",
"versor",
"versta",
"vertex",
"vester",
"vetch",
"vetchy",
"veto",
"vexed",
"vexil",
"viand",
"viatic",
"vice",
"vicuna",
"viddui",
"viewer",
"viewly",
"viga",
"vile",
"vilely",
"villar",
"vineal",
"viner",
"vinny",
"vinyl",
"violon",
"viral",
"virgal",
"virify",
"virl",
"virtu",
"virtue",
"viscin",
"visie",
"visita",
"visive",
"vistal",
"vives",
"vlei",
"vocate",
"voiced",
"voidee",
"voider",
"vortex",
"votive",
"vouge",
"waag",
"waar",
"wabber",
"wace",
"wacken",
"waddly",
"wadi",
"wahahe",
"wahine",
"wahoo",
"waker",
"wale",
"wali",
"wallop",
"walrus",
"walsh",
"wamp",
"wandle",
"wanle",
"ward",
"warish",
"wark",
"warn",
"warper",
"warple",
"warran",
"warst",
"wart",
"warty",
"wasty",
"wauble",
"waving",
"wawa",
"waxy",
"wayaka",
"wean",
"weanel",
"weary",
"webbed",
"wede",
"wedset",
"weeder",
"week",
"ween",
"weir",
"weism",
"wels",
"welt",
"wept",
"wert",
"wese",
"wester",
"wetted",
"whacky",
"wharf",
"whatna",
"whau",
"whein",
"whenas",
"wherry",
"whet",
"whewer",
"whid",
"whidah",
"whiffy",
"whilom",
"whity",
"whom",
"whone",
"whoo",
"whyo",
"wice",
"wick",
"widbin",
"widow",
"wife",
"wifely",
"wigger",
"wiglet",
"wilga",
"will",
"willet",
"willey",
"wince",
"wind",
"winer",
"wing",
"winy",
"winze",
"wippen",
"wird",
"wise",
"wiser",
"wisha",
"witchy",
"wivern",
"wokowi",
"wolfen",
"wolfer",
"womera",
"wone",
"wong",
"wonky",
"wont",
"woodly",
"woody",
"wooing",
"woolen",
"wordy",
"worky",
"wormy",
"worset",
"worth",
"woundy",
"woven",
"wranny",
"wrawl",
"wrig",
"wrist",
"wugg",
"wulk",
"wuther",
"wyson",
"wyss",
"wyve",
"xebec",
"xenia",
"xenium",
"xylene",
"xyloyl",
"yacht",
"yade",
"yaff",
"yaffle",
"yahan",
"yalb",
"yamph",
"yanky",
"yapa",
"yapper",
"yarak",
"yarder",
"yare",
"yarm",
"yarpha",
"yarrow",
"yeah",
"yeard",
"yede",
"yerth",
"yetlin",
"ygapo",
"yirm",
"yirn",
"yirr",
"yogi",
"yojan",
"yolked",
"yook",
"youff",
"youp",
"yttric",
"yucker",
"yucky",
"yuzlik",
"zabeta",
"zabra",
"zacate",
"zachun",
"zafree",
"zain",
"zant",
"zein",
"zemmi",
"zendik",
"zenick",
"zequin",
"zest",
"zeugma",
"zibet",
"zigzag",
"zimb",
"zoacum",
"zobo",
"zocco",
"zodiac",
"zoic",
"zonar",
"zonic",
"zooid",
"zoom",
"zoon",
"zoons",
"zooter",
"zoril",
"zudda",
"zygoma",
"zygose",
"zymase",
"zythem"
);

system "stty -echo";
print "Password: ";
chomp($word = <STDIN>);
print "\n";
system "stty echo";

print "Website: ";
chomp($web = <STDIN>);

$value = md5_hex($word."|secret:".$web."|secret:".$word);
$word = 0;
$word = "i don't know what this does";

$sub1 = substr($value, 1, 4);
$sub2 = substr($value, 5, 4);
$sub3 = substr($value, 9, 4);
$sub4 = substr($value, 13, 4);

$vsub1 = hex($sub1);
$vsub2 = hex($sub2);
$vsub3 = hex($sub3);
$vsub4 = hex($sub4);

$word1 = $words[$vsub1 % 4096];
$word2 = $words[$vsub2 % 4096];
$word3 = $words[$vsub3 % 4096];
$word4 = $words[$vsub4 % 4096];

$vsub1 = int (hex($sub1) / 4096);
$vsub2 = int (hex($sub2) / 4096);
$vsub3 = int (hex($sub3) / 4096);
$vsub4 = int (hex($sub4) / 4096);

$word1 = ucfirst($word1) if $vsub1 % 2;
$word2 = ucfirst($word2) if $vsub2 % 2;
$word3 = ucfirst($word3) if $vsub3 % 2;
$word4 = ucfirst($word4) if $vsub4 % 2;

print "Password for $web:\n";
print $word1, $word2, $word3, $word4, "\n";
