베시는 영화관에 있다. 농부 존을 피해 시각 0부터 시각 L까지 L분 내내 숨어 있으려고 하며, 그러려면 그 구간의 모든 순간에 어떤 상영 안에 있어야 한다.
영화관은 영화 N편을 상영한다. i번째 영화의 상영 시간은 Di분이고, 상영 시작 시각 목록이 정해져 있다. 시각 s에 시작하는 i번째 영화의 상영은 s부터 s+Di까지 이어진다. 베시는 늦게 들어가도 되고 먼저 나와도 되므로, 그 상영은 s와 s+Di 사이의 어느 순간이든 베시를 숨겨 준다.
베시는 같은 영화를 두 번 보지 않는다. 또 지금 보고 있는 상영과 겹치는, 같은 영화의 다른 상영으로 옮겨 갈 수 없다. 영화를 너무 많이 보면 줄거리가 헷갈리므로 보는 영화 수를 최소로 하려고 한다.
베시가 시각 0부터 시각 L까지 계속 상영 안에 있을 수 있는지 판정하고, 가능하면 그렇게 하는 데 필요한 영화의 최소 개수를 구하라.
첫째 줄에 N과 L이 주어진다.
다음 N개 줄에는 영화 한 편의 정보가 주어진다. 각 줄은 상영 시간 D와 상영 횟수 C로 시작하고, 그 뒤에 정수 C개가 이어진다. 이 정수는 그 영화의 상영 시작 시각이며, 서로 다르고, 0 이상 L 이하이고, 증가하는 순서로 주어진다.
1≤N≤20, 1≤L≤108, 1≤D≤L, 1≤C≤1000.
시각 0부터 시각 L까지 계속 상영 안에 있기 위해 베시가 보아야 하는 영화의 최소 개수를 출력한다. 어떻게 골라도 불가능하면 −1을 출력한다.
첫 번째 예제에서 베시는 시각 0부터 20까지 네 번째 영화의 첫 상영을 보고, 시각 20부터 65까지 첫 번째 영화의 첫 상영을 보고, 시각 65부터 100까지 두 번째 영화의 마지막 상영을 본다.