import java.io.*;
import java.util.*;

public class Main{
static boolean tabildi=false;
static int obshiyUaqit=0; 
   public static void main(String[] args) throws IOException {
      Scanner in = new Scanner(new FileReader("B.in"));
      PrintWriter out = new PrintWriter(new FileWriter("B.out"),true);
 int  n,nn=in.nextInt();
 int  m,mm=in.nextInt();
 int  k,kk=in.nextInt();
 int  l,ll=in.nextInt();
 int  tt[]=new int[kk];
 int tayakSani=0;
int a[]=new int[1200];
for(int i=0;i<ll;i++) tt[in.nextInt()-1]=1;
 int basi=0,ayagi=kk-1;
 for(int i=0;i<kk;i++) if(tt[i]==1) {basi=i;break;}
for(int i=kk-1;i>=0;i--) if(tt[i]==1){ayagi=i;break;}
k=ayagi-basi+1;
 int  t[]=new int[k];
for(int i=0;i<k;i++) t[i]=tt[basi+i];

int uaqit=0,uaqit1=0;
//iteration1
for(int i=0;i<k;i++) a[i]=t[i];
++uaqit;++tayakSani;
//starting

while(!tabildi){
    boolean ok=false;
    uaqit1=uaqit;
    while(!ok){  
                ok=true;
	for(int i=0;i<k;i++) if(a[uaqit+i]==1 && t[i]==1) {ok=false;++uaqit;break;}
		else if(t[i]==1) a[uaqit+i]=1;
	
    }
    ++tayakSani;
    if((uaqit-uaqit1+1)==k) {tabildi=true;break;}
    if(ok) ++uaqit;
    }
obshiyUaqit+=uaqit;
int chastota=nn/tayakSani;
tayakSani=nn%chastota;
if(tayakSani>0){
    uaqit=0;uaqit1=0;
    for(int i=0;i<k;i++) a[i]=t[i];
    ++uaqit;
}
for(int i=1;i<tayakSani;i++){
     boolean ok=false;
    uaqit1=uaqit;
    while(!ok){  
                ok=true;
	for(int j=0;j<k;j++) if(a[uaqit+j]==1 && t[j]==1) {ok=false;++uaqit;break;}
		else if(t[j]==1) a[uaqit+j]=1;
	
    }
    if((uaqit-uaqit1+1)==k) {tabildi=true;break;}
    if(ok) ++uaqit;
   
} 

out.println(obshiyUaqit+uaqit+basi+(kk-ayagi-1));
	

     }
}