#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
const int INF = 1000000000;
#define REP(i,s,n) for(int i=(int)(s);i<(int)(n);i++)
#define rep(i,n) REP(i, 0, n)
int N, D;
int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    int _t, _s;
    while(cin >> N >> D && N){
        vector<int> m[100];
        vector<int> sum(N, 0);
        rep(i, N){
            cin >> _t;
            rep(j, _t){
                cin >> _s;
                m[i].push_back(_s);
                sum[i] += _s;
            }
        }
        while(true){
            bool updated = false;
            rep(i, N)
              while(m[i].size()){
                  sum[i] -= m[i].back();
                  if(*max_element(sum.begin(), sum.end()) - sum[i] <= D){
                      m[i].pop_back();
                      updated = true;
                  }else{
                      sum[i] += m[i].back();
                      break;
                  }
              }
            if(!updated) break;
        }
        rep(i, N - 1) sum[i + 1] += sum[i];
        if(sum[N - 1] == 0)
          cout << "Yes" << endl;
        else
          cout << "No" << endl;
    }
    return 0;
}