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

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

string solve(int n, int d)
{
	int m[100];
	vector<int> c[100];
	int index[100];
	int sum[100];
	rep(i, 0, n)
	{
		cin >> m[i];
		sum[i] = 0;
		rep(j, 0, m[i])
		{
			int cc; cin >> cc;
			c[i].push_back(cc);
			sum[i] += cc;
		}
		index[i] = m[i];
	}

	while (1)
	{
		int maxsum = -1;
		int pre_maxsum = -1;
		rep(i, 0, n)
		{
			if (maxsum < sum[i])
			{
				pre_maxsum = maxsum;
				maxsum = sum[i];
			}
		}
		if (maxsum == 0) return "Yes";

		bool ok = false;
		rep(i, 0, n)
		{
			if (index[i] == 0) continue;

			int nextsum = sum[i] - c[i][index[i]-1];

			if (sum[i] == maxsum)
			{
				if (pre_maxsum <= nextsum)
				{
					sum[i] = nextsum;
					index[i]--;
					ok = true;
					break;
				}
				else if ((pre_maxsum - nextsum) <= d)
				{
					sum[i] = nextsum;
					index[i]--;
					ok = true;
					break;
				}
				else
				{
					continue;
				}
			}
			else
			{
				if((maxsum - nextsum) <= d)
				{
					sum[i] = nextsum;
					index[i]--;
					ok = true;
					break;
				}
				else
				{
					continue;
				}
			}
		}

		if (!ok) return "No";
	}
}

int main()
{
	while (1)
	{
		int n, d;
		cin >> n >> d;
		if (n == 0) return 0;

		cout << solve(n, d) << endl;
	}
}