#include<bits/stdc++.h>
using namespace std;
int check(int len,vector<int> &v){
int ans = 1;
int prev = v[0];
for(int i=1;i<v.size();i++){
if(v[i] - prev + 1> len){
ans++;
prev = v[i];
}
}
return ans;
}
int main(){
int n,m,k;
cin>>n>>m>>k;
vector<int> v(n);
for(int i=0;i<n;i++){
cin>>v[i];
}
int s = 1;
int e = m;
int ans = -1;
while(s <= e){
int mid = s + (e - s)/2;
if(check(mid,v) <= k){
ans = mid;
e = mid - 1;
}
else{
s = mid + 1;
}
}
int len = ans;
int prev = v[0];
long long res = 0ll;
for(int i=0;i<n;i++){
if(v[i] - prev + 1 > ans){
res += (long long)v[i-1] - prev + 1;
prev = v[i];
}
if(i==n-1){
res+=(long long)v[i] - prev + 1;
}
}
cout<<res<<endl;
return 0;
}