# your code goes here
class Solution:
def commonChars(self, words: list[str]) -> list[str]:
# Start with the characters of the first word
common = list(words[0])
# Filter characters against each subsequent word
for word in words[1:]:
next_common = []
for char in common:
if char in word:
next_common.append(char)
# Remove the letter so it isn't matched again for this word
word = word.replace(char, "", 1)
common = next_common
return common
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmNsYXNzIFNvbHV0aW9uOgogICAgZGVmIGNvbW1vbkNoYXJzKHNlbGYsIHdvcmRzOiBsaXN0W3N0cl0pIC0+IGxpc3Rbc3RyXToKICAgICAgICAjIFN0YXJ0IHdpdGggdGhlIGNoYXJhY3RlcnMgb2YgdGhlIGZpcnN0IHdvcmQKICAgICAgICBjb21tb24gPSBsaXN0KHdvcmRzWzBdKQogICAgICAgIAogICAgICAgICMgRmlsdGVyIGNoYXJhY3RlcnMgYWdhaW5zdCBlYWNoIHN1YnNlcXVlbnQgd29yZAogICAgICAgIGZvciB3b3JkIGluIHdvcmRzWzE6XToKICAgICAgICAgICAgbmV4dF9jb21tb24gPSBbXQogICAgICAgICAgICBmb3IgY2hhciBpbiBjb21tb246CiAgICAgICAgICAgICAgICBpZiBjaGFyIGluIHdvcmQ6CiAgICAgICAgICAgICAgICAgICAgbmV4dF9jb21tb24uYXBwZW5kKGNoYXIpCiAgICAgICAgICAgICAgICAgICAgIyBSZW1vdmUgdGhlIGxldHRlciBzbyBpdCBpc24ndCBtYXRjaGVkIGFnYWluIGZvciB0aGlzIHdvcmQKICAgICAgICAgICAgICAgICAgICB3b3JkID0gd29yZC5yZXBsYWNlKGNoYXIsICIiLCAxKQogICAgICAgICAgICBjb21tb24gPSBuZXh0X2NvbW1vbgogICAgICAgICAgICAKICAgICAgICByZXR1cm4gY29tbW9uCg==