#include <iostream>
#include <string>
#include <cstdio>

using namespace std;

int n,m,k,l,a[101],g[101];

int f()
{
	for (int i = 0;;++i)
	{
		bool ok = 1;
		for (int j = i; j < i+k; ++j)
			if (g[j]>0 && a[j-i]) ok = 0;
		if (ok) return i;
	}
}

void solve()
{	
	int z[11];
	memset(z,0,sizeof(z));
	int ans = 0;
	for (int i = 0; i < m; ++i)
	{
		int p = f();
		for (int j = 0; j < k; ++j)
			if (a[j]) g[p+j] = 1;
		z[i] = p+k;
	}
/*	for (int i = 0; i < z[m-1]; ++i)
		cout << i << ' ' << g[i] << endl;*/
	ans = (n/m)*z[m-1] + z[n%m-1];
	cout << ans << endl;
}

void brute()
{
	int ans = 0;
	for (int i = 0; i < n; ++i)
	{
		
	}
}

int main()
{
	freopen("B.in","r",stdin);
	freopen("B.out","w",stdout);
	scanf("%d%d%d", &n, &m, &k);
	scanf("%d",&l);
	int t;
	for (int i = 0; i < l; ++i)
		scanf("%d", &t), --t, a[t] = 1;
	solve();
	return 0;
}
