#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;

int dp[101][1<<16],mask[101];
int main(){
	int n;
	while(scanf("%d",&n),n){
		memset(dp,0,sizeof(dp));
		int Max=0;
		rep(i,n){
			int m,l;scanf("%d%d",&m,&l);
			int mask=0;
			rep(k,m){
				int s,e;scanf("%d%d",&s,&e);s-=6;e-=6;
				for(int j=s;j<e;j++)mask|=1<<j;
			}
			rep(j,1<<16){
				dp[i+1][j]=max(dp[i+1][j],dp[i][j]);
				if(!(j&mask)){
					dp[i+1][j|mask]=max(dp[i+1][j|mask],dp[i][j]+l);
					Max=max(Max,dp[i+1][j|mask]);
				}
			}
		}
		printf("%d\n",Max);
	}
}