Hash Bit-Mask
 # Intuition  \n\n\n\n\n\n# Complexity\n- Time complexity: O(n * l)\n\n\n- Space complexity: O(n)\n\n\n# Code\n\nclass Solution {\npublic:\n    int similarPairs
<!-- # 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 * l)`*\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity: *`O(n)`*\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\npublic:\n    int similarPairs(vector<string>& words) {\n        unordered_map<int, int> feq;\n        for(string& word: words) {\n            int bit = 0;\n            for(char& ch: word)\n                bit |= 1 << (ch - \'a\');\n            feq[bit]++;\n        }\n        int pairs = 0;\n        for(auto el: feq)\n            pairs += (el.second - 1) * el.second / 2;\n        return pairs;\n    }\n};\n```
['Hash Table', 'String', 'Bitmask', 'C++']