#include <bits/stdc++.h>
using namespace std;

#define for_(i,a,b) for(int i=(a);i<(b);++i)

int main() {
	int n, d;
	while (cin >> n >> d) {
		if (n == 0 && d == 0) break;
		vector< stack< int > > vq(n, stack< int >());
		vector< int > sum(n, 0);
		for_(i,0,n) {
			int m; cin >> m;
			for_(j,0,m) {
				int c; cin >> c;
				vq[i].push(c);
				sum[i] += c;
			}
		}
		
		bool end = false;
		while (!end) {
			end = true;
			for_(i,0,n) {
				if (vq[i].empty()) continue;
				sum[i] -= vq[i].top();
				if (*max_element(sum.begin(), sum.end()) - *min_element(sum.begin(), sum.end()) <= d) { vq[i].pop(); end = false; }
				else sum[i] += vq[i].top();
			}
		}
		
		cout << (*max_element(sum.begin(), sum.end()) == 0 ? "Yes" : "No") << endl;
	}
}