1 Uses math; 2 Var n,m,i,t,tt,x,cost,ans,tmp:qword; 3 Function min(x,y:qword):qword; 4 Begin 5 if x>y then exit(y); 6 exit(x); 7 end; 8 Begin 9 readln(n,m); 10 while (n<> 0) do 11 Begin 12 dec(n); 13 readln(t,tt,x,cost); 14 if (tt<=t) then 15 begin 16 ans:=ans+cost; 17 continue; 18 end; 19 if (m mod (tt-t)= 0) then tmp:=cost*trunc((m/(tt-t))) 20 else tmp:=cost*trunc((m/(tt-t)+ 1)); 21 ans:=ans+min(m*x+cost,tmp); 22 end; 23 writeln(ans); 24 end.