#include <bits/stdc++.h>
using namespace std;
template <class T, class L>
bool smax(T &x, L y) {
  return x < y ? (x = y, 1) : 0;
}
template <class T, class L>
bool smin(T &x, L y) {
  return x > y ? (x = y, 1) : 0;
}
const int maxn = 1e2 + 17;
int n;
vector<int> a;
int main() {
  ios::sync_with_stdio(0), cin.tie(0);
  cin >> n;
  vector<int> bisahab;
  int x = 0, y = 0;
  for (int i = 0; i < n; i++) {
    int k;
    cin >> k;
    a.resize(k);
    for (auto &x : a) cin >> x;
    for (int i = 0; i < k / 2; i++) x += a[i];
    for (int i = k / 2 + k % 2; i < k; i++) y += a[i];
    if (k & 1) bisahab.push_back(a[k / 2]);
  }
  sort(bisahab.begin(), bisahab.end(), greater<int>());
  for (int i = 0; i < bisahab.size(); i++)
    if (i & 1)
      y += bisahab[i];
    else
      x += bisahab[i];
  cout << x << ' ' << y << '\n';
  return 0;
}
