#include<bits/stdc++.h>
using namespace std;
int l,n,m,a[100005],ans;
bool check(int d){
int x=0;
for(int i=2;i<=n;i++)x+=ceil(double(a[i]-a[i-1])/m)-1;
return x<=m;
}
int main(){
cin>>l>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int L=0,R=l;L<=R;){
int mid=(L+R)>>1;
if(check(mid))ans=mid,R=mid-1;
else L=mid+1;
}
cout<<ans;
}