#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")