#include <bits/stdc++.h>
using namespace std;
int n, m, d;
int a[(1 << 20) + 5];
int sum[(1 << 20) + 5];
int b[22][100005];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> m >> d;
  for (int i = 0; i < m; i++) {
    int x, y;
    cin >> x;
    for (int j = 1; j <= x; j++) {
      cin >> y;
      b[i][max(1, y - d + 1)]++;
      b[i][y + 1]--;
    }
  }
  for (int j = 0; j < m; j++) {
    int c = 0;
    for (int i = 1; i <= n; i++) {
      c += b[j][i];
      if (c) a[i] += (1 << j);
    }
  }
  int ans = 22;
  for (int i = 1; i <= n - d + 1; i++) sum[a[i]]++;
  for (int j = 0; j < m; j++)
    for (int i = 0; i < (1 << m); i++)
      if ((i & (1 << j))) sum[i] += sum[(i ^ (1 << j))];
  for (int i = 0; i < (1 << m); i++)
    if (sum[i] == 0) ans = min(ans, m - __builtin_popcount(i));
  cout << ans << '\n';
  return 0;
}
