class Solution(object):
    def findWords(self, words):
        """
        :type words: List[str]
        :rtype: List[str]
        """
        one = {
            "q": 1,
            "w": 1,
            "e": 1,
            "r": 1,
            "t": 1,
            "y": 1,
            "u": 1,
            "i": 1,
            "o": 1,
            "p": 1
        }
        second = {
            "a": 1,
            "s": 1,
            "d": 1,
            "f": 1,
            "g": 1,
            "h": 1,
            "j": 1,
            "k": 1,
            "l": 1
        }
        third = {
            "z": 1,
            "x": 1,
            "c": 1,
            "v": 1,
            "b": 1,
            "n": 1,
            "m": 1
        }
        results = []
        for i in range(len(words)):
            word = words[i].lower()
            flag = True
            if word[0] in one:
                for j in range(len(word)):
                    if not word[j] in one:
                        flag = False
                        break
            if word[0] in second:
                for j in range(len(word)):
                    if not word[j] in second:
                        flag = False
                        break
            if word[0] in third:
                for j in range(len(word)):
                    if not word[j] in third:
                        flag = False
                        break
            if flag:
                results.append(words[i])
        return results