#include <bits/stdc++.h>
using namespace std;
int res = 0;
int pai[100005];
int filho[10005];
int dfsPai(int atual) {
  if (pai[atual] != atual + 1) return atual;
  return dfsPai(atual + 1);
}
int dfsQuemPai(int atual) {
  if (pai[atual] == -1) return atual;
  return dfsQuemPai(pai[atual]);
}
void tiraFilho(int atual) {
  if (filho[atual] == -1) return;
  res++;
  int fil = filho[atual];
  filho[atual] = -1;
  return tiraFilho(fil);
}
void junta(int a, int b) {
  res++;
  pai[a] = b;
  filho[b] = a;
}
int main() {
  ios::sync_with_stdio(false);
  int n, k;
  cin >> n >> k;
  memset(filho, -1, sizeof(filho));
  memset(pai, -1, sizeof(pai));
  for (int i = 0; i < k; i++) {
    int m;
    cin >> m;
    int ant = -1;
    for (int j = 0; j < m; j++) {
      int a;
      cin >> a;
      filho[a] = ant;
      if (j != 0) pai[ant] = a;
      ant = a;
    }
  }
  int atual = 1;
  do {
    atual = dfsPai(atual);
    int paiAtual = dfsQuemPai(atual + 1);
    tiraFilho(paiAtual);
    junta(atual, atual + 1);
    atual = dfsPai(atual);
  } while (atual < n);
  cout << res << "\n";
  return 0;
}
