#include <bits/stdc++.h>
void swap(int* a, int* b);
void ordena(int n, int v[n]);
int main() {
  int n, i, s, k, c = 0, pos, ceil = 0, jiro = 0, p, cant = 0;
  int vecs[100];
  scanf("%d", &n);
  int sobra[n];
  for (p = 0; p < n; p++) sobra[p] = 0;
  for (i = 0; i < n; i++) {
    scanf("%d", &s);
    for (k = 0; k < s; k++) {
      scanf("%d", &vecs[k]);
    }
    if (s % 2 == 0) {
      for (p = 0; p < s / 2; p++) ceil += vecs[p];
      for (p = s / 2; p < s; p++) jiro += vecs[p];
    } else {
      for (p = 0; p < s / 2; p++) ceil += vecs[p];
      for (p = s / 2 + 1; p < s; p++) jiro += vecs[p];
      sobra[c] = vecs[s / 2];
      c++;
    }
    for (p = 0; p < s; p++) vecs[p] = 0;
  }
  ordena(n, sobra);
  for (i = 0; i < c; i++) {
    if (i % 2 == 0)
      ceil += sobra[i];
    else
      jiro += sobra[i];
  }
  printf("%d %d", ceil, jiro);
  return 0;
}
void ordena(int n, int v[n]) {
  int i, j;
  for (i = 0; i < n - 1; i++) {
    for (j = 0; j < n - 1 - i; j++) {
      if (v[j] < v[j + 1]) swap(&v[j], &v[j + 1]);
    }
  }
}
void swap(int* a, int* b) {
  int f;
  f = *a;
  *a = *b;
  *b = f;
}
