<Problem>
http://ntucoder.net/Problem/Details/2250
Uses Crt,Math;
Var n,k,i,j,kq:longint;
a,b,f:array[-100..10000] of longint;
Begin
readln(n,k);
for i:=1 to n do read(a[i]);
for i:=1 to n do read(b[i]);
f[1]:=b[1];
kq:=-maxlongint;
for i:=2 to n do
begin
f[i]:=b[i];
for j:=1 to i-1 do
begin
if (abs(a[j]-a[i])>=k) then
begin
f[i]:=max(f[i],f[j]+b[i]);
end;
kq:=max(kq,f[i]);
end;
end;
writeln(kq);
readln;
End.