#include<cstdio>
#include<vector>
#include<algorithm>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;

int n,d,m[100],id[100],p[100],num;
vector<int> c[100];

int main(){
  while(scanf("%d%d",&n,&d), n){
    num = 0;
    rep(i,n){
      scanf("%d",&m[i]);

      c[i].resize(m[i]); p[i] = 0;
      rep(j,m[i]){
	scanf("%d",&c[i][j]);
	p[i] += c[i][j];
      }

      num += m[i];
      id[i] = m[i]-1;
    }

    bool f = true;
    rep(i,num){
      int maxv = -1, secv = -1;
      rep(j,n){
	secv = max(secv,p[j]);
	if(secv > maxv)swap(secv,maxv);
      }

      f = false;
      rep(j,n){
	if(id[j]>=0){
	  if(p[j] == maxv){
	    if(secv<0 || secv-d<=p[j]-c[j][id[j]]){
	      p[j] -= c[j][id[j]];
	      id[j]--;
	      f = true;
	      break;
	    }
	  }else if(maxv-d<=p[j]-c[j][id[j]]){
	    p[j] -= c[j][id[j]];
	    id[j]--;
	    f = true;
	    break;
	  }
	}
      }

      if(!f)break;
    }
    printf(f?"Yes\n":"No\n");
  }
}