func_code_string: #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;   }   