/*
ID: ScriptCoder
PROG: barn1
LANG: C++
*/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
	int M,S,C,ans;
	cin>>M>>S>>C;
	
	vector<int> barns(S);
	for(int i=0; i<C; ++i) {
		int temp;
		cin>>temp;
		barns[temp-1]=1;
	}
	
	vector<int> v;
	int cur=barns[0], num=1, min=S, max=-1;
	for(int i=1; i<S; ++i) {
		if(barns[i]!=cur) {
			if(cur==0) {
				v.push_back(num);
				cur=1;
				num=1;
			} else {
				cur=0;
				num=1;
			}
		} else {
			++num;
		}
		if(barns[i]==1) {
			min= (i<min ? i : min);
			max= (i>max ? i : max);
		}
	}
	
	sort(v.begin(), v.end());
	ans=max-min+1;
	for(int i=M-1, j=v.size()-1; i>0 && j>=0; --i, --j) {
		ans-=v[j];
	}
	cout<<ans<<'\n';
}