#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100010;
int n, k, rj;
int koji[MAXN];
vector<int> lanac[MAXN];
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 1; i <= k; i++) {
    int x;
    scanf("%d", &x);
    for (int j = 0; j < x; j++) {
      int y;
      scanf("%d", &y);
      lanac[i].push_back(y);
      koji[y] = i;
    }
  }
  int glavni = koji[1];
  for (int br = 1; br <= n; br++) {
    if (lanac[glavni].size() >= br && lanac[glavni][br - 1] == br) continue;
    int prekid = 0;
    if (lanac[glavni].size() > br - 1)
      while (lanac[glavni].size() > br - 1) {
        int vrh = lanac[glavni][lanac[glavni].size() - 1];
        if (vrh == br && lanac[glavni].size() == br) {
          prekid = 1;
          break;
        }
        lanac[glavni].pop_back();
        koji[vrh] = 0;
        rj++;
      }
    if (prekid) continue;
    int sad = koji[br];
    if (sad == 0) {
      lanac[glavni].push_back(br);
      rj++;
      continue;
    }
    while (lanac[sad].size() > 1) {
      int vrh = lanac[sad][lanac[sad].size() - 1];
      lanac[sad].pop_back();
      koji[vrh] = 0;
      rj++;
      if (vrh == br) continue;
    }
    rj++;
    lanac[glavni].push_back(rj);
  }
  printf("%d\n", rj);
  return 0;
}
