#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return true; } return false; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return true; } return false; }
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
#define mp make_pair
#define si(x) int(x.size())
const int mod=1000000007,MAX=200005,INF=1<<30;

int main(){
    
    std::ifstream in("text.txt");
    std::cin.rdbuf(in.rdbuf());
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    int N,K;cin>>N>>K;
    vector<int> cnt(N+1);
    for(int i=0;i<N;i++){
        int a;cin>>a;
        cnt[a]++;
    }
    
    ll ans=0;
    
    for(int t=0;t<K;t++){
        for(int i=0;i<=N;i++){
            if(cnt[i]==0){
                ans+=i;
                break;
            }else{
                cnt[i]--;
            }
        }
    }
    
    cout<<ans<<endl;
}

#include<iostream>
#include<map>
using namespace std;
typedef long long li;
#define rep(i,n) for(int i=0;i<(n);i++)
#define df 0
template<class T> void print(const T& t){ cout << t << "\n"; }
template<class T, class... Ts> void print(const T& t, const Ts&... ts) { cout << t; if (sizeof...(ts)) cout << " "; print(ts...); }

int main(){
  int n,k; cin >>n >>k;
  map<li,int> cnt;
  rep(i,n){
    li a; cin >>a;
    cnt[a]++;
  }
  li s=0;
  int i=0,a=k;
  while(1){
    int c=cnt[i];
    if(df)print(c);
    if(a>c){
      s+=(a-c)*i;
      if(df)print(a-c,i);
      a=c; if(a==0) break;
    }
    i++;
  }
  print(s);
}
