#include <bits/stdc++.h>
using namespace std;
#define pp pair<int,int>
#define rep(i,n) for(int (i)=0;(i)<(n);(i)++)
#define ll long long
#define all(a) (a).begin(),(a).end()
#define mk make_pair
ll MOD=1000000007;
ll mod=998244353;
int inf=1000001000;
ll INF=10000000000000000;


int main(){
  while(true){
    int n,d;
    cin >> n >> d;
    if (n==0) break;
    vector<vector<int>> a(n,vector<int>(0));
    rep(i,n){
      int m;
      cin >> m;
      rep(j,m){
        int f;
        cin >> f;
        a[i].push_back(f);
      }
    }
    vector<int> b(n,0),c(n,0);
    int mi=0,mi2=0;
    while(true){
      bool t=true,tt=true;
      rep(i,n){
        if (b[i]==a[i].size()) continue;
        t=false;
        if (c[i]!=mi){
        if (a[i][b[i]]+c[i]<=mi+d){
          c[i]+=a[i][b[i]];
          b[i]++;
          tt=false;
          // cout << i << " " << c[i] << endl;
          break;
        }
        }
        else if (c[i]==mi){
        if (a[i][b[i]]+c[i]<=mi2+d){
          c[i]+=a[i][b[i]];
          b[i]++;
          tt=false;
          // cout << i << " " << c[i] << endl;
          break;
        }
        }
      }
      mi=inf;mi2=inf;
      rep(i,n){
        // cout << c[i] << " ";
        if (c[i]<mi){
          mi2=mi;
          mi=c[i];
        }
        else{
          mi2=min(mi2,c[i]);
        }
      }
      // cout << endl;
      // cout << mi << " " << mi2 << endl;
      if (tt) {
        if (t) cout << "Yes" << endl;
        else cout << "No" << endl;
        break;
      }
    }
  }
}

