
#include <bits/stdc++.h>
using namespace std;    
int k, n, m;
int a[50010];
bool check(int mid)
{
    int ans = 0, s = 0;
    for (int i = 1; i <= n; i++)
    {
        if (a[i] - s < mid)
        {
             ans = ans + 1;           
        }
        else
        {
            s = a[i];            
        }
    }
    return ans <= m;
}
int main()
{
    cin >> k >> n >> m;
    for (int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    int l = 0, r = k;
    while (l < r)
    {
        int mid = (l + r) >> 1;
        if (check(mid))
        {
            l = mid + 1;            
        }
        else
        {
            r = mid - 1;            
        }
    }
    if (!check(l))
    {
        l -= 1;        
    }
    cout << l;
    return 0;
}