#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int n,d;
int m[101];
int all[101];
int c[101][10001];
int mis;
int main(void){
	while(1){
		scanf("%d %d",&n,&d);
		if(n+d==0)break;
		mis=0;
		for(int i=0;i<n;i++){
			scanf("%d",&m[i]);
			all[i]=0;
			mis+=m[i];
			for(int j=0;j<m[i];j++){
				scanf("%d",&c[i][j]);
				all[i]+=c[i][j];
			}
		}
		bool flag=true;
		for(int i=0;i<n;i++){
			for(int j=i+1;j<n;j++){
				if(abs(all[i]-all[j])>d)flag=false;
			}
		}
		if(!flag){
			printf("No\n");
			continue;
		}
		int i;
		for(i=0;i<mis;i++){
			bool flag=false;
			for(int j=0;j<n;j++){
				int k;
				for(k=0;k<n;k++){
					if(k==j)continue;
					if(abs(all[k]-(all[j]-c[j][m[j]-1]))>d)break;
				}
				if(k==n){
					all[j]-=c[j][m[j]-1];
					m[j]--;
					flag=true;
					break;
				}
			}
			if(!flag)break;
		}
		printf("%s\n",i==mis?"Yes":"No");

	}
	return 0;
}