#include using namespace std; long long inf = 1001001001001001001; int main() { int N,K; cin >> N >> K; vectorA(N); vector>B(N); vectordp(N+1,-inf); dp[N] = 0; for(int i = 0; i < N; i++) { cin >> A[i]; int M; cin >> M; dp[i] = max(dp[i],dp[N]-A[i]); B[i].resize(M); for(int j = 0; j < M; j++) { cin >> B[i][j]; B[i][j]--; dp[i] = max(dp[i],dp[B[i][j]]); } dp[N] = max(dp[N],dp[i]+A[i]); } cout << dp[N] << endl; }