#include #include #include using namespace std; struct Data{ int v; char cla[15]; }d[105]; int cmp(const Data d1, const Data d2) { int flag = strcmp(d1.cla, d2.cla); if (flag > 0 || (!flag && d1.v > d2.v)) return 1; else return 0; } int main() { int t; scanf("%d", &t); while (t--) { int n; scanf("%d", &n); getchar(); for (int i = 0; i < n; i++) { scanf("%s%d", d[i].cla, &d[i].v); } sort(d, d + n, cmp); /* for (int i = 0; i < n; i++) { printf("%s %d\n", d[i].cla, d[i].v); } */ int cnt; char s[15] = {""}; int ans = 0; for (int i = 0; i < n; i++) { if (strcmp(s, d[i].cla) != 0) { strcpy(s, d[i].cla); ans += d[i].v; cnt = 1; } else { if (cnt < 2) { ans += d[i].v; cnt++; } } } printf("%d\n", ans); } return 0; }