C++||Most Easy Solution with Explanation
We use set for storing unique characters present in string.We can see that for the value (meaning it.second in code)of 2 there will be 1 pair similarly for 3 it
# We use set for storing unique characters present in string.We can see that for the value (meaning it.second in code)of 2 there will be 1 pair similarly for 3 it can form 3 pairs for 4 it can form 6 pairs therefore ffor any value n it can form (n*(n-1))/2.\n```\nclass Solution {\npublic:\n    int similarPairs(vector<string>& words) {\n        map<set<char>,int> mp;\n        for(string s:words)\n        {\n            set<char> s1;\n            for(char c:s)\n            s1.insert(c);\n            mp[s1]++;\n        }\n        int cnt=0;\n        for(auto it:mp)\n        {\n            if(it.second>=2)\n            {\n                int x=it.second;\n                cnt+=(x*(x-1))/2;\n            }\n        }\n        return cnt;\n    }\n};\n```
['Ordered Set']