# 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
