loop do
    n, d = gets.split.map(&:to_i)
    break if n == 0 && d == 0
    m = Array.new(n)
    sum = Array.new(n,0)
    n.times do |i|
        _, *m[i] = gets.split.map(&:to_i)
        sum[i] = m[i].inject(:+)
        sum[i] = 0 if !sum[i]
    end
    loop do
        e = false
        n.times do |i|
            while m[i].size > 0
                sum[i] -= m[i][-1]
                max = sum.max
                if max - sum[i] <= d
                    m[i].pop
                    e = true
                else
                    sum[i] += m[i][-1]
                    break
                end
            end
        end
        break if !e
    end
    puts m.all?{|s| s.size == 0} ? "Yes" : "No"
end