NK = input()
N = int(NK.split(" ")[0])
K = int(NK.split(" ")[1])
pocetni_niz = input().split(" ")
niz = list(map(int, pocetni_niz))
niz.sort()
if N == 3:
    if K == 2:
        print(0)
    else:
        bezPrvog = max([niz[1], niz[2]]) ** 2 - min([niz[1], niz[2]]) ** 2
        bezDrugog = max([niz[0], niz[2]]) ** 2 - min([niz[0], niz[2]]) ** 2
        bezTreceg = max([niz[1], niz[0]]) ** 2 - min([niz[1], niz[0]]) ** 2
        print(min([bezPrvog, bezDrugog, bezTreceg]))
elif K == 1:
    bezPrvogBroja = niz[-1] ** 2 - niz[1] ** 2
    bezPoslednjegbroja = niz[-2] ** 2 - niz[0] ** 2
    print(min([bezPrvogBroja, bezPoslednjegbroja]))
elif set(niz) == {1, 2} or set(niz) == {2, 1}:
    if niz.count(1) >= K or niz.count(2) >= K:
        print(0)
    else:
        print(3)
elif N-K == 1:
    print(0)
else:
    strana = True
    for _ in range(int(K)):
        if strana:
            niz = niz[:-1]
            strana = False
        else:
            niz = niz[1:]
            strana = True
    moc_niza = max(niz) ** 2 - min(niz) ** 2
    print(moc_niza)