#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 100;
const long long mod = 998244353ll;
vector<int> vec[maxn];
int num[maxn];
inline long long mul(long long x, long long y) { return x * y % mod; }
long long Quick_pow(long long a, int n) {
  a %= mod;
  long long ans = 1;
  while (n) {
    if (n & 1) ans = mul(ans, a);
    n >>= 1;
    a = mul(a, a);
  }
  return ans;
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    int k;
    scanf("%d", &k);
    for (int j = 0; j < k; j++) {
      int x;
      scanf("%d", &x);
      num[x]++;
      vec[i].push_back(x);
    }
  }
  long long ans = 0;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < vec[i].size(); j++) {
      ans = (ans + mul(Quick_pow((long long)n * vec[i].size() * n, mod - 2),
                       num[vec[i][j]])) %
            mod;
    }
  }
  printf("%I64d\n", ans);
  return 0;
}
