const Nmax = 10000010;
var a, b:longint; // вместимость автобуса и маршрутки
    n, k:longint; // Номер Игоря и количество привередлевых пассажиров
    p:array[1..Nmax] of longint; // номера привередлевых пассажиров
    p_i:longint;
    kp:longint; // привередливые пассажиры, чья очередь прошла
    kp_i:longint;
    count:longint; //количество транспортных средств
    cur:longint; // номер текущего пассажира
    vid:longint; // вид транспорта
    n_ab:longint; // вместимость текущего транспорта
    is_new:longint; // транспорт новый
    i, j, tmp:longint;
begin
readln(a);
readln(b);
readln(n);
readln(k);
for i := 1 to k do
  readln(p[i]);
count := 0;
p_i := 1;
kp_i := 0;
cur := 0;
vid := 1;
for i := 1 to n do
begin
    if vid = 1 then n_ab := a
    else n_ab := b;
    if i <> p[p_i] then
    begin
      cur := cur + 1;
      if cur = n_ab then
      begin
        count := count + 1;
        cur := 0;
        vid := 3 - vid;
        if vid = 1 then n_ab := a
        else n_ab := b;
        while (kp > 0) and (cur < n_ab div 2) do
        begin
          cur := cur + 1;
          kp := kp - 1;
        end;
      end;
    end
    else
    begin
      if (kp = 0) and (cur < n_ab div 2) then
      begin
        cur := cur + 1;
        if cur = n_ab then
        begin
          count := count + 1;
          cur := 0;
          vid := 3 - vid;
          if vid = 1 then n_ab := a
          else n_ab := b;
        end;
      end
      else
        kp := kp + 1;
      p_i := p_i + 1;
    end;
end;
if (cur > 0) and (cur < n_ab) then
  count := count + 1;
writeln(count);
end.