#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
#define maxn 1010
using namespace std;
typedef struct Stu{
string no;
// int num;
int sco;
}S;
S stu[maxn];
bool cmp(S s1,S s2)
{
if(s1.sco!=s2.sco)return s1.sco>s2.sco;
return s1.no<s2.no;
}
int main() {
int N,M,G;
while(cin>>N)
{
if(N==0)break;
cin>>M>>G;
int sc[15],cnt=0;
for(int i=1;i<=M;i++)cin>>sc[i];
for(int i=0;i<N;i++)
{
int num,sco=0;
cin>>stu[i].no>>num;
for(int i=1;i<=num;i++)
{
int n;
cin>>n;
sco += sc[n];
}
if(sco>=G)cnt++;
stu[i].sco = sco;
}
sort(stu,stu+N,cmp);
cout<<cnt<<endl;
for(int i=0;i<cnt;i++)
{
cout<<stu[i].no<<" "<<stu[i].sco<<endl;
}
}
}
// 64 位输出请用 printf("%lld")