vector<vector<string>> anagrams(vector<string>& arr) {
// code here
vector<vector<string>> ret;
unordered_map<string, vector<string>> anagrams;
for(int i=0; i<arr.size(); i++) {
string key = arr[i];
sort(key.begin(), key.end());
anagrams[key].push_back(arr[i]);
}
for(auto x:anagrams) {
ret.push_back(x.second);
}
return ret;
}