Problem Statement
We have defined a language that consists of a dictionary of distinct words. We want to know whether we should allow the use of compound words constructed by concatenating exactly two distinct dictionary words. The potential problem is that a compound word is ambiguous if either (or both) of the following conditions applies:
- the compound word is a dictionary word
- the compound word can be formed in more than one way.
For example, if "am","eat","a", "meat", "hook", and "meathook" were all in the dictionary, then "meathook" would be ambiguous according to the first condition, and "ameat" would be ambiguous according to the second condition.
Create a class CmpdWords that contains a method ambiguous that is given a
Note that compound words are NOT added to the dictionary. So the dictionary {"a", "b","c"} does not allow "abc" as a compound word.
Definition
- Class:
- CmpdWords
- Method:
- ambiguous
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int ambiguous(String[] dictionary)
- (be sure your method is public)
Constraints
- dictionary will contain between 1 and 50 elements inclusive.
- The elements of dictionary will be distinct.
- Each element of dictionary will contain between 1 and 20 characters inclusive.
- Each character in each element of dictionary will be a lowercase letter 'a'-'z'.
Examples
{"am","eat","a", "meat", "hook","meathook"}
Returns: 2
"meathook" and "ameat" are ambiguous as explained above.
{"a","b","c"}
Returns: 0
All the compound words are: "ab","ac","bc","ba","ca","cb" and none of these is ambiguous.
{"a","aa","aaa"}
Returns: 3
The ambiguous words are "aaa": ("a"+"aa" and "aa"+"a" and "aaa") "aaaa": ("a"+"aaa" and "aaa"+"a") "aaaaa": ("aa"+"aaa" and "aaa"+"aa")
{"abc","bca","bab","a"}
Returns: 1
"abc"+"a" = "a"+"bca"
{"ab","ba","aa","aba","a","b"}
Returns: 10
{"interinter"}
Returns: 0
{"a","b","ab","ba"}
Returns: 4
{"aaaa","bb","aaaab","b"}
Returns: 3
{"b","aaaab","bb","aaaa"}
Returns: 3
{"abc","def","g","abcdefg","defd","ef"}
Returns: 0
{"gjgj","gjfh","jhgf","fjfj","fffg","gfh","ggf","ffjhg","fjkf","fjjh"}
Returns: 0
{"gjgj","gjfh","fj","jhgf","fjfj","fffg","gfh","ggf","ffjhg","fjkf","fjjh"}
Returns: 1
{"a","aa","aaa","aaaa","aaaaa","aaaaaa","aaaaaaa","aaaaaaaa","aaaaaaaaa","aaaaaaaaaa","aaaaaaaaaaa","aaaaaaaaaaaa","aaaaaaaaaaaaa","aaaaaaaaaaaaaa","aaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaa","baaaaaaaaaaaaaaaaaa","abaaaaaaaaaaaaaaaaa","aabaaaaaaaaaaaaaaaa","aaabaaaaaaaaaaaaaaa","aaaabaaaaaaaaaaaaaa","aaaaabaaaaaaaaaaaaa","aaaaaabaaaaaaaaaaaa","aaaaaaabaaaaaaaaaaa","aaaaaaaabaaaaaaaaaa","aaaaaaaaabaaaaaaaaa","aaaaaaaaaabaaaaaaaa","aaaaaaaaaaabaaaaaaa","aaaaaaaaaaaaaaaaaab","aaaaaaaaaaaaaaaaaba","aaaaaaaaaaaaaaaabaa","aaaaaaaaaaaaaaabaaa","aaaaaaaaaaaaaabaaaa","aaaaaaaaaaaaabaaaaa","aaaaaaaaaaaabaaaaaa"}
Returns: 208
{"jfc", "ied", "cfh", "jka", "gbi", "gdb", "eef", "gff", "cfg", "cdd", "bfa", "kjk", "kai", "iia", "cdf", "fdd", "aaj", "jgd", "cdh", "ccg", "afd", "bad", "kgi", "dja", "cce", "fgi", "kci", "hch", "ega", "gha", "dkg", "hck", "baf", "cbk", "hee", "ehj", "jbi", "dii", "gce", "gke", "fii", "eaa", "hje", "fck", "ajj", "dbb", "fde", "iej", "add", "djf"}
Returns: 0
{"fkk", "hei", "hck", "edi", "hek", "iej", "edk", "fkh", "kab", "ikb", "fii", "jdd", "hag", "hdg", "bib", "hec", "ehi", "ihk", "ahg", "fjc", "cfb", "bii", "fcb", "feb", "jbe", "ieh", "hgf", "jhk", "hia", "fhh", "gfj", "chj", "ckh", "hej", "idj", "iie", "dbd", "dgd", "dfi", "hbg", "ebh", "iae", "edf", "idk", "dbb", "bca", "gca", "ddi", "gjk", "fge"}
Returns: 0
{"jfh", "fjb", "hig", "dkk", "egk", "bgk", "gja", "bhe", "ked", "ica", "dhe", "adf", "ihi", "caj", "faf", "dbf", "kec", "jae", "kak", "egi", "bgf", "jjf", "eij", "hja", "jjd", "ecf", "efh", "chi", "bfg", "jfb", "ekd", "bfj", "ikk", "gfe", "aei", "fbk", "cfj", "kcj", "hcd", "eac", "cik", "gdj", "gda", "hhh", "cce", "ddg", "jgi", "ecc", "cij", "kcc"}
Returns: 0
{"f", "e", "hgfi", "c", "akc", "j", "d", "jhee", "a", "hedb", "jjb", "ggga", "hgf", "fbg", "cae", "aeei", "g", "cfh", "fk", "kicd", "fg", "bfe", "jcdc", "jgif", "bghj", "gi", "b", "gf", "egcb", "adi", "adbb", "eah", "iii", "age", "idi", "hgk", "ecg", "ebea", "ji", "igjg", "hki", "kfai", "bca", "fkkg", "gdak", "gfgi", "i", "dg", "jfkj", "dbee"}
Returns: 14
{"ee", "fk", "dkd", "hg", "f", "d", "hd", "dj", "g", "k", "cjd", "gc", "kijk", "aj", "i", "edj", "bhhb", "j", "df", "e", "gjda", "bh", "beee", "fbig", "jh", "ejbb", "jehi", "gab", "idfk", "gfe", "ddh", "ghhb", "edfa", "icck", "chaa", "hk", "b", "h", "acgh", "fe", "kf", "ega", "fc", "di", "jeji", "idj", "caja", "jj", "cdh", "bje"}
Returns: 40
{"jaaa", "i", "jik", "kdk", "bfd", "aj", "e", "j", "hdae", "gk", "ffc", "jgb", "hh", "ihb", "a", "caa", "dkk", "aai", "jhdj", "ch", "ief", "kg", "fc", "hhch", "ig", "je", "fbfb", "jiia", "ak", "kkad", "ggge", "cke", "kbg", "d", "eej", "akf", "c", "ijj", "ga", "jie", "ka", "edkj", "ebd", "iih", "ad", "gb", "badc", "b", "kke", "eg"}
Returns: 18
{"bhja", "gb", "aebc", "dfkd", "jgic", "hfif", "a", "hhj", "ch", "bac", "gi", "ck", "ikk", "bj", "caib", "fi", "gfg", "fad", "fehi", "cjae", "acci", "bdia", "ea", "cd", "bd", "e", "fef", "kbki", "ajcd", "d", "bk", "jj", "ii", "ekb", "jabk", "kd", "j", "gh", "jde", "gg", "ca", "dacf", "jcje", "cgj", "bkih", "gfdf", "jakj", "hbe", "ddkg", "kghh"}
Returns: 2
{"hdge", "g", "icfh", "ba", "b", "ff", "ihi", "dde", "aigf", "i", "ia", "d", "kjbc", "abjj", "eihc", "djc", "f", "fbj", "bc", "ajkb", "ejhc", "fh", "igk", "bkc", "hhi", "jdc", "bba", "dh", "dafc", "kaa", "be", "fhj", "ca", "hj", "kjg", "ag", "bhbg", "ke", "gk", "gfdb", "kej", "fji", "hke", "ik", "fkkg", "ef", "cj", "hi", "cg", "iaia"}
Returns: 17
{"icc", "kkg", "hk", "gi", "h", "iga", "haif", "fdbk", "d", "khcd", "b", "kcef", "hd", "ac", "eg", "c", "ii", "jd", "ffhh", "dai", "jcc", "ijka", "bgb", "dac", "f", "ea", "e", "ed", "cda", "aebf", "a", "dhjg", "idhf", "ckb", "dj", "fc", "fa", "ej", "ij", "iha", "ejb", "kf", "eh", "bga", "j", "dka", "bj", "gj", "iihi", "ibh"}
Returns: 29
{"kg", "b", "cd", "j", "db", "ih", "bcch", "je", "cged", "adde", "ifh", "jkjj", "a", "f", "c", "ejjj", "cgef", "efdk", "ahd", "bf", "fcc", "bc", "cg", "k", "jegi", "bik", "dkcc", "fbbg", "kfh", "g", "dg", "cjek", "dk", "kjh", "gb", "kd", "gekc", "bd", "ghc", "bkda", "d", "kehe", "gjka", "ce", "ba", "gg", "efgc", "eked", "gk", "h"}
Returns: 49
{"ef", "ddh", "f", "ecci", "kbf", "jiac", "agj", "d", "hdk", "ab", "ghe", "b", "jgg", "khea", "jk", "j", "hehk", "i", "a", "h", "g", "k", "ebg", "igki", "ghkb", "bf", "ghd", "jiee", "kk", "ke", "gca", "hcj", "aic", "bh", "kka", "cd", "efg", "aj", "hfc", "c", "gfff", "jch", "ak", "bd", "dbd", "akh", "icje", "kbeg", "gg", "fc"}
Returns: 39
{"he", "ah", "ad", "cibd", "fae", "bc", "j", "f", "hah", "eegd", "jk", "h", "kci", "begd", "cj", "i", "gjc", "gaij", "eb", "cck", "ahc", "g", "hfgi", "b", "e", "eh", "di", "jb", "fe", "ehch", "ia", "cd", "fkj", "cjab", "ffkf", "ai", "baba", "a", "hkj", "bbf", "df", "edc", "ehfk", "fa", "kab", "ic", "fgac", "fjf", "db", "kf"}
Returns: 33
{"kgfb", "gkkd", "ihjh", "kb", "ha", "akhj", "bg", "h", "afka", "egf", "i", "khd", "jccd", "keg", "cc", "be", "a", "kja", "ifde", "cajg", "bigj", "gdkg", "hfi", "gjib", "ikcb", "k", "b", "gi", "kfa", "iji", "d", "c", "kfg", "jd", "jhid", "jbki", "bfe", "hg", "bgj", "bib", "dbc", "jfg", "ak", "jdc", "jjj", "kg", "kfjk", "ie", "hik", "gbjc"}
Returns: 12
{"f", "eaij", "bcb", "g", "k", "gic", "cca", "eb", "jfhk", "a", "fed", "ghf", "ebf", "h", "b", "fdf", "fd", "jj", "dbg", "cka", "idh", "e", "edk", "die", "c", "ja", "jek", "iae", "i", "ci", "kgei", "jb", "jehc", "fgh", "hkge", "jg", "iaa", "ciei", "akgg", "hcj", "bcdd", "jce", "ib", "bbac", "ff", "aij", "jc", "igb", "ijc", "jage"}
Returns: 20
{"bab", "g", "kghf", "fca", "ii", "ac", "gfi", "hdk", "cdd", "fagj", "ia", "aifb", "ek", "kbc", "d", "hbbc", "hd", "akij", "debh", "a", "gbej", "cec", "ghab", "die", "gcad", "hbjf", "bf", "cjkd", "gkka", "fhgb", "cajj", "ihkh", "fida", "eghj", "fdie", "dj", "deh", "ajbi", "ei", "ai", "kb", "fk", "eebc", "aia", "b", "fie", "hk", "k", "jd", "jee"}
Returns: 8
{"e", "fec", "jcke", "b", "h", "ai", "kh", "beh", "cbik", "eai", "ah", "a", "kc", "fifj", "g", "i", "hfa", "hg", "d", "ji", "jdjh", "ekjd", "kba", "ek", "hk", "jda", "hdk", "fgd", "ikhd", "eie", "did", "jkhj", "ak", "efh", "gf", "f", "cgfd", "kbej", "jh", "gdgd", "kcd", "icei", "ac", "cg", "ei", "gdg", "cekh", "kdj", "bgac", "hdf"}
Returns: 19
{"dg", "h", "i", "had", "ai", "g", "d", "fjb", "eab", "hjee", "ggeg", "gj", "eg", "jff", "idhf", "bgkc", "jga", "bcd", "eecg", "aib", "hgkg", "bbed", "bgj", "jje", "k", "ga", "cefj", "jji", "acba", "eka", "efbf", "j", "gh", "cce", "ak", "fkk", "dk", "a", "cdii", "cje", "fjde", "icha", "kig", "ig", "gbi", "f", "khc", "e", "eh", "chg"}
Returns: 28
{"gk", "bc", "gccf", "b", "g", "f", "i", "fhc", "j", "ba", "ehgg", "dc", "c", "faek", "a", "h", "dbi", "ih", "ggi", "ck", "fb", "eceb", "k", "eak", "fei", "fggg", "da", "gfje", "bdfe", "aikh", "ka", "kddg", "e", "ki", "jgbg", "fg", "jici", "dh", "kf", "bjif", "db", "af", "kk", "ckad", "d", "dga", "ee", "hkg", "efbk", "fjha"}
Returns: 46
{"ebjg", "dfbj", "ak", "fb", "hkbf", "eihi", "cd", "ggic", "ad", "iij", "ih", "i", "fe", "e", "aa", "c", "fhdb", "d", "ca", "ghc", "dj", "kab", "ghi", "f", "hhdi", "hkg", "kba", "b", "cdib", "faha", "aei", "g", "che", "ckc", "jd", "cj", "dbfk", "fei", "bfe", "h", "eabe", "dcha", "kfhc", "fgig", "jac", "dcc", "j", "bi", "ieed", "ikk"}
Returns: 20
{"bcccabbaabaa", "c", "bbababcbabbcbaa", "cba", "bcbaac", "acaccaacaaaaaba", "bbabacbaabbc", "caabbbacabccb", "cabcabc", "babbbccacaba", "abcaabaccb", "cbccbbbbbaccca", "caabcbaccbccbbbabb", "babacababba", "cabccc", "cababaabbbccacabca", "aabacbaba", "aca", "bacccacccab", "abacc", "cbbcbbaacaabbacacc", "cabccabcbcbbbcbca", "abcbbcabccaabaaaabca", "bbbacbbbaabcbbbc", "abcaaacaca", "ccacc", "aabacaabbbccacab", "accbcaaa", "bcbabcbbb", "bacbacb", "cccbcaaaabbaabacaca", "cca", "acabccc", "caaaccaccb", "acbcbbccaa", "cccba", "acbcbaacc", "ccbabbbacbabcaac", "cac", "bcaacbcabbcabbcba", "aacccacacbb", "abcaaccccccc", "bcccbbcbcbaaa", "bcaaab", "bbbaaabacbbab", "abbbb", "cccabccabacac", "aabbaabb", "bcbc", "acabb"}
Returns: 2
{"a", "bccaaabbababcaacc", "caabcacaacacbbbc", "bcaabbbabbbb", "aa", "cabbabcacba", "bcbbbccbbacccbaa", "bacccbac", "abaccaabababaaaaa", "bcacaab", "cacccacabaccaabb", "aaccaacbaabcacccbbc", "bbacaacba", "babbacccbbc", "cc", "cbcbcbccbac", "cccb", "cacbcbaaaaacbc", "baaaccbaabab", "acbcbaabacbbbbccabab", "ccbcccc", "cca", "bcc", "cacabbccbbbbccab", "cacbca", "acccaaabbbc", "bac", "caab", "ba", "bacbaaacbbacbcbb", "cccaacbbccabab", "ccbaacbccbabababa", "ccbbbaaabbac", "accaccbbcabaca", "aabcbabccbccacaa", "aabaacacaa", "ac", "ccbacacbcb", "b", "cbbbb", "aaabac", "bcbac", "baaacabcbbaabb", "bbbacaccbaccaab", "caacbba", "bbbbccabc", "abbbbbababb", "accccac", "caaaccbcaccacbba", "bbcbcbccbcaaaccb"}
Returns: 8
{"bab", "bbaa", "abbcabbbba", "cbcbbcaabcbbb", "bccaca", "ccacbacccbbc", "ba", "acbaabccaacabaca", "cbabbaabcacabcbac", "bbbccacacbc", "ccacbaccbcabaaca", "aaacbbabaab", "cababacccb", "bcbacabcb", "caacc", "cacababcbccabaca", "bbbaa", "cbcb", "bbccabaccc", "abbaaccccabcc", "caa", "caabbaabcbabaa", "aa", "abbaaa", "aaabcccaacbaaaacccb", "acccabbcababbbb", "bbbabbcbbcbbb", "bbcb", "bbbcacbbbcbb", "acabcbcb", "bacacbabbbcbbababb", "aabbaccbbccbccbb", "ababacacacbbb", "ab", "bcaabacacbacbaa", "cbaabaccaab", "bcbcccbc", "ccbbab", "babbcaababcaacbb", "abacbcacbcbaaccccaba", "cabcbaabbcbbbbababbc", "a", "bbabacb", "baabbabaccaacbc", "abbccaccaa", "aaccabacbbbbcbbbabb", "bcababab", "bccaa", "bbabbbccccaccb", "ccaacaaacabbcacabaa"}
Returns: 5
{"babbbababbabba", "abaaaabbab", "aaaabbaabab", "aaab", "bbaaaabaabba", "abaababba", "bbabbab", "aabbbabbaaabba", "abbabababaaba", "bba", "abab", "bbbbbbb", "baabb", "aabbab", "bbabbbbaaabb", "aaabababa", "aaabbbaaabba", "aababaabbb", "aababbabaaabaa", "abbababaaa", "aabaaabbbbaabbbb", "baaabaabbabaaba", "a", "babbbaab", "abbaba", "baababaabaababba", "abaabbbabbbaaabbbaaa", "aabaaabbabbaaabaaaaa", "bbabaabbbb", "baaaaabbbabb", "aaabaaaababbbaabb", "abb", "aabbb", "aab", "bbaba", "abaa", "bbbaabbbbabb", "bbaaabaabbababaa", "abbbbaabbabbbabaaa", "baaaabaaaaab", "bbbbbbbbaaaababaa", "abbaabaab", "baaaba", "aababaa", "babababbaaabaaa", "b", "bbbabbbababaa", "abaababaabaaabbbbb", "bbaabb", "abbaaaaaaba"}
Returns: 17
{"aaabab", "aaabbb", "abaabbbabaa", "b", "abbabbaaaabbbbbaa", "ababaabbbaabbbbbab", "aaaaabbaababbbaabb", "bbababbaaa", "baab", "bbab", "aababbbabaaaaaab", "abaab", "abbbabbaababbbb", "aaabbbbabbbbaabba", "ab", "aabbabbaabab", "bbaba", "babaabaabaabbaaa", "aa", "aba", "babaaabaaa", "abbaabbbabbaabaaabb", "bbbaabbaaababa", "bbba", "abbbabaab", "aabbbb", "babbb", "aaababaabbbbaaabb", "bbbbabbabaababbbaa", "a", "bb", "aabaab", "bbabaabaabababbb", "aababbbabbbbaaaabb", "baaaaaabab", "aababbabab", "bbabaaabbbaabab", "bbbbabbaaabababbba", "ababaaaa", "aaababab", "bababbaaaaaaaab", "baaaabaaaabaaaba", "aaabbababaa", "aaaabaaaaabbaaba", "aababbaabaaabab", "aaaabaaaaaaaa", "bbabbbabbbbba", "abaabbbba", "bbabbbabbabaaa", "bbbaa"}
Returns: 35
{"ababaaabbbaabbaaab", "abaabbbbbabbabaaaab", "bbabbbaaaaaabaaaaa", "aabbbaaab", "ababab", "a", "abbaabaa", "baabaaaabbaaaaabbaba", "aaaaaaaaab", "aabba", "abbabbaaaba", "bbbbbbaabbaabba", "babaa", "bb", "baaabaabbbabb", "baabbbbbaaaaaaaab", "bbbbb", "baaabaaba", "abbabb", "babbaabbaaabaa", "bababaaabababaaaaaaa", "baaab", "bbbbbb", "aabbabbbbabb", "aaaaababaaaaaabbba", "bbaaaaabbbaabaaaa", "bbaaaabbabba", "bbbaabbabaababa", "ababaababbaa", "aaa", "aaaabbbbbabbabaaaa", "bbabbbbaabbabbbbbab", "bbaba", "babbbabbbabaaabb", "aabbabaaaaaabaababaa", "bbbbabbb", "baababbabb", "abbaaaabbb", "abb", "aaaaaaabaaba", "bbabbbbaaaa", "abbab", "baabbabaabbab", "ababbbbaaabababbb", "aabbbbabaaaa", "bbaaaa", "abbbaaaaaaabaabaa", "baabab", "babbbbabaaabaa", "bababbbabaabbbabba"}
Returns: 10
{"babcaa", "accbba", "ac", "aacccbbc", "cabcbcacaa", "bccbacbcab", "ccccabcc", "bbaabcaaac", "bbcc", "ccac", "ccaba", "cbaab", "aaacabbbac", "abaabcabbb", "bbcbcbab", "aacba", "bbabca", "bbbabbbbcc", "cbcabcac", "bccba", "bbaaaababa", "acaaacbcb", "bbabbac", "ccaaccaaaa", "a", "aacccccb", "baa", "acaacaa", "accc", "cbcaaaab", "cbcb", "bab", "bbbbc", "bcc", "aacbbacc", "aaaa", "aaacccca", "abaaabbccb", "bbcbbcbc", "ccacbcbb", "bacc", "cab", "cbaabcaab", "bbaaab", "c", "bacbc", "caaca", "bcbab", "bccccbcac", "abcacbca"}
Returns: 4
{"bbbabca", "caccaab", "abababbcbb", "aaa", "bccbaac", "bccaabbba", "abaacaccac", "bbac", "aabcabca", "bbcbaa", "a", "ba", "abcaca", "bbcc", "caaaacc", "aab", "abccc", "aacc", "babbb", "abbbbcb", "bba", "bbbbbbbcca", "cc", "bcb", "ccb", "baabccab", "aacbabbb", "cbaaababc", "cbbaabaaac", "bbcbababac", "acaaccb", "aabbbccccc", "baaababbca", "abaabcbb", "aacccbb", "bccabccaac", "cccba", "cccaaaba", "bbba", "baabcc", "bbbc", "aacbcaaba", "cb", "bcbbc", "cbccbaab", "bccabc", "bb", "acabc", "ccbaacca", "acbb"}
Returns: 12
{"baccb", "caac", "bbba", "c", "bbbabbbacb", "b", "caaccbcc", "aaab", "aa", "cc", "caccabacc", "abbbcca", "cba", "bccbcaaba", "aabccaaaa", "bbabcbbcca", "accbba", "baaabac", "cacbccc", "bc", "cab", "cabbababca", "acccbcaac", "cbac", "bbacaacc", "cbaaaca", "abcbcb", "aabca", "cabba", "aabccca", "a", "bac", "baccacb", "cbbaacc", "ccbb", "acbaabca", "bacbcbacc", "cacbbbcb", "ccaccbca", "acccbbac", "bbbcabcac", "baabba", "aaacb", "accac", "abbcc", "cbaaacaaa", "cccbcc", "aab", "abbca", "bacbbb"}
Returns: 20
{"am", "eat", "a", "meat", "amae", "at", "ameat" }
Returns: 1
{"ab", "abab" }
Returns: 1
{"aaaaaaaaaa", "aaaaaaaaa", "aaaaaaaa", "a", "aa", "aaa", "aaaa", "aaaaa", "aaaaaa", "aaaaaaa", "ab", "aab", "aaab", "aaaab", "aaaaab", "aaaaaab", "b", "aba", "aaba", "aaaba", "aaaaba", "aaaaaba", "aaaaaaba", "ba", "abaa", "aabaa", "aaabaa", "aaaabaa", "aaaaabaa", "aaaaaabaa", "baa", "baaa", "baaaa", "baaaaa", "baaaaaa", "baaaaaaa", "cbaa", "bacaa", "baaca", "baacaa", "bacaaaa", "bcaaaaaa", "bcaaaaaaa", "c", "ca", "ac", "caa", "aac", "aaac", "aaaaac" }
Returns: 509
{"ama", "maamaam", "amma", "maam", "ma", "am", "maa", "mimim", "maamm", "m", "aamm", "mamma", "ammaam", "amm", "aamio", "aamuy", "iemm", "a", "b", "d", "e", "c", "mim", "im" }
Returns: 40
{"a", "aa", "aaa" }
Returns: 3
{"a", "aa", "aaa", "aaaa" }
Returns: 5
{"a", "b", "ab" }
Returns: 1
{"am", "eat", "ameat" }
Returns: 1
{"a", "bc", "bca", "abc" }
Returns: 4
{"b", "c", "cc", "aa", "cb", "ba", "ac", "ca", "ab", "bb", "a", "bc", "aaa", "ccc", "z", "ad", "da", "zzz" }
Returns: 47
{"lala", "lalala", "l", "lalal", "lal", "ala", "ll", "llaa", "al", "alal", "alala" }
Returns: 21
{"a", "ab", "abc", "bcde", "cde", "de" }
Returns: 1
{"a", "b", "ab", "ba" }
Returns: 4
{"ab", "aba", "a", "ba", "b", "bba", "bb" }
Returns: 12
{"abc", "bca", "bab", "a", "aabb", "abb", "bac", "cab", "bba", "bcabab" }
Returns: 4
{"a", "b", "ba" }
Returns: 1
{"a", "bc", "de", "ab", "c", "ad", "e" }
Returns: 2
{"a", "b", "c", "ab", "bc", "abc", "abca", "abcb", "aabc" }
Returns: 11
{"q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "b" }
Returns: 0
{"a", "b", "ab", "ba", "abc", "abab", "baba" }
Returns: 8
{"a", "b", "bb" }
Returns: 1