#include <bits/stdc++.h>
using namespace std;
const double eps=1e-9;
typedef vector<int> vi;
typedef long long ll;
typedef pair<int,int> pii;
int n;
int main(void)
{
  while(cin >> n && n)
    {
      set<int> st;
      st.clear();
      vector<pii> scores(10005);
      for(int i=0;i<=10000;i++)
	{
	  scores[i]=(pii(0,i));
	}
      vector<pair<int,int> > bowling[10005];
      for(int i=0;i<n;i++)
	{
	  //cout << "ID"<< endl;
	  int id;
	  cin >> id;
	  st.insert(id);
	  for(int j=0;j<10;j++)
	    {
	      
	      int fi=0,se=0,th=0;
	      cin >> fi;
	      if(j!=9 && fi==10) se=0;
	      else
		{
		  cin >> se;
		}
	      if(j==9 && ((fi==10) || (fi+se)==10))
		{
		  cin >> th;
		}
	      if(j!=9) bowling[id].push_back(pii(fi,se));
	      else 
		{
		  bowling[id].push_back(pii(fi,se));
		  scores[id].first+=(fi+se+th);
		}
	    }
	  for(int j=0;j<9;j++)
	    {
	      if(j!=8)
		{
		  int one=bowling[id][j].first;
		  int two=bowling[id][j].second;
		  int nxone=bowling[id][j+1].first;
		  int nxtwo=bowling[id][j+1].second;
		  int nxxone=bowling[id][j+2].first;
		  if(one+two<10)
		    {
		      scores[id].first+=(one+two);
		    }
		  else if(one!=10 && one+two==10)
		    {
		      scores[id].first+=(10+nxone);
		    }
		  else if(one==10)
		    {
		      if(nxone!=10)
			{
			  scores[id].first+=(10+nxone+nxtwo);
			}
		      else if(nxone==10)
			{
			  if(j<=8)
			    {
			      scores[id].first+=(10+nxone+nxxone);
			    }
			}
		    }
		}
	      else if(j==8)
		{
		  int one=bowling[id][j].first;
		  int two=bowling[id][j].second;
		  int nxone=bowling[id][j+1].first;
		  int nxtwo=bowling[id][j+1].second;
		  if(one+two<10)
		    {
		      scores[id].first+=(one+two);
		    }
		  else if(one!=10 && one+two==10)
		    {
		      scores[id].first+=(10+nxone);
		    }
		  else if(one==10)
		    {
		      if(nxone!=10)
			{
			  scores[id].first+=(10+nxone+nxtwo);
			}
		      else if(nxone==10)
			{
			  scores[id].first+=(10+nxone+nxtwo);
			}
		    }
		}
	      //cout << "Now ID score " << scores[i].second << ' ' << scores[id].first << endl;
	    }
	}
      sort(scores.begin(),scores.end(),greater<pair<int,int> > ());
      int cnt=0;
      for(int i=0;i<=10000;i++)
	{
	  if(cnt==n) break;
	  auto it=st.find(scores[i].second);
	  if(it!=st.end())
	    {
	      cnt++;
	      cout << scores[i].second << ' ' << scores[i].first << endl;
	    }
	}
    }
  return 0;
}

