program ontherun(fin,output); type pippo=record period:integer; list:array[0..29] of integer; end; var adj:array[1..20,1..20] of pippo; var costs:array[1..1000,1..20] of integer; var z,v,u,t,s,count,k,n,best:integer; var fin:text; begin reset(fin,'ontherun.in'); readln(fin,n,k); count:=0; while n>0 do begin for z:=1 to n do begin adj[z,z].period:=1; adj[z,z].list[0]:=0; for v:=1 to n do begin if z<>v then begin read(fin,adj[z,v].period); for u:=0 to adj[z,v].period-1 do read(fin,adj[z,v].list[u]); readln(fin) ; end; {if} {readln(fin);} end; end; for z:=1 to n do costs[k,z]:=adj[z,n].list[(k-1) mod adj[z,n].period]; for t:=k-1 downto 1 do begin for v:=1 to n do begin best:=0; for z:=1 to n do begin if (costs[t+1,z]>0) and (adj[v,z].list[(t-1) mod adj[v,z].period]>0) and (((costs[t+1,z]+ adj[v,z].list[(t-1) mod adj[v,z].period])