How to generate all possible 3 letter strings

iex> letters = ?a..?z                                                                                         
97..122

iex> for first <- letters, second <- letters, third <- letters, do: [first, second, third] |> List.to_string()
["aaa", "aab", "aac", "aad", "aae", "aaf", "aag", "aah", "aai", "aaj", "aak",
 "aal", "aam", "aan", "aao", "aap", "aaq", "aar", "aas", "aat", "aau", "aav",
 "aaw", "aax", "aay", "aaz", "aba", "abb", "abc", "abd", "abe", "abf", "abg",
 "abh", "abi", "abj", "abk", "abl", "abm", "abn", "abo", "abp", "abq", "abr",
 "abs", "abt", "abu", "abv", "abw", "abx", ...]
14 Likes