#include<iostream>
#include<map>
using namespace std;
long long l, n, m1;
long long s[50010];
long long d[50010];
long long p[50010];
multimap<long long, long long>m;
int main()
{
cin >> l >> n >> m1;
for(int i=1;i<=n;i++)
{
scanf_s("%d", &s[i]);
d[i] = s[i]-s[i-1];
m.insert(make_pair(d[i], i));
p[i] = d[i];
}
d[n + 1] = l - s[n];
p[n + 1] = d[n + 1];
m.insert(make_pair(d[n + 1], n + 1));
while (m1--)
{
map<long long, long long>::iterator it = m.begin();
while (it->first!= p[it->second])
it++;
long long b = it->second;
p[it->second] = 0;
while (!p[b])
b++;
d[b] += d[it->second];
p[b] = d[b];
m.insert(make_pair(d[b], b));
}
map<long long, long long>::iterator it = m.begin();
while (it->first != p[it->second])
it++;
cout << it->first << endl;
}