#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long
#define MAX int(100000+5)
ll a[MAX];
ll n, m, L, k;
bool check(ll x)
{
ll sum = 0, pos = 0;
for (int i = 2; i <= n; i++)
{
if (a[i] - pos > x)
{
const ll ans = a[i] - pos;
if (ans / x * x == ans) sum += ans / x - 1;
else sum += ans / x;
}
pos = a[i];
}
return sum <= k;
}
int main(void)
{
cin >> L >> n >> k;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
} a[++n] = L;
ll l = 0, r = L + 1;
while (l < r)
{
ll mid = (l + r) / 2;
if (check(mid)) r = mid;
else l = mid + 1;
}
cout << l;
return 0;
}