var n,k,i,j,jmax,vmax,lmax:integer;
a,l,v:array[1..1000] of integer;
begin
readln(n,k);
for i:=1 to n do
begin
read(a[i]);
v[i]:=a[i];
end;
fillchar(l,sizeof(l),0);
l[1]:=1;
l[jmax]:=1;
vmax:=0;
for i:=1 to n do
begin
jmax:=n+1;
for j:=i-1 downto 1 do
begin
if (l[i]<=l[j]) and (v[j] mod k=0) then jmax:=j;
v[i]:=a[i]+v[jmax];
l[i]:=l[jmax]+1;
end;
if vmax<v[i] then vmax:=v[i];
end;
write(vmax);
end.
dmFyIG4sayxpLGosam1heCx2bWF4LGxtYXg6aW50ZWdlcjsKICAgIGEsbCx2OmFycmF5WzEuLjEwMDBdIG9mIGludGVnZXI7CmJlZ2luCglyZWFkbG4obixrKTsKCWZvciBpOj0xIHRvIG4gZG8KCWJlZ2luCgkJcmVhZChhW2ldKTsKCQl2W2ldOj1hW2ldOwoJZW5kOwoJCglmaWxsY2hhcihsLHNpemVvZihsKSwwKTsKCWxbMV06PTE7CglsW2ptYXhdOj0xOwoJCgl2bWF4Oj0wOwoJZm9yIGk6PTEgdG8gbiBkbwoJYmVnaW4KCQlqbWF4Oj1uKzE7CgkJZm9yIGo6PWktMSBkb3dudG8gMSBkbwoJCWJlZ2luCgkJCWlmIChsW2ldPD1sW2pdKSBhbmQgKHZbal0gbW9kIGs9MCkgdGhlbiBqbWF4Oj1qOwoJCQl2W2ldOj1hW2ldK3Zbam1heF07CgkJCWxbaV06PWxbam1heF0rMTsKCQllbmQ7CgkJaWYgdm1heDx2W2ldIHRoZW4gdm1heDo9dltpXTsKCWVuZDsKCQoJd3JpdGUodm1heCk7CmVuZC4=