#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
const int N = 1000010;
long long gcdx(long long a, long long b, long long& x, long long& y) {
  if (a == 0) {
    x = 0;
    y = 1;
    return b;
  }
  long long x1, y1;
  long long d = gcdx(b % a, a, x1, y1);
  x = y1 - (b / a) * x1;
  y = x1;
  return d;
}
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
long long inv(long long p) {
  long long x, y;
  long long m = MOD;
  gcdx(p, m, x, y);
  return (x % m + m) % m;
}
long long k[N];
vector<long long> ar[N];
int cnt[N];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  long long ans = 0;
  for (int i = 0; i < n; i++) {
    cin >> k[i];
    for (int j = 0; j < k[i]; j++) {
      long long t;
      cin >> t;
      cnt[t]++;
      ar[i].push_back(t);
    }
  }
  for (int i = 0; i < n; i++) {
    long long a = 0;
    long long b = n * k[i] * n;
    for (int j = 0; j < k[i]; j++) {
      a = a + cnt[ar[i][j]];
    }
    ans = (ans + a * inv(b)) % MOD;
  }
  cout << ans;
  return 0;
}
