//jiudge: 31426: 1699964282
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll
typedef pair<int,int> pii;
const int N=2e5+7;
int n,k,c,d;
vector<int>v[5];
int dp[N][20];
void solve(){
cin>>n;
memset(dp,-1,sizeof dp);
dp[0][0]=0;
for(int i=1;i<=n;i++){
cin>>k;
for(int j=1;j<=3;j++)v[j].clear();
for(int j=1;j<=k;j++){
cin>>c>>d;
v[c].push_back(d);
}
for(int j=1;j<=3;j++)sort(v[j].begin(),v[j].end(),greater<int>());
for(int j=0;j<=9;j++){
dp[i][j]=max(dp[i][j],dp[i-1][j]);
if(dp[i-1][j]==-1)continue;
int nx=(j+1)%10;
int ma=-1,ma2=-1;
for(int k=1;k<=3;k++)if(!v[k].empty())ma=max(ma,v[k][0]);
ma2=2*ma;
if(ma==-1)continue;
if(j<9)dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma);
else dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma2);
nx=(j+2)%10;
ma=ma2=-1;
if(v[1].size()<1)continue;
if(v[2].size()>=1)ma=max(ma,v[1][0]+v[2][0]),ma2=max(ma2,(v[1][0]+v[2][0])+max(v[1][0],v[2][0]));
if(v[1].size()>=2)ma=max(ma,v[1][0]+v[1][1]),ma2=max(ma2,2*v[1][0]+v[1][1]);
if(ma==-1)continue;
if(j<8)dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma);
else dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma2);
nx=(j+3)%10;
if(v[1].size()<3)continue;
ma=v[1][0]+v[1][1]+v[1][2],ma2=ma+v[1][0];
if(ma==-1)continue;
if(j<7)dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma);
else dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma2);
}
}
int ans=-1;
for(int i=0;i<=9;i++)ans=max(ans,dp[n][i]);
cout<<ans<<'\n';
}
signed main(){
int t=1;
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
// cin>>t;
while(t--)solve();
return 0;
}
762C - Two strings | 802M - April Fools' Problem (easy) |
577B - Modulo Sum | 1555B - Two Tables |
1686A - Everything Everywhere All But One | 1469B - Red and Blue |
1257B - Magic Stick | 18C - Stripe |
1203B - Equal Rectangles | 1536A - Omkar and Bad Story |
1509A - Average Height | 1506C - Double-ended Strings |
340A - The Wall | 377A - Maze |
500A - New Year Transportation | 908D - New Year and Arbitrary Arrangement |
199A - Hexadecimal's theorem | 519C - A and B and Team Training |
631A - Interview | 961B - Lecture Sleep |
522A - Reposts | 1166D - Cute Sequences |
1176A - Divide it | 1527A - And Then There Were K |
1618E - Singers' Tour | 1560B - Who's Opposite |
182B - Vasya's Calendar | 934A - A Compatible Pair |
1618F - Reverse | 1684C - Column Swapping |