Easy Solution
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:O(n*m)\n  Where n is the number of words in the input vector and m is the average length of each word\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:O(1)\n Because the space used by the unordered_map is constant and does not depend on the input size.\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```cpp []\nclass Solution {\npublic:\n    int countConsistentStrings(string allowed, vector<string>& words) {\n        unordered_map<char, int> mp;\n        for(char ch:allowed){\n            mp[ch]++;\n        }\n\n        int count = 0;\n        for(int i = 0; i<words.size(); i++){\n            string word = words[i];\n            bool isConsistent = true;\n            for(char ch:word){\n                if(mp.find(ch) == mp.end()){\n                    isConsistent = false;\n                }\n            }\n            if(isConsistent) count++;\n        }\n        return count;\n    }\n};\n```
['Array', 'Hash Table', 'String', 'Counting', 'C++']