#include <iostream>
using namespace std;
struct score{
    int first,second,last;
};
struct status{
    score turn[11];
    int point;
    int id;
};

status flame[41];
int m;

void INPUT(int i);
void RESULT(int i);
int strike(int i,int t);
int spair(int i,int t);

int main(void){
    cin>>m;
    while(m!=0){
        for(int i=1;i<=m;i++){
            INPUT(i);
            RESULT(i);
        }
        status sub;
        for(int i=1;i<m;i++){
            for(int j=i+1;j<=m;j++){
                if(flame[i].point<flame[j].point||(flame[i].point==flame[j].point&&flame[i].id>flame[j].id)){
                    sub=flame[i];
                    flame[i]=flame[j];
                    flame[j]=sub;
                }
            }
        }
        for(int i=1;i<=m;i++){
            cout<<flame[i].id<<' '<<flame[i].point<<endl;
        }
        cin>>m;
    }
}

void INPUT(int i){
    cin>>flame[i].id;
    for(int j=1;j<=10;j++){
        flame[i].turn[j].first=0;
        flame[i].turn[j].second=0;
        flame[i].turn[j].last=0;
        if(j!=10){    
            cin>>flame[i].turn[j].first;
            if(flame[i].turn[j].first!=10){cin>>flame[i].turn[j].second;}
        }
        else{
            cin>>flame[i].turn[j].first;
            cin>>flame[i].turn[j].second;
            if(flame[i].turn[j].first+flame[i].turn[j].second>=10){
                cin>>flame[i].turn[j].last;
            }
        }
    }
}

void RESULT(int i){
    int p;
    p=0;
    for(int j=1;j<=10;j++){
        if(j!=10){
            if(flame[i].turn[j].first==10){
                p+=strike(i,j);
            }
            else if(flame[i].turn[j].first+flame[i].turn[j].second==10){
                p+=spair(i,j);
            }
            else{
                p+=flame[i].turn[j].first+flame[i].turn[j].second;
            }
        }
        else{
            p+=flame[i].turn[j].first+flame[i].turn[j].second+flame[i].turn[j].last;
        }
    }
    flame[i].point=p;
}

int spair(int i,int t){
    int p;
    p=10+flame[i].turn[t+1].first;
    return p;
}

int strike(int i,int t){
    int p;
    p=10;
    p+=flame[i].turn[t+1].first;
    if(flame[i].turn[t+1].first!=10||t==9){
        p+=flame[i].turn[t+1].second;
    }
    else{
        p+=flame[i].turn[t+2].first;
    }
    return p;
}
