#include<iostream>
#include<algorithm>
using namespace std;
int N,V;
int s[105],v[105][105],w[105][105];
int f[105];
int main(){
cin>>N>>V;
for(int i=1;i<=N;i++){
cin>>s[i];
for(int j=1;j<=s[i];j++){
cin>>v[i][j]>>w[i][j];
}
}
for(int i=1;i<=N;i++){
for(int j=V;j>=0;j--){
for(int k=1;k<=s[i];k++){
if(v[i][k]<=j) f[j]=max(f[j],f[j-v[i][k]]+w[i][k]);
}
}
}
cout<<f[V];
}