#include<iostream>
using namespace std;
typedef long long ll;
#define scanf_s scanf;
ll L;
int N, K;
int nn[10001000], kk[100010];
bool check(int x)
{
int sum = 0, num = 0,max=0;
for (int i = 0; i < L; i++)
{
if (nn[i] == 0)sum++;
else sum = 0;
if (sum > x)
{
nn[i] = 1;
sum = 0;
num++;
}
}
return num >= K;
}
int main()
{
cin >> L >> N >> K;
ll l=0, r=L,mid;
for (int i = 0; i < N; i++)
{
cin >> kk[i];
}
for (int i = 0; i < N; i++)
{
nn[kk[i]] = 1;
}
while (l <= r)
{
mid = l + r >> 1;
if (check(mid))l = mid + 1;
else r = mid - 1;
}
cout << l << endl;
return 0;
}