Create a gist now

Instantly share code, notes, and snippets.

@wmwong /6_anagram.rb
Last active Dec 24, 2015

What would you like to do?
class Anagram
attr_reader :letters
def initialize(word)
@word = word
# letters is a count of each letter in the word.
@letters = {}
@word.each_char do |l|
@letters[l] ||= 0
@letters[l] += 1
end
end
def each(&block)
each_anagram("", @letters.clone, &block)
end
private
def each_anagram(word, letters, &block)
if letters.empty?
# If there are no more letters, we have our final anagram word.
yield(word)
else
# If there are still letters, go through each one and build an anagram
# from it.
letters.keys.each do |letter|
# Add the letter to the word.
w = word.clone
w += letter.to_s
# Prepare the next set of letters by removing the used up letter.
ls = letters.clone
ls[letter] -= 1
ls.delete(letter) if ls[letter] == 0
# Continue onto the next letter.
each_anagram(w, ls, &block)
end
end
end
end
require './6_anagram'
# Get a dictionary to check potential anagrams against.
# I could use the bloom filter spell checker created in Code Kata 6, but I
# went for simplicity instead.
dict = {}
File.open("/usr/share/dict/words", "r").each_line do |line|
dict[line.strip!] = true
end
# Find anagrams of the following words.
%w(kinship enlist boaster fresher sinks knits rots).each do |word|
anagrams = []
Anagram.new(word).each do |anagram|
anagrams.push(anagram) if dict[anagram]
end
puts anagrams.join(" ")
end
require './6_anagram'
require 'test/unit'
class AnagramTest < Test::Unit::TestCase
def test_initialize
anagram = Anagram.new("this")
assert_equal(1, anagram.letters['t'])
assert_equal(1, anagram.letters['h'])
assert_equal(1, anagram.letters['i'])
assert_equal(1, anagram.letters['s'])
anagram = Anagram.new("test")
assert_equal(2, anagram.letters['t'])
assert_equal(1, anagram.letters['e'])
assert_equal(1, anagram.letters['s'])
end
def test_each_anagram
anagrams = []
method = lambda { |word| anagrams.push(word) }
anagrams = []
anagram = Anagram.new("")
anagram.send(:each_anagram, "test", {}, &method)
assert_equal(1, anagrams.length)
assert_equal("test", anagrams[0])
anagrams = []
anagram = Anagram.new("")
anagram.send(:each_anagram, "", { t: 1 }, &method)
assert_equal(1, anagrams.length)
assert_equal("t", anagrams[0])
anagrams = []
anagram = Anagram.new("")
anagram.send(:each_anagram, "", { t: 2 }, &method)
assert_equal(1, anagrams.length)
assert_equal("tt", anagrams[0])
anagrams = []
anagram = Anagram.new("")
anagram.send(:each_anagram, "", { t: 1, e: 1 }, &method)
assert_equal(2, anagrams.length)
assert(anagrams.include?("te"))
assert(anagrams.include?("et"))
anagrams = []
anagram = Anagram.new("")
anagram.send(:each_anagram, "", { t: 2, e: 1 }, &method)
assert_equal(3, anagrams.length)
assert(anagrams.include?("tte"))
assert(anagrams.include?("tet"))
assert(anagrams.include?("ett"))
anagrams = []
anagram = Anagram.new("")
anagram.send(:each_anagram, "", { t: 1, e: 1, s: 1 }, &method)
assert_equal(6, anagrams.length)
assert(anagrams.include?("tes"))
assert(anagrams.include?("tse"))
assert(anagrams.include?("ets"))
assert(anagrams.include?("est"))
assert(anagrams.include?("ste"))
assert(anagrams.include?("set"))
end
end
module Anagrams
def find(filename)
anagrams = {}
File.open(filename, "r").each_line do |line|
line.strip!
# Use the sorted letters of the word to form the key.
# All anagrams will have the same sorted word.
# Remember to downcase and remove non-alphanumeric characters.
sorted_word = line.downcase.gsub(/[^a-z0-9]/, "").chars.sort.join
anagrams[sorted_word] ||= []
anagrams[sorted_word].push(line)
end
anagrams
end
end
include Anagrams
File.open("anagrams.txt", "w") do |f|
find("wordlist.txt").each do |digest, anagrams|
if anagrams.length > 1
f.write anagrams.join(" ")
f.write "\n"
end
end
end
Aarhus
Aaron
Ababa
aback
abaft
abandon
abandoned
abandoning
abandonment
abandons
abase
abased
abasement
abasements
abases
abash
abashed
abashes
abashing
abasing
abate
abated
abatement
abatements
abater
abates
abating
Abba
abbe
abbey
abbeys
abbot
abbots
Abbott
abbreviate
abbreviated
abbreviates
abbreviating
abbreviation
abbreviations
Abby
abdomen
abdomens
abdominal
abduct
abducted
abduction
abductions
abductor
abductors
abducts
Abe
abed
Abel
Abelian
Abelson
Aberdeen
Abernathy
aberrant
aberration
aberrations
abet
abets
abetted
abetter
abetting
abeyance
abhor
abhorred
abhorrent
abhorrer
abhorring
abhors
abide
abided
abides
abiding
Abidjan
Abigail
Abilene
abilities
ability
abject
abjection
abjections
abjectly
abjectness
abjure
abjured
abjures
abjuring
ablate
ablated
ablates
ablating
ablation
ablative
ablaze
able
abler
ablest
ably
Abner
abnormal
abnormalities
abnormality
abnormally
Abo
aboard
abode
abodes
abolish
abolished
abolisher
abolishers
abolishes
abolishing
abolishment
abolishments
abolition
abolitionist
abolitionists
abominable
abominate
aboriginal
aborigine
aborigines
abort
aborted
aborting
abortion
abortions
abortive
abortively
aborts
Abos
abound
abounded
abounding
abounds
about
above
aboveboard
aboveground
abovementioned
abrade
abraded
abrades
abrading
Abraham
Abram
Abrams
Abramson
abrasion
abrasions
abrasive
abreaction
abreactions
abreast
abridge
abridged
abridges
abridging
abridgment
abroad
abrogate
abrogated
abrogates
abrogating
abrupt
abruptly
abruptness
abscess
abscessed
abscesses
abscissa
abscissas
abscond
absconded
absconding
absconds
absence
absences
absent
absented
absentee
absenteeism
absentees
absentia
absenting
absently
absentminded
absents
absinthe
absolute
absolutely
absoluteness
absolutes
absolution
absolve
absolved
absolves
absolving
absorb
absorbed
absorbency
absorbent
absorber
absorbing
absorbs
absorption
absorptions
absorptive
abstain
abstained
abstainer
abstaining
abstains
abstention
abstentions
abstinence
abstract
abstracted
abstracting
abstraction
abstractionism
abstractionist
abstractions
abstractly
abstractness
abstractor
abstractors
abstracts
abstruse
abstruseness
absurd
absurdities
absurdity
absurdly
Abu
abundance
abundant
abundantly
abuse
abused
abuses
abusing
abusive
abut
abutment
abuts
abutted
abutter
abutters
abutting
abysmal
abysmally
abyss
abysses
Abyssinia
Abyssinian
Abyssinians
acacia
academia
academic
academically
academics
academies
academy
Acadia
Acapulco
accede
acceded
accedes
accelerate
accelerated
accelerates
accelerating
acceleration
accelerations
accelerator
accelerators
accelerometer
accelerometers
accent
accented
accenting
accents
accentual
accentuate
accentuated
accentuates
accentuating
accentuation
accept
acceptability
acceptable
acceptably
acceptance
acceptances
accepted
accepter
accepters
accepting
acceptor
acceptors
accepts
access
accessed
accesses
accessibility
accessible
accessibly
accessing
accession
accessions
accessories
accessors
accessory
accident
accidental
accidentally
accidently
accidents
acclaim
acclaimed
acclaiming
acclaims
acclamation
acclimate
acclimated
acclimates
acclimating
acclimatization
acclimatized
accolade
accolades
accommodate
accommodated
accommodates
accommodating
accommodation
accommodations
accompanied
accompanies
accompaniment
accompaniments
accompanist
accompanists
accompany
accompanying
accomplice
accomplices
accomplish
accomplished
accomplisher
accomplishers
accomplishes
accomplishing
accomplishment
accomplishments
accord
accordance
accorded
accorder
accorders
according
accordingly
accordion
accordions
accords
accost
accosted
accosting
accosts
account
accountability
accountable
accountably
accountancy
accountant
accountants
accounted
accounting
accounts
Accra
accredit
accreditation
accreditations
accredited
accretion
accretions
accrue
accrued
accrues
accruing
acculturate
acculturated
acculturates
acculturating
acculturation
accumulate
accumulated
accumulates
accumulating
accumulation
accumulations
accumulator
accumulators
accuracies
accuracy
accurate
accurately
accurateness
accursed
accusal
accusation
accusations
accusative
accuse
accused
accuser
accuses
accusing
accusingly
accustom
accustomed
accustoming
accustoms
ace
aces
acetate
acetone
acetylene
Achaean
Achaeans
ache
ached
aches
achievable
achieve
achieved
achievement
achievements
achiever
achievers
achieves
achieving
Achilles
aching
acid
acidic
acidities
acidity
acidly
acids
acidulous
Ackerman
Ackley
acknowledge
acknowledgeable
acknowledged
acknowledgement
acknowledgements
acknowledger
acknowledgers
acknowledges
acknowledging
acknowledgment
acknowledgments
acme
acne
acolyte
acolytes
acorn
acorns
acoustic
acoustical
acoustically
acoustician
acoustics
acquaint
acquaintance
acquaintances
acquainted
acquainting
acquaints
acquiesce
acquiesced
acquiescence
acquiescent
acquiesces
acquiescing
acquirable
acquire
acquired
acquires
acquiring
acquisition
acquisitions
acquisitive
acquisitiveness
acquit
acquits
acquittal
acquitted
acquitter
acquitting
acre
acreage
acres
acrid
acrimonious
acrimony
acrobat
acrobatic
acrobatics
acrobats
acronym
acronyms
acropolis
across
acrylic
act
Acta
Actaeon
acted
acting
actinium
actinometer
actinometers
action
actions
activate
activated
activates
activating
activation
activations
activator
activators
active
actively
activism
activist
activists
activities
activity
Acton
actor
actors
actress
actresses
Acts
actual
actualities
actuality
actualization
actually
actuals
actuarial
actuarially
actuate
actuated
actuates
actuating
actuator
actuators
acuity
acumen
acute
acutely
acuteness
acyclic
acyclically
ad
Ada
adage
adages
adagio
adagios
Adair
Adam
adamant
adamantly
Adams
Adamson
adapt
adaptability
adaptable
adaptation
adaptations
adapted
adapter
adapters
adapting
adaptive
adaptively
adaptor
adaptors
adapts
add
added
addend
addenda
addendum
adder
adders
addict
addicted
addicting
addiction
addictions
addicts
adding
Addis
Addison
addition
additional
additionally
additions
additive
additives
additivity
address
addressability
addressable
addressed
addressee
addressees
addresser
addressers
addresses
addressing
Addressograph
adds
adduce
adduced
adduces
adducible
adducing
adduct
adducted
adducting
adduction
adductor
adducts
Adelaide
Adele
Adelia
Aden
adept
adequacies
adequacy
adequate
adequately
adhere
adhered
adherence
adherent
adherents
adherer
adherers
adheres
adhering
adhesion
adhesions
adhesive
adhesives
adiabatic
adiabatically
adieu
Adirondack
Adirondacks
adjacency
adjacent
adjective
adjectives
adjoin
adjoined
adjoining
adjoins
adjourn
adjourned
adjourning
adjournment
adjourns
adjudge
adjudged
adjudges
adjudging
adjudicate
adjudicated
adjudicates
adjudicating
adjudication
adjudications
adjunct
adjuncts
adjure
adjured
adjures
adjuring
adjust
adjustable
adjustably
adjusted
adjuster
adjusters
adjusting
adjustment
adjustments
adjustor
adjustors
adjusts
adjutant
adjutants
Adkins
Adler
Adlerian
administer
administered
administering
administerings
administers
administrable
administrate
administration
administrations
administrative
administratively
administrator
administrators
admirable
admirably
admiral
admirals
admiralty
admiration
admirations
admire
admired
admirer
admirers
admires
admiring
admiringly
admissibility
admissible
admission
admissions
admit
admits
admittance
admitted
admittedly
admitter
admitters
admitting
admix
admixed
admixes
admixture
admonish
admonished
admonishes
admonishing
admonishment
admonishments
admonition
admonitions
ado
adobe
adolescence
adolescent
adolescents
Adolph
Adolphus
Adonis
adopt
adopted
adopter
adopters
adopting
adoption
adoptions
adoptive
adopts
adorable
adoration
adore
adored
adores
adorn
adorned
adornment
adornments
adorns
adrenal
adrenaline
Adrian
Adriatic
Adrienne
adrift
adroit
adroitness
ads
adsorb
adsorbed
adsorbing
adsorbs
adsorption
adulate
adulating
adulation
adult
adulterate
adulterated
adulterates
adulterating
adulterer
adulterers
adulterous
adulterously
adultery
adulthood
adults
adumbrate
adumbrated
adumbrates
adumbrating
adumbration
advance
advanced
advancement
advancements
advances
advancing
advantage
advantaged
advantageous
advantageously
advantages
advent
adventist
adventists
adventitious
adventure
adventured
adventurer
adventurers
adventures
adventuring
adventurous
adverb
adverbial
adverbs
adversaries
adversary
adverse
adversely
adversities
adversity
advert
advertise
advertised
advertisement
advertisements
advertiser
advertisers
advertises
advertising
advice
advisability
advisable
advisably
advise
advised
advisedly
advisee
advisees
advisement
advisements
adviser
advisers
advises
advising
advisor
advisors
advisory
advocacy
advocate
advocated
advocates
advocating
Aegean
aegis
Aeneas
Aeneid
Aeolus
aerate
aerated
aerates
aerating
aeration
aerator
aerators
aerial
aerials
aeroacoustic
Aerobacter
aerobic
aerobics
aerodynamic
aerodynamics
aeronautic
aeronautical
aeronautics
aerosol
aerosolize
aerosols
aerospace
Aeschylus
Aesop
aesthetic
aesthetically
aesthetics
afar
affable
affair
affairs
affect
affectation
affectations
affected
affecting
affectingly
affection
affectionate
affectionately
affections
affective
affects
afferent
affianced
affidavit
affidavits
affiliate
affiliated
affiliates
affiliating
affiliation
affiliations
affinities
affinity
affirm
affirmation
affirmations
affirmative
affirmatively
affirmed
affirming
affirms
affix
affixed
affixes
affixing
afflict
afflicted
afflicting
affliction
afflictions
afflictive
afflicts
affluence
affluent
afford
affordable
afforded
affording
affords
affricate
affricates
affright
affront
affronted
affronting
affronts
Afghan
Afghanistan
Afghans
aficionado
afield
afire
aflame
afloat
afoot
afore
aforementioned
aforesaid
aforethought
afoul
afraid
afresh
Africa
African
Africanization
Africanizations
Africanize
Africanized
Africanizes
Africanizing
Africans
Afrikaans
Afrikaner
Afrikaners
aft
after
aftereffect
afterglow
afterimage
afterlife
aftermath
aftermost
afternoon
afternoons
aftershock
aftershocks
afterthought
afterthoughts
afterward
afterwards
again
against
Agamemnon
agape
agar
agate
agates
Agatha
age
aged
Agee
ageless
agencies
agency
agenda
agendas
agent
agents
ager
agers
ages
Aggie
Aggies
agglomerate
agglomerated
agglomerates
agglomeration
agglutinate
agglutinated
agglutinates
agglutinating
agglutination
agglutinin
agglutinins
aggrandize
aggravate
aggravated
aggravates
aggravation
aggregate
aggregated
aggregately
aggregates
aggregating
aggregation
aggregations
aggression
aggressions
aggressive
aggressively
aggressiveness
aggressor
aggressors
aggrieve
aggrieved
aggrieves
aggrieving
aghast
agile
agilely
agility
aging
agitate
agitated
agitates
agitating
agitation
agitations
agitator
agitators
agleam
aglow
Agnes
Agnew
agnostic
agnostics
ago
agog
agonies
agonize
agonized
agonizes
agonizing
agonizingly
agony
agrarian
agree
agreeable
agreeably
agreed
agreeing
agreement
agreements
agreer
agreers
agrees
Agricola
agricultural
agriculturally
agriculture
ague
Agway
ah
ahead
Ahmadabad
Ahmedabad
aid
Aida
aide
aided
Aides
aiding
aids
Aiken
ail
Aileen
aileron
ailerons
ailing
ailment
ailments
aim
aimed
aimer
aimers
aiming
aimless
aimlessly
aims
Ainu
Ainus
air
airbag
airbags
airborne
Airbus
aircraft
airdrop
airdrops
aired
Airedale
airer
airers
Aires
airfare
airfield
airfields
airflow
airfoil
airfoils
airframe
airframes
airily
airing
airings
airless
airlift
airlifts
airline
airliner
airlines
airlock
airlocks
airmail
airmails
airman
airmen
airplane
airplanes
airport
airports
airs
airship
airships
airspace
airspeed
airstrip
airstrips
airtight
airway
airways
airy
aisle
Aitken
ajar
Ajax
Akers
akimbo
akin
Akron
Al
Alabama
Alabamans
Alabamian
alabaster
alacrity
Aladdin
Alameda
Alamo
Alamos
Alan
Alar
alarm
alarmed
alarming
alarmingly
alarmist
alarms
alas
Alaska
Alaskan
Alastair
alba
albacore
Albania
Albanian
Albanians
Albany
albatross
albeit
Alberich
Albert
Alberta
Alberto
Albrecht
Albright
album
albumin
albums
Albuquerque
Alcestis
alchemy
Alcibiades
Alcmena
Alcoa
alcohol
alcoholic
alcoholics
alcoholism
alcohols
Alcott
alcove
alcoves
Aldebaran
Alden
alder
alderman
aldermen
Aldrich
ale
Alec
Aleck
alee
alert
alerted
alertedly
alerter
alerters
alerting
alertly
alertness
alerts
Aleut
Aleutian
Alex
Alexander
Alexandra
Alexandre
Alexandria
Alexandrine
Alexei
Alexis
Alfa
alfalfa
Alfonso
Alfred
Alfredo
alfresco
alga
algae
algaecide
algebra
algebraic
algebraically
algebras
Algenib
Alger
Algeria
Algerian
Algiers
alginate
ALGOL
Algol
Algonquian
Algonquin
algorithm
algorithmic
algorithmically
algorithms
Alhambra
Ali
alias
aliased
aliases
aliasing
alibi
alibis
Alice
Alicia
alien
alienate
alienated
alienates
alienating
alienation
aliens
alight
align
aligned
aligning
alignment
alignments
aligns
alike
aliment
aliments
alimony
Alison
Alistair
alive
alkali
alkaline
alkalis
alkaloid
alkaloids
alkyl
all
Allah
Allan
allay
allayed
allaying
allays
allegation
allegations
allege
alleged
allegedly
alleges
Alleghenies
Allegheny
allegiance
allegiances
alleging
allegoric
allegorical
allegorically
allegories
allegory
Allegra
allegretto
allegrettos
allele
alleles
allemande
Allen
Allendale
Allentown
allergic
allergies
allergy
alleviate
alleviated
alleviates
alleviating
alleviation
alley
alleys
alleyway
alleyways
alliance
alliances
allied
allies
alligator
alligators
Allis
Allison
alliteration
alliterations
alliterative
allocatable
allocate
allocated
allocates
allocating
allocation
allocations
allocator
allocators
allophone
allophones
allophonic
allot
allotment
allotments
allotrope
allotropic
allots
allotted
allotter
allotting
allow
allowable
allowably
allowance
allowances
allowed
allowing
allows
alloy
alloys
Allstate
allude
alluded
alludes
alluding
allure
allurement
alluring
allusion
allusions
allusive
allusiveness
ally
allying
Allyn
alma
Almaden
almanac
almanacs
almighty
almond
almonds
almoner
almost
alms
almsman
alnico
aloe
aloes
aloft
aloha
alone
aloneness
along
alongside
aloof
aloofness
aloud
Alpert
alpha
alphabet
alphabetic
alphabetical
alphabetically
alphabetics
alphabetize
alphabetized
alphabetizes
alphabetizing
alphabets
alphanumeric
Alpheratz
Alphonse
alpine
Alps
already
Alsatian
Alsatians
also
Alsop
Altair
altar
altars
alter
alterable
alteration
alterations
altercation
altercations
altered
alterer
alterers
altering
alternate
alternated
alternately
alternates
alternating
alternation
alternations
alternative
alternatively
alternatives
alternator
alternators
alters
Althaea
although
altitude
altitudes
altogether
Alton
Altos
altruism
altruist
altruistic
altruistically
alum
aluminum
alumna
alumnae
alumni
alumnus
alundum
Alva
Alvarez
alveolar
alveoli
alveolus
Alvin
always
Alyssa
am
Amadeus
amain
amalgam
amalgamate
amalgamated
amalgamates
amalgamating
amalgamation
amalgams
Amanda
amanuensis
amaretto
Amarillo
amass
amassed
amasses
amassing
amateur
amateurish
amateurishness
amateurism
amateurs
amatory
amaze
amazed
amazedly
amazement
amazer
amazers
amazes
amazing
amazingly
Amazon
Amazons
ambassador
ambassadors
amber
ambiance
ambidextrous
ambidextrously
ambient
ambiguities
ambiguity
ambiguous
ambiguously
ambition
ambitions
ambitious
ambitiously
ambivalence
ambivalent
ambivalently
amble
ambled
ambler
ambles
ambling
ambrosial
ambulance
ambulances
ambulatory
ambuscade
ambush
ambushed
ambushes
Amdahl
Amelia
ameliorate
ameliorated
ameliorating
amelioration
amen
amenable
amend
amended
amending
amendment
amendments
amends
amenities
amenity
amenorrhea
Amerada
America
American
Americana
Americanism
Americanization
Americanizations
Americanize
Americanizer
Americanizers
Americanizes
Americans
Americas
americium
Ames
Amharic
Amherst
amiable
amicable
amicably
amid
amide
amidst
Amiga
amigo
amino
amiss
amity
Amman
Ammerman
ammo
ammonia
ammoniac
ammonium
ammunition
amnesty
Amoco
amoeba
amoebae
amoebas
amok
among
amongst
Amontillado
amoral
amorality
amorist
amorous
amorphous
amorphously
amortize
amortized
amortizes
amortizing
Amos
amount
amounted
amounter
amounters
amounting
amounts
amour
amperage
ampere
amperes
ampersand
ampersands
Ampex
amphetamine
amphetamines
amphibian
amphibians
amphibious
amphibiously
amphibology
amphitheater
amphitheaters
ample
amplification
amplified
amplifier
amplifiers
amplifies
amplify
amplifying
amplitude
amplitudes
amply
ampoule
ampoules
amputate
amputated
amputates
amputating
Amsterdam
Amtrak
amulet
amulets
amuse
amused
amusedly
amusement
amusements
amuser
amusers
amuses
amusing
amusingly
Amy
amyl
an
Anabaptist
Anabaptists
Anabel
anachronism
anachronisms
anachronistically
anaconda
anacondas
Anacreon
anaerobic
anagram
anagrams
Anaheim
anal
Analects
analog
analogical
analogies
analogous
analogously
analogue
analogues
analogy
analyses
analysis
analyst
analysts
analytic
analytical
analytically
analyticities
analyticity
analyzable
analyze
analyzed
analyzer
analyzers
analyzes
analyzing
anaphora
anaphoric
anaphorically
anaplasmosis
anarchic
anarchical
anarchism
anarchist
anarchists
anarchy
Anastasia
anastomoses
anastomosis
anastomotic
anathema
Anatole
Anatolia
Anatolian
anatomic
anatomical
anatomically
anatomy
ancestor
ancestors
ancestral
ancestry
anchor
anchorage
anchorages
anchored
anchoring
anchorite
anchoritism
anchors
anchovies
anchovy
ancient
anciently
ancients
ancillary
and
Andalusia
Andalusian
Andalusians
Andean
anders
Andersen
Anderson
Andes
anding
Andorra
Andover
Andre
Andrea
Andrei
Andrew
Andrews
Andromache
Andromeda
Andy
anecdotal
anecdote
anecdotes
anechoic
anemia
anemic
anemometer
anemometers
anemometry
anemone
anesthesia
anesthetic
anesthetically
anesthetics
anesthetize
anesthetized
anesthetizes
anesthetizing
anew
angel
Angela
Angeleno
Angelenos
Angeles
angelic
Angelica
Angelina
Angeline
Angelo
angels
anger
angered
angering
angers
Angie
angiography
angle
angled
angler
anglers
Angles
Anglia
Anglican
Anglicanism
Anglicanize
Anglicanizes
Anglicans
angling
Anglo
Anglophilia
Anglophobia
Angola
Angora
angrier
angriest
angrily
angry
angst
angstrom
anguish
anguished
angular
angularly
Angus
Anheuser
anhydrous
anhydrously
aniline
animal
animals
animate
animated
animatedly
animately
animateness
animates
animating
animation
animations
animator
animators
animism
animized
animosity
anion
anionic
anions
anise
aniseikonic
anisotropic
anisotropy
Anita
Ankara
ankle
ankles
Ann
Anna
annal
Annalist
Annalistic
annals
Annapolis
Anne
Annette
annex
annexation
annexed
annexes
annexing
Annie
annihilate
annihilated
annihilates
annihilating
annihilation
anniversaries
anniversary
annotate
annotated
annotates
annotating
annotation
annotations
announce
announced
announcement
announcements
announcer
announcers
announces
announcing
annoy
annoyance
annoyances
annoyed
annoyer
annoyers
annoying
annoyingly
annoys
annual
annually
annuals
annuity
annul
annular
annuli
annulled
annulling
annulment
annulments
annuls
annulus
annum
annunciate
annunciated
annunciates
annunciating
annunciator
annunciators
anode
anodes
anodize
anodized
anodizes
anoint
anointed
anointing
anoints
anomalies
anomalous
anomalously
anomaly
anomic
anomie
anon
anonymity
anonymous
anonymously
anorexia
another
Anselm
Anselmo
ANSI
answer
answerable
answered
answerer
answerers
answering
answers
ant
Antaeus
antagonism
antagonisms
antagonist
antagonistic
antagonistically
antagonists
antagonize
antagonized
antagonizes
antagonizing
antarctic
Antarctica
Antares
ante
anteater
anteaters
antecedent
antecedents
antedate
antelope
antelopes
antenna
antennae
antennas
anterior
anthem
anthems
anther
anthologies
anthology
Anthony
anthracite
anthropological
anthropologically
anthropologist
anthropologists
anthropology
anthropomorphic
anthropomorphically
anti
antibacterial
antibiotic
antibiotics
antibodies
antibody
antic
anticipate
anticipated
anticipates
anticipating
anticipation
anticipations
anticipatory
anticoagulation
anticompetitive
antics
antidisestablishmentarianism
antidote
antidotes
Antietam
antiformant
antifundamentalist
antigen
antigens
Antigone
antihistorical
Antilles
antimicrobial
antimony
antinomian
antinomy
Antioch
antipathy
antiphonal
antipode
antipodes
antiquarian
antiquarians
antiquate
antiquated
antique
antiques
antiquities
antiquity
antiredeposition
antiresonance
antiresonator
antisemitic
antisemitism
antiseptic
antisera
antiserum
antislavery
antisocial
antisubmarine
antisymmetric
antisymmetry
antithesis
antithetical
antithyroid
antitoxin
antitoxins
antitrust
antler
antlered
Antoine
Antoinette
Anton
Antonio
Antonovics
Antony
ants
Antwerp
anus
anvil
anvils
anxieties
anxiety
anxious
anxiously
any
anybody
anyhow
anymore
anyone
anyplace
anything
anytime
anyway
anywhere
aorta
apace
Apaches
Apalachicola
apart
apartment
apartments
apathetic
apathy
Apatosaurus
ape
aped
aperiodic
aperiodicity
aperture
apes
Apetalous
apex
aphasia
aphasic
aphelion
aphid
aphids
aphonic
aphorism
aphorisms
Aphrodite
apiaries
apiary
apical
apiece
aping
apish
aplenty
aplomb
apocalypse
apocalyptic
Apocrypha
apocryphal
apogee
apogees
Apollinaire
Apollo
Apollonian
apologetic
apologetically
apologia
apologies
apologist
apologists
apologize
apologized
apologizes
apologizing
apology
apostate
apostle
apostles
apostolic
apostrophe
apostrophes
apothecary
apothegm
apotheoses
apotheosis
Appalachia
Appalachian
Appalachians
appall
appalled
appalling
appallingly
Appaloosas
appanage
apparatus
apparel
appareled
apparent
apparently
apparition
apparitions
appeal
appealed
appealer
appealers
appealing
appealingly
appeals
appear
appearance
appearances
appeared
appearer
appearers
appearing
appears
appease
appeased
appeasement
appeases
appeasing
appellant
appellants
appellate
appellation
append
appendage
appendages
appended
appender
appenders
appendices
appendicitis
appending
appendix
appendixes
appends
appertain
appertains
appetite
appetites
appetizer
appetizing
Appia
Appian
applaud
applauded
applauding
applauds
applause
apple
Appleby
applejack
apples
Appleton
appliance
appliances
applicability
applicable
applicant
applicants
application
applications
applicative
applicatively
applicator
applicators
applied
applier
appliers
applies
applique
apply
applying
appoint
appointed
appointee
appointees
appointer
appointers
appointing
appointive
appointment
appointments
appoints
Appomattox
apportion
apportioned
apportioning
apportionment
apportionments
apportions
apposite
appraisal
appraisals
appraise
appraised
appraiser
appraisers
appraises
appraising
appraisingly
appreciable
appreciably
appreciate
appreciated
appreciates
appreciating
appreciation
appreciations
appreciative
appreciatively
apprehend
apprehended
apprehensible
apprehension
apprehensions
apprehensive
apprehensively
apprehensiveness
apprentice
apprenticed
apprentices
apprenticeship
apprise
apprised
apprises
apprising
approach
approachability
approachable
approached
approacher
approachers
approaches
approaching
approbate
approbation
appropriate
appropriated
appropriately
appropriateness
appropriates
appropriating
appropriation
appropriations
appropriator
appropriators
approval
approvals
approve
approved
approver
approvers
approves
approving
approvingly
approximate
approximated
approximately
approximates
approximating
approximation
approximations
appurtenance
appurtenances
apricot
apricots
April
Aprils
apron
aprons
apropos
apse
apsis
apt
aptitude
aptitudes
aptly
aptness
aqua
aquaria
aquarium
Aquarius
aquatic
aqueduct
aqueducts
aqueous
aquifer
aquifers
Aquila
Aquinas
Arab
arabesque
Arabia
Arabian
Arabianize
Arabianizes
Arabians
Arabic
Arabicize
Arabicizes
arable
Arabs
Araby
Arachne
arachnid
arachnids
Aramco
Arapaho
arbiter
arbiters
arbitrarily
arbitrariness
arbitrary
arbitrate
arbitrated
arbitrates
arbitrating
arbitration
arbitrator
arbitrators
arbor
arboreal
arbors
arc
arcade
arcaded
arcades
Arcadia
Arcadian
arcane
arced
arch
Archaeopteryx
archaic
archaically
archaicness
archaism
archaize
archangel
archangels
archbishop
archdiocese
archdioceses
arched
archenemy
archeological
archeologist
archeology
Archer
archers
archery
arches
archetype
archfool
Archibald
Archie
Archimedes
arching
archipelago
archipelagoes
architect
architectonic
architects
architectural
architecturally
architecture
architectures
archival
archive
archived
archiver
archivers
archives
archiving
archivist
archly
arcing
arclike
ARCO
arcs
arcsine
arctangent
arctic
Arcturus
Arden
ardent
ardently
ardor
arduous
arduously
arduousness
are
area
areas
arena
arenas
Arequipa
Ares
Argentina
Argentinian
Argive
Argo
argon
Argonaut
argonauts
Argonne
Argos
argot
arguable
arguably
argue
argued
arguer
arguers
argues
arguing
argument
argumentation
argumentative
arguments
Argus
Ariadne
Arianism
Arianist
Arianists
arid
aridity
Aries
aright
arise
arisen
ariser
arises
arising
arisings
aristocracy
aristocrat
aristocratic
aristocratically
aristocrats
Aristotelian
Aristotle
arithmetic
arithmetical
arithmetically
arithmetics
arithmetize
arithmetized
arithmetizes
Arizona
ark
Arkansan
Arkansas
Arlen
Arlene
Arlington
arm
Armada
armadillo
armadillos
Armageddon
Armagnac
armament
armaments
Armata
armchair
armchairs
Armco
armed
Armenia
Armenian
armer
armers
armful
armhole
armies
arming
armistice
armload
Armonk
armor
armored
armorer
armory
Armour
armpit
armpits
arms
Armstrong
army
Arnold
aroma
aromas
aromatic
arose
around
arousal
arouse
aroused
arouses
arousing
ARPA
ARPANET
Arpanet
arpeggio
arpeggios
arrack
Arragon
arraign
arraigned
arraigning
arraignment
arraignments
arraigns
arrange
arranged
arrangement
arrangements
arranger
arrangers
arranges
arranging
arrant
array
arrayed
arrays
arrears
arrest
arrested
arrester
arresters
arresting
arrestingly
arrestor
arrestors
arrests
Arrhenius
arrival
arrivals
arrive
arrived
arrives
arriving
arrogance
arrogant
arrogantly
arrogate
arrogated
arrogates
arrogating
arrogation
arrow
arrowed
arrowhead
arrowheads
arrows
arroyo
arroyos
arsenal
arsenals
arsenic
arsine
arson
art
Artemia
Artemis
arterial
arteries
arteriolar
arteriole
arterioles
arteriosclerosis
artery
artful
artfully
artfulness
arthritis
arthropod
arthropods
Arthur
artichoke
artichokes
article
articles
articulate
articulated
articulately
articulateness
articulates
articulating
articulation
articulations
articulator
articulators
articulatory
Artie
artifact
artifacts
artifice
artificer
artifices
artificial
artificialities
artificiality
artificially
artificialness
artillerist
artillery
artisan
artisans
artist
artistic
artistically
artistry
artists
artless
arts
Arturo
artwork
Aruba
Aryan
Aryans
as
asbestos
ascend
ascendancy
ascendant
ascended
ascendency
ascendent
ascender
ascenders
ascending
ascends
ascension
ascensions
ascent
ascertain
ascertainable
ascertained
ascertaining
ascertains
ascetic
asceticism
ascetics
ASCII
ascot
ascribable
ascribe
ascribed
ascribes
ascribing
ascription
aseptic
ash
ashamed
ashamedly
ashen
Asher
ashes
Asheville
Ashland
Ashley
ashman
Ashmolean
ashore
ashtray
ashtrays
Asia
Asian
Asians
Asiatic
Asiaticization
Asiaticizations
Asiaticize
Asiaticizes
Asiatics
aside
Asilomar
asinine
ask
askance
asked
asker
askers
askew
asking
asks
asleep
asocial
asp
asparagus
aspect
aspects
aspen
aspersion
aspersions
asphalt
asphyxia
aspic
aspirant
aspirants
aspirate
aspirated
aspirates
aspirating
aspiration
aspirations
aspirator
aspirators
aspire
aspired
aspires
aspirin
aspiring
aspirins
ass
assail
assailant
assailants
assailed
assailing
assails
Assam
assassin
assassinate
assassinated
assassinates
assassinating
assassination
assassinations
assassins
assault
assaulted
assaulting
assaults
assay
assayed
assaying
assemblage
assemblages
assemble
assembled
assembler
assemblers
assembles
assemblies
assembling
assembly
assent
assented
assenter
assenting
assents
assert
asserted
asserter
asserters
asserting
assertion
assertions
assertive
assertively
assertiveness
asserts
asses
assess
assessed
assesses
assessing
assessment
assessments
assessor
assessors
asset
assets
assiduity
assiduous
assiduously
assign
assignable
assigned
assignee
assignees
assigner
assigners
assigning
assignment
assignments
assigns
assimilate
assimilated
assimilates
assimilating
assimilation
assimilations
assist
assistance
assistances
assistant
assistants
assistantship
assistantships
assisted
assisting
assists
associate
associated
associates
associating
association
associational
associations
associative
associatively
associativity
associator
associators
assonance
assonant
assort
assorted
assortment
assortments
assorts
assuage
assuaged
assuages
assume
assumed
assumes
assuming
assumption
assumptions
assurance
assurances
assure
assured
assuredly
assurer
assurers
assures
assuring
assuringly
Assyria
Assyrian
Assyrianize
Assyrianizes
Assyriology
Astaire
Astaires
Astarte
astatine
aster
asterisk
asterisks
asteroid
asteroidal
asteroids
asters
asthma
Aston
astonish
astonished
astonishes
astonishing
astonishingly
astonishment
Astor
Astoria
astound
astounded
astounding
astounds
astral
astray
astride
astringency
astringent
astrology
astronaut
astronautics
astronauts
astronomer
astronomers
astronomical
astronomically
astronomy
astrophysical
astrophysics
astute
astutely
astuteness
Asuncion
asunder
asylum
asymmetric
asymmetrically
asymmetry
asymptomatically
asymptote
asymptotes
asymptotic
asymptotically
asynchronism
asynchronous
asynchronously
asynchrony
at
Atalanta
Atari
atavistic
Atchison
ate
atemporal
Athabascan
atheism
atheist
atheistic
atheists
Athena
Athenian
Athenians
Athens
atherosclerosis
athlete
athletes
athletic
athleticism
athletics
Atkins
Atkinson
Atlanta
Atlantic
Atlantica
Atlantis
atlas
atmosphere
atmospheres
atmospheric
atoll
atolls
atom
atomic
atomically
atomics
atomization
atomize
atomized
atomizes
atomizing
atoms
atonal
atonally
atone
atoned
atonement
atones
atop
Atreus
atrocious
atrociously
atrocities
atrocity
atrophic
atrophied
atrophies
atrophy
atrophying
Atropos
attach
attache
attached
attacher
attachers
attaches
attaching
attachment
attachments
attack
attackable
attacked
attacker
attackers
attacking
attacks
attain
attainable
attainably
attained
attainer
attainers
attaining
attainment
attainments
attains
attempt
attempted
attempter
attempters
attempting
attempts
attend
attendance
attendances
attendant
attendants
attended
attendee
attendees
attender
attenders
attending
attends
attention
attentional
attentionality
attentions
attentive
attentively
attentiveness
attenuate
attenuated
attenuates
attenuating
attenuation
attenuator
attenuators
attest
attested
attesting
attests
attic
Attica
attics
attire
attired
attires
attiring
attitude
attitudes
attitudinal
Attlee
attorney
attorneys
attract
attracted
attracting
attraction
attractions
attractive
attractively
attractiveness
attractor
attractors
attracts
attributable
attribute
attributed
attributes
attributing
attribution
attributions
attributive
attributively
attrition
attune
attuned
attunes
attuning
Atwater
Atwood
atypical
atypically
Auberge
Aubrey
auburn
Auckland
auction
auctioneer
auctioneers
audacious
audaciously
audaciousness
audacity
audible
audibly
audience
audiences
audio
audiogram
audiograms
audiological
audiologist
audiologists
audiology
audiometer
audiometers
audiometric
audiometry
audit
audited
auditing
audition
auditioned
auditioning
auditions
auditor
auditorium
auditors
auditory
audits
Audrey
Audubon
Auerbach
Augean
auger
augers
aught
augment
augmentation
augmented
augmenting
augments
augur
augurs
august
Augusta
Augustan
Augustine
augustly
augustness
Augustus
aunt
aunts
aura
aural
aurally
auras
Aurelius
aureole
aureomycin
Auriga
aurora
Auschwitz
auscultate
auscultated
auscultates
auscultating
auscultation
auscultations
auspice
auspices
auspicious
auspiciously
austere
austerely
austerity
Austin
Australia
Australian
Australianize
Australianizes
Australis
Austria
Austrian
Austrianize
Austrianizes
authentic
authentically
authenticate
authenticated
authenticates
authenticating
authentication
authentications
authenticator
authenticators
authenticity
author
authored
authoring
authoritarian
authoritarianism
authoritative
authoritatively
authorities
authority
authorization
authorizations
authorize
authorized
authorizer
authorizers
authorizes
authorizing
authors
authorship
autism
autistic
auto
autobiographic
autobiographical
autobiographies
autobiography
autocollimator
autocorrelate
autocorrelation
autocracies
autocracy
autocrat
autocratic
autocratically
autocrats
autodecrement
autodecremented
autodecrements
autodialer
autofluorescence
autograph
autographed
autographing
autographs
autoincrement
autoincremented
autoincrements
autoindex
autoindexing
automata
automate
automated
automates
automatic
automatically
automating
automation
automaton
automobile
automobiles
automotive
autonavigator
autonavigators
autonomic
autonomous
autonomously
autonomy
autopilot
autopilots
autopsied
autopsies
autopsy
autoregressive
autos
autosuggestibility
autotransformer
autumn
autumnal
autumns
auxiliaries
auxiliary
avail
availabilities
availability
available
availably
availed
availer
availers
availing
avails
avalanche
avalanched
avalanches
avalanching
avant
avarice
avaricious
avariciously
avenge
avenged
avenger
avenges
avenging
Aventine
Aventino
avenue
avenues
aver
average
averaged
averages
averaging
Avernus
averred
averrer
averring
avers
averse
aversion
aversions
avert
averted
averting
averts
Avery
Avesta
avian
aviaries
aviary
aviation
aviator
aviators
avid
avidity
avidly
Avignon
avionic
avionics
Avis
Aviv
avocado
avocados
avocation
avocations
Avogadro
avoid
avoidable
avoidably
avoidance
avoided
avoider
avoiders
avoiding
avoids
Avon
avouch
avow
avowal
avowed
avows
await
awaited
awaiting
awaits
awake
awaken
awakened
awakening
awakens
awakes
awaking
award
awarded
awarder
awarders
awarding
awards
aware
awareness
awash
away
awe
awed
awesome
awful
awfully
awfulness
awhile
awkward
awkwardly
awkwardness
awl
awls
awning
awnings
awoke
awry
ax
axed
Axel
axer
axers
axes
axial
axially
axing
axiological
axiom
axiomatic
axiomatically
axiomatization
axiomatizations
axiomatize
axiomatized
axiomatizes
axiomatizing
axioms
axis
axle
axles
axolotl
axolotls
axon
axons
aye
Ayers
ayes
Aylesbury
azalea
azaleas
Azerbaijan
azimuth
azimuths
Azores
Aztec
Aztecan
azure
Babbage
babble
babbled
babbles
babbling
Babcock
babe
Babel
Babelize
Babelizes
babes
babied
babies
Babka
baboon
baboons
Babul
baby
babyhood
babying
babyish
Babylon
Babylonian
Babylonians
Babylonize
Babylonizes
babysit
babysitting
baccalaureate
Bacchus
Bach
bachelor
bachelors
bacilli
bacillus
back
backache
backaches
backarrow
backbend
backbends
backboard
backbone
backbones
backdrop
backdrops
backed
backer
backers
backfill
backfiring
background
backgrounds
backhand
backing
backlash
backlog
backlogged
backlogs
backorder
backpack
backpacks
backplane
backplanes
backplate
backs
backscatter
backscattered
backscattering
backscatters
backside
backslash
backslashes
backspace
backspaced
backspaces
backspacing
backstage
backstairs
backstitch
backstitched
backstitches
backstitching
backstop
backtrack
backtracked
backtracker
backtrackers
backtracking
backtracks
backup
backups
Backus
backward
backwardness
backwards
backwater
backwaters
backwoods
backyard
backyards
bacon
bacteria
bacterial
bacterium
bad
bade
Baden
badge
badger
badgered
badgering
badgers
badges
badlands
badly
badminton
badness
Baffin
baffle
baffled
baffler
bafflers
baffling
bag
bagatelle
bagatelles
bagel
bagels
baggage
bagged
bagger
baggers
bagging
baggy
Baghdad
Bagley
bagpipe
bagpipes
Bagrodia
Bagrodias
bags
bah
Bahama
Bahamas
Bahrein
bail
Bailey
Baileys
bailiff
bailiffs
bailing
Baird
Bairdi
Bairn
bait
baited
baiter
baiting
baits
Baja
bake
baked
Bakelite
baker
bakeries
bakers
Bakersfield
bakery
bakes
Bakhtiari
baking
baklava
Baku
balalaika
balalaikas
balance
balanced
balancer
balancers
balances
balancing
Balboa
balconies
balcony
bald
balding
baldly
baldness
Baldwin
bale
baleful
baler
bales
Balfour
Bali
Balinese
balk
Balkan
Balkanization
Balkanizations
Balkanize
balkanized
Balkanizes
balkanizing
Balkans
balked
balkiness
balking
balks
balky
ball
ballad
ballads
Ballard
Ballards
ballast
ballasts
balled
baller
ballerina
ballerinas
ballers
ballet
ballets
ballgown
balling
ballistic
ballistics
balloon
ballooned
ballooner
ballooners
ballooning
balloons
ballot
ballots
ballpark
ballparks
ballplayer
ballplayers
ballroom
ballrooms
balls
ballyhoo
balm
balms
balmy
balsa
balsam
Baltic
Baltimore
Baltimorean
balustrade
balustrades
Balzac
Bamako
Bamberger
Bambi
bamboo
ban
Banach
banal
banally
banana
bananas
Banbury
Bancroft
band
bandage
bandaged
bandages
bandaging
banded
bandied
bandies
banding
bandit
bandits
bandpass
bands
bandstand
bandstands
bandwagon
bandwagons
bandwidth
bandwidths
bandy
bandying
bane
baneful
bang
banged
banging
Bangladesh
bangle
bangles
Bangor
bangs
Bangui
banish
banished
banishes
banishing
banishment
banister
banisters
banjo
banjos
bank
banked
banker
bankers
banking
bankrupt
bankruptcies
bankruptcy
bankrupted
bankrupting
bankrupts
Banks
banned
banner
banners
banning
banquet
banqueting
banquetings
banquets
bans
banshee
banshees
bantam
banter
bantered
bantering
banters
Bantu
Bantus
baptism
baptismal
baptisms
Baptist
Baptiste
baptistery
baptistries
baptistry
Baptists
baptize
baptized
baptizes
baptizing
bar
barb
Barbados
Barbara
barbarian
barbarians
barbaric
barbarism
barbarities
barbarity
barbarous
barbarously
barbecue
barbecued
barbecues
barbed
barbell
barbells
barber
barbital
barbiturate
barbiturates
Barbour
barbs
Barcelona
Barclay
bard
bards
bare
bared
barefaced
barefoot
barefooted
barely
bareness
barer
bares
barest
barflies
barfly
bargain
bargained
bargaining
bargains
barge
barges
barging
Barhop
baring
baritone
baritones
barium
bark
barked
barker
barkers
barking
barks
barley
Barlow
barn
Barnabas
Barnard
Barnes
Barnet
Barnett
Barney
Barnhard
barns
barnstorm
barnstormed
barnstorming
barnstorms
Barnum
barnyard
barnyards
barometer
barometers
barometric
baron
baroness
baronial
baronies
barons
barony
baroque
baroqueness
Barr
barrack
barracks
barrage
barrages
barred
barrel
barrelled
barrelling
barrels
barren
barrenness
Barrett
barricade
barricades
barrier
barriers
barring
barringer
Barrington
Barron
barrow
Barry
Barrymore
Barrymores
bars
Barstow
Bart
bartender
bartenders
barter
bartered
bartering
barters
Barth
Bartholomew
Bartlett
Bartok
Barton
basal
basalt
Bascom
base
baseball
baseballs
baseband
baseboard
baseboards
based
Basel
baseless
baseline
baselines
basely
baseman
basement
basements
baseness
baser
bases
bash
bashed
bashes
bashful
bashfulness
bashing
BASIC
Basic
basic
basically
basics
Basie
basil
basin
basing
basins
basis
bask
basked
basket
basketball
basketballs
baskets
basking
Basque
bass
basses
basset
Bassett
bassinet
bassinets
bastard
bastards
baste
basted
bastes
basting
bastion
bastions
bat
Batavia
batch
batched
Batchelder
batches
Bateman
Bates
bath
bathe
bathed
bather
bathers
bathes
bathing
bathos
bathrobe
bathrobes
bathroom
bathrooms
baths
bathtub
bathtubs
Bathurst
Batista
baton
batons
Bator
bats
battalion
battalions
batted
Battelle
batten
battens
batter
battered
batteries
battering
batters
battery
batting
battle
battled
battlefield
battlefields
battlefront
battlefronts
battleground
battlegrounds
battlement
battlements
battler
battlers
battles
battleship
battleships
battling
bauble
baubles
baud
Baudelaire
Bauer
Bauhaus
Bausch
bauxite
Bavaria
Bavarian
bawdy
bawl
bawled
bawling
bawls
Baxter
bay
Bayda
bayed
Bayes
Bayesian
baying
Baylor
bayonet
bayonets
Bayonne
bayou
bayous
Bayport
Bayreuth
bays
bazaar
bazaars
be
beach
beached
beaches
beachhead
beachheads
beaching
beacon
beacons
bead
beaded
beading
beadle
beadles
beads
beady
beagle
beagles
beak
beaked
beaker
beakers
beaks
beam
beamed
beamer
beamers
beaming
beams
bean
beanbag
beaned
beaner
beaners
beaning
beans
bear