import copy n,m=map(int,input().split()) a=list(map(int,input().split())) a.sort(reverse=True) dp1=[-1]*(m+2) dp1[0]=0 dp2=[-1]*(m+2) dp2[0]=0 dp2[min(m+1,a[0]-a[1])]=a[0] for i in range(1,n-1): dp3=[-1]*(m+2) for j in range(m+1): if dp1[j]!=-1: dp3[min(m+1,a[i]-a[i+1])]=max(dp3[min(m+1,a[i]-a[i+1])],a[i]+dp1[j]) dp1=copy.copy(dp2) for j in range(m+1): dp2[j]=max(dp2[j],dp3[j]) print(max(dp2[:m]))