#include <bits/stdc++.h>
using namespace std;
long long Mi[1000005], Mx[1000005], p[100005];
int main() {
  long long n;
  long long ans = 0;
  scanf("%lld", &n);
  for (long long i = 1; i <= n; i++) {
    long long l;
    scanf("%lld", &l);
    long long min1 = 0x3f3f3f3f, max1 = -1;
    int flag = 0;
    for (long long j = 1; j <= l; j++) {
      long long x;
      scanf("%lld", &x);
      if (x > min1 && min1 != 0x3f3f3f3f) flag = 1;
      if (x > max1) max1 = x;
      if (x < min1) min1 = x;
    }
    if (flag) continue;
    Mi[min1]++;
    Mx[max1]++;
  }
  ans = n * n;
  for (int i = 1000002; i >= 0; i--) {
    Mi[i] += Mi[i + 1];
  }
  for (long long i = 0; i < 1000003; i++) {
    ans -= Mx[i] * Mi[i];
  }
  printf("%lld\n", ans);
}
