#include <bits/stdc++.h>
using namespace std;
vector<int> p[1000006];
int cnt[1000006];
int pow(int x, int p) {
  if (p == 0) return 1;
  if (p == 1) return x;
  int ret = pow(x, p / 2);
  ret = 1ll * ret * ret % 998244353;
  if (p & 1) ret = 1ll * ret * x % 998244353;
  return ret;
}
int main(void) {
  memset(cnt, 0, sizeof(cnt));
  int ans = 0;
  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);
      p[i].push_back(x);
      cnt[x]++;
    }
  }
  int inv_n = pow(n, 998244353 - 2);
  for (int i = 0; i < 1000006; i++) {
    int k = p[i].size();
    int inv_k = pow(k, 998244353 - 2);
    for (auto x : p[i]) {
      ans += 1ll * inv_n * inv_k % 998244353 * inv_n % 998244353 * cnt[x] %
             998244353;
      ans %= 998244353;
    }
  }
  printf("%d\n", ans);
  return 0;
}
