#include <bits/stdc++.h>
using namespace std;
short int dp[1101][1101][101];
short int z[4][1101];
short int n, p, k;
short int sol;
void sugg(short int& a, short int b) {
  a = max(a, b);
  sol = max(sol, a);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  cerr.tie(nullptr);
  cin >> n >> p >> k;
  for (short int i = 0; i < 2; i++) {
    short int a;
    cin >> a;
    while (a--) {
      short int x;
      cin >> x;
      z[i][x] = 1;
    }
  }
  {
    for (short int i = 1; i <= n + k + k; i++) {
      if (z[0][i] - z[1][i] == 1) {
        z[2][i] = 1;
      }
      if (z[0][i] - z[1][i] == -1) {
        z[3][i] = 1;
      }
    }
    for (short int i = 1; i <= n + k + k; i++) {
      for (short int j = 0; j < 4; j++) {
        z[j][i] += z[j][i - 1];
      }
    }
  }
  for (short int q = 0; q < p; q++) {
    for (short int x = 0; x <= n + k; x++) {
      short int ly = max(x - k, 0);
      short int uy = min<short int>(x + k, n + k);
      for (short int y = ly; y <= uy; y++) {
        short int offerer = dp[q][x][y - x + k];
        sugg(dp[q + 1][x][y - x + k], offerer);
        if (y - x + k - 1 >= 0) {
          sugg(dp[q][x + 1][y - x + k - 1], offerer);
        } else {
        }
        if (y - x + k + 1 <= k + k) {
          sugg(dp[q][x][y - x + k + 1], offerer);
        } else {
        }
        if (x <= y) {
          short int dod = z[0][x + k] - z[0][y];
          dod += z[2][y] - z[2][x];
          sugg(dp[q + 1][x + k][y - x], offerer + dod);
          dod = z[1][y + k] - z[1][y];
          sugg(dp[q + 1][y][2 * k], offerer + dod);
        }
        if (y <= x) {
          short int dod = z[1][y + k] - z[1][x];
          dod += z[3][x] - z[3][y];
          sugg(dp[q + 1][x][y - x + k + k], offerer + dod);
          dod = z[0][x + k] - z[0][x];
          sugg(dp[q + 1][x + k][0], offerer + dod);
        }
      }
    }
  }
  {
    cerr << z[0][26] + z[3][26] << '\n';
    short int x = 52;
    short int y = 52;
    short int q = 4;
    cerr << dp[q][x][y - x + k] << '\n';
  }
  cout << sol;
}
