func_code_string: #include <bits/stdc++.h>   using namespace std;   map<string, int> a;   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     int n;     cin >> n;     while (n--) {       int temp_val;       string temp_s;       cin >> temp_val >> temp_s;       sort(temp_s.begin(), temp_s.end());       if (a[temp_s] < 1)         a[temp_s] = temp_val;       else         a[temp_s] = min(a[temp_s], temp_val);     }     int ans = INT_MAX;     if (a[ A ] >= 1 && a[ B ] >= 1 && a[ C ] >= 1) ans = a[ A ] + a[ B ] + a[ C ];     if (a[ A ] >= 1 && a[ BC ] >= 1) ans = min(ans, a[ A ] + a[ BC ]);     if (a[ C ] >= 1 && a[ AB ] >= 1) ans = min(ans, a[ C ] + a[ AB ]);     if (a[ B ] >= 1 && a[ AC ] >= 1) ans = min(ans, a[ B ] + a[ AC ]);     if (a[ AB ] >= 1 && a[ BC ] >= 1) ans = min(ans, a[ AB ] + a[ BC ]);     if (a[ AC ] >= 1 && a[ AB ] >= 1) ans = min(ans, a[ AC ] + a[ AB ]);     if (a[ BC ] >= 1 && a[ AC ] >= 1) ans = min(ans, a[ BC ] + a[ AC ]);     if (a[ ABC ] >= 1) ans = min(ans, a[ ABC ]);     if (ans == INT_MAX)       cout << -1 << endl;     else       cout << ans << endl;     return 0;   }   