#include #include #include #include #include #include #include #include #include #include #include #include //#include //#define LOCAL #define space " " using namespace std; typedef long long LL; //typedef __int64 Int; typedef pair paii; const int INF = 0x3f3f3f3f; const double ESP = 1e-5; const double PI = acos(-1.0); const int MAXN = 1000 + 10; struct node { int val, sub; } data[MAXN]; int used[MAXN]; char str[MAXN][20], s[20]; bool cmp(node a, node b) { return a.val > b.val; } int main() { int T, N, M, val; scanf("%d", &T); while (T--) { scanf("%d", &N); int M = 0; for (int i = 0; i < N; i++) { scanf("%s %d", s, &val); bool flag = false; data[i].val = val; for (int j = 0; j < M; j++) { if (strcmp(str[j], s) == 0) { data[i].sub = j; flag = true;break; } } if (!flag) { data[i].sub = M; strcpy(str[M++], s); } } int ans = 0; memset(used, 0, sizeof(used)); sort(data, data + N, cmp); for (int i = 0; i < N; i++) { if (used[data[i].sub] >= 2) continue; else { ans += data[i].val; ++used[data[i].sub]; } } printf("%d\n", ans); } return 0; }