#include<iostream>
#include<cmath>
using namespace std;
#define N 1001
#define M 1001
int tree[N],list[N];
bool drop[N];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
int m;
cin>>m;
int tmp[m];
cin>>tree[i];
int init=tree[i];
for(int j=1;j<m;j++){
cin>>tmp[j];
if(tmp[j]<=0){
init-=abs(tmp[j]);
}else{
init=tmp[j];
}
}
list[i]=init;
for(int j=m-1;j>=1;j--){
if(tmp[j]<=0) init+=abs(tmp[j]);
}
if(init!=tree[i]) drop[i]=true;
else drop[i]=false;
}
int cnt=0;
for(int i=1;i<=n-2;i++){
if(drop[i]&&drop[i+1]&&drop[i+2]) cnt++;
}
if(drop[n-1]&&drop[n]&&drop[1]) cnt++;
if(drop[n]&&drop[1]&&drop[2]) cnt++;
int T=0,D=0;
for(int i=1;i<=n;i++){
T+=list[i];
if(drop[i]) D++;
}
cout<<T<<" "<<D<<" "<<cnt<<endl;
return 0;
}