Watsky words
Between 2019 and 2023, rapper George Watsky released three albums titled Complaint, Placement, and Intention. When arranged next to each other, the titles form a 3x3 word puzzle that can be read across and down:
com pla int
pla cem ent
int ent ion
In an interview with Philip DeFranco, Watsky said the following:
when I worked with this linguist, we plugged the rules of this word puzzle into the english dictionary and it only spit out one possibility of 9-letter words that interlocked in the way we wanted it to...there was only one solution
Let's double check their work.
We start by assembling a list of nine-letter english words:
$ curl https://raw.githubusercontent.com/cullback/english-wordlist/refs/heads/main/words.csv \
| rg '^[a-z]{9}$' \
> words.csv
$ wc -l words.csv
18841 words.csv
Checking all three-word combinations of that list would take a long time (18841³ = 6,688,239,997,321).
We can explore the search space more efficiently by using binary search to find the words with the prefix we want:
import fileinput
from bisect import bisect_left
def starts_with(words: list[str], prefix: str) -> list[str]:
i = bisect_left(words, prefix)
matches = filter(lambda w: w.startswith(prefix), words[i:])
return list(matches)
words = sorted(w.rstrip() for w in fileinput.input())
for first in words:
for third in starts_with(words, first[6:]):
for second in starts_with(words, first[3:6]):
if second.endswith(third[3:6]):
print(f"{first},{second},{third}")
If we limit our search to only the top 1000 words, we reproduce their result:
$ head -n1000 words.csv | python watsky.py
complaint,placement,intention
Running this gives us 1480 solutions:
$ cat words.csv | python watsky.py | wc -l
1480
Some other titles Watsky could have chosen include:
worshiped
shittiest
pedestals
castrates
traumatic
testicles
prostates
statistic
testicles