I’ve been working with word searches a lot lately and it gave me an idea for a short but hopefully fun little puzzle. Let’s take a word like scones, and let’s break it down into as many words as possible:


Well that was fun, it turns out that scones is a surely an overachiever. It gave me 8 words without having to rearrange any of the letters. Note that cons doesn’t make the list because you have to remove the letter e.

Which six-letter word can produce the most words, without rearranging or removing letters?

For the purposes of this puzzle, a word is considered valid if it exists in YAWL. If you prefer a more organized list of words, my brute force dictionary (which is just an organized version of YAWL that will never change), is also available.


1 Answer 1


I'm not sure how we can check that a given candidate produces as many words as possible, given the [no-computers] tag. But, depending on whether you are counting the number of different words or the number of substrings that are words,


is hard to beat. The only substrings that aren't YAWL words are

the three "n"s.

Oh, except that

in fact YAWL doesn't have one-letter words, so in this word every substring that's long enough to be in YAWL is in YAWL. This is therefore definitely optimal for the substrings-that-are-words question.

But there are a lot of repeated words there and only

9/10 distinct words: (a,) an, ana, anan, anana, ananas, na, nan, nana, nanas.

For distinct words, I have no reason to think this is optimal (other than having tried for a while and not found anything better) but



13: la lat late latest; at ate ates; te tes test; es est; st.

EDITED to add: Now that the [no-computers] tag has been removed, I can report that a very simple-minded Python program finds



14: fe fer fere feres ferest; er ere eres; re res rest; es est; st.

I did know

the word "fere" but (1) didn't think of it -- it's pretty obscure -- and (2) didn't know it could be an adjective and (3) likely wouldn't have thought of it anyway because I have no idea why YAWL considers "fe" a word. So hooray for computer searches!


actually there are several other 14s, some of which I really should have thought of. STATES, AMUSED, BAREST, CHIDES, SPARED, STARES, PHONED, for instance. 24 in all.

Simple-minded Python code, in case anyone cares:

words = set(w.strip() for w in open("yawl.txt","r").read().split())
m = (0,'',set())
for w in words:
    if len(w) != 6: continue
    s = set()
    for i in range(6):
        for j in range(i+1,7):
            if w[i:j] in words: s.add(w[i:j])
    n = len(s)
    if n > m[0]: m = (n,w,s)
  • $\begingroup$ I removed the no-computers tag for that specific reason. There is a rather small handful of words that fit the criteria, and your second answer is very close to the maximum. $\endgroup$ Nov 5, 2021 at 14:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.