#include using namespace std; typedef long long ll; #define mem(a) memset(a,0,sizeof(a)) #define mp(x,y) make_pair(x,y) const int INF = 0x3f3f3f3f; const ll INFLL = 0x3f3f3f3f3f3f3f3fLL; inline ll read(){ ll x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } ////////////////////////////////////////////////////////////////////////// const int maxn = 1e5+10; map mp; map minn; map maxx; int ans; int main(){ string s; int n,v; int T = read(); while(T--){ ans = 0; mp.clear(); minn.clear(); maxx.clear(); n = read(); for(int i=1; i<=n; i++){ cin >> s >> v; if(mp[s] < 2){ mp[s]++; ans+=v; // cout << "aa " << mp[s] << endl; if(mp[s]!=1) minn[s] = min(minn[s],v); else minn[s] = v; maxx[s] = max(maxx[s],v); }else{ ans -= min(minn[s],v); ans += v; int t = maxx[s]; maxx[s] = max(maxx[s],v); minn[s] = max(minn[s],v); if(minn[s]==maxx[s]) minn[s] = t; // cout << "hh " << minn[s] << " " << maxx[s] << endl; } } cout << ans << endl; } return 0; }