#include<iostream>


using namespace std;
int n,i,j,l[1001],niz[1001][1001],maxL=0,poz,poc[1001]={0};

int main()
    {
    int min;
    long long int max[1001]={0};
    cin>>n;
    for (i=0;i<n;i++)
        {
        cin>>l[i];
        maxL=maxL+l[i];
        
        for (j=0;j<l[i];j++)
            {
            cin>>niz[i][j];
            max[i]=max[i]+niz[i][j];
        }
    }
    while (maxL>0)
        {
        min=1000000001;
        for (i=0;i<n;i++)
            {
            //cout<<niz[i][poc[i]]<<endl;
             if (niz[i][poc[i]] == min)
                {
                //cout<<max[i]<<endl;
                if (max[i]<max[poz])
                    {
                    min=niz[i][poc[i]];
                    poz=i;
                }
                
                } 
            if ((niz[i][poc[i]]<min) && niz[i][poc[i]] != 0)
                {
                min=niz[i][poc[i]];
                poz=i;
            }
             
            //cout<<"min: "<<min<<endl;
            //cout<<"niz: "<<niz[i][poc[i]]<<endl;
            }
        cout<<min<<" ";
        max[poz]=max[poz]-min;
        maxL--;
        poc[poz]++;
        }   
            
            
    //system("pause");
    return 0;
    }
    
