#include<bits/stdc++.h>
typedef long long int lli;
using namespace std;
lli dp[20][(1LL<<20)+1];
lli n,tim;
lli dura[20];
vector<lli>st_time[20];
lli solve(lli idx,lli mask,lli en,lli cnt)
{
if(en>=tim)
{
return 0;
}
if(dp[idx][mask]!=-1)
{
return dp[idx][mask];
}
lli res=1e18,val,st,i,temp,temp1;
for(i=0;i<n;i++)
{
if(mask & (1LL<<i))
{
continue;
}
val=upper_bound(st_time[i].begin(),st_time[i].end(),en)-st_time[i].begin();
val--;
if(val<0)
{
continue;
}
temp=en;
st=st_time[i][val];
temp1=st+dura[i];
if(temp1<=temp)
{
continue;
}
res=min(res,1+solve(i,mask | (1LL<<i),temp1,cnt+1));
}
return dp[idx][mask]=res;
}
int main()
{
lli i,j,k,m,t,e,ans;
cin>>n>>tim;
for(i=0;i<n;i++)
{
cin>>dura[i]>>t;
for(j=0;j<t;j++)
{
cin>>e;
st_time[i].push_back(e);
}
}
memset(dp,-1,sizeof(dp));
ans=solve(0,0,0,0);
if(ans>=1e18)
cout<<-1<<"\n";
else
cout<<ans<<"\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsaTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKbGxpIGRwWzIwXVsoMUxMPDwyMCkrMV07CmxsaSBuLHRpbTsKbGxpIGR1cmFbMjBdOwp2ZWN0b3I8bGxpPnN0X3RpbWVbMjBdOwoKCmxsaSBzb2x2ZShsbGkgaWR4LGxsaSBtYXNrLGxsaSBlbixsbGkgY250KQp7CiAgIGlmKGVuPj10aW0pCiAgIHsKICAgICAgcmV0dXJuIDA7CiAgIH0KCiAgIGlmKGRwW2lkeF1bbWFza10hPS0xKQogICB7CiAgICAgIHJldHVybiBkcFtpZHhdW21hc2tdOwogICB9CgogICBsbGkgcmVzPTFlMTgsdmFsLHN0LGksdGVtcCx0ZW1wMTsKCiAgIGZvcihpPTA7aTxuO2krKykKICAgewogICAgICBpZihtYXNrICYgKDFMTDw8aSkpCiAgICAgIHsKICAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIHZhbD11cHBlcl9ib3VuZChzdF90aW1lW2ldLmJlZ2luKCksc3RfdGltZVtpXS5lbmQoKSxlbiktc3RfdGltZVtpXS5iZWdpbigpOwogICAgICB2YWwtLTsKCiAgICAgIGlmKHZhbDwwKQogICAgICB7CiAgICAgICAgIGNvbnRpbnVlOwogICAgICB9CgogICAgICB0ZW1wPWVuOwogICAgICBzdD1zdF90aW1lW2ldW3ZhbF07CiAgICAgIHRlbXAxPXN0K2R1cmFbaV07CgogICAgICBpZih0ZW1wMTw9dGVtcCkKICAgICAgewogICAgICAgICBjb250aW51ZTsKICAgICAgfQoKICAgICAgcmVzPW1pbihyZXMsMStzb2x2ZShpLG1hc2sgfCAoMUxMPDxpKSx0ZW1wMSxjbnQrMSkpOwogICB9CgogICByZXR1cm4gZHBbaWR4XVttYXNrXT1yZXM7Cn0KCmludCBtYWluKCkKewogICBsbGkgaSxqLGssbSx0LGUsYW5zOwoKICAgY2luPj5uPj50aW07CgogICBmb3IoaT0wO2k8bjtpKyspCiAgIHsKICAgICAgY2luPj5kdXJhW2ldPj50OwoKICAgICAgZm9yKGo9MDtqPHQ7aisrKQogICAgICB7CiAgICAgICAgIGNpbj4+ZTsKICAgICAgICAgc3RfdGltZVtpXS5wdXNoX2JhY2soZSk7CiAgICAgIH0KICAgfQoKICAgbWVtc2V0KGRwLC0xLHNpemVvZihkcCkpOwoKICAgYW5zPXNvbHZlKDAsMCwwLDApOwoKICAgaWYoYW5zPj0xZTE4KQogICBjb3V0PDwtMTw8IlxuIjsKICAgZWxzZQogICBjb3V0PDxhbnM8PCJcbiI7Cn0=