#include using namespace std; const string order = "AKQJT98765432"; inline int getval(string s) { sort(s.begin(), s.end()); if (s[0] == s[4]) return 1; if (s[0] == s[3] || s[1] == s[4]) return 2; if ((s[0] == s[2] && s[3] == s[4]) || (s[0] == s[1] && s[2] == s[4])) return 3; if (s[0] == s[2] || s[1] == s[3] || s[2] == s[4]) return 4; if (s[0] == s[1] && (s[2] == s[3] || s[3] == s[4]) || s[1] == s[2] && s[3] == s[4]) return 5; if (s[0] == s[1] || s[1] == s[2] || s[2] == s[3] || s[3] == s[4]) return 6; return 7; } inline int geti(char c) { return find(order.begin(), order.end(), c) - order.begin(); } bool comp(pair& a, pair& b) { string aa = a.first, bb = b.first; int av = getval(aa), bv = getval(bb); if (av > bv) return true; if (av < bv) return false; for (int i = 0; i < 5; i++) { int ai = geti(aa[i]), bi = geti(bb[i]); if (ai > bi) return true; if (ai < bi) { return false; } } return false; } int main() { ios::sync_with_stdio(0); cin.tie(0); vector> hands; string line; while (getline(cin, line)) { istringstream ss(line); string h; int bid; ss >> h >> bid; hands.push_back(make_pair(h, bid)); } sort(hands.begin(), hands.end(), comp); int ret = 0; for (int i = 0; i < hands.size(); i++) { ret += hands[i].second * (i + 1); } cout << ret << '\n'; }