#include <iostream> using namespace std; struct student{ string number; int x; int score=0; }; int main() { int a, b,c; while (cin >> a >> b>>c) { // 注意 while 处理多个 case int question[ b]; for(int i=0;i<b;i++){ cin>>question[i]; } student stu[a]; for(int i=0;i<a;i++){ cin>>stu[i].number>>stu[i].x; for(int j=0;j<stu[i].x;j++){ int y;cin>>y; stu[i].score+=question[y-1]; } } for(int i=0;i<a;i++){ for(int j=0;j<a-i-1;j++) { if(stu[j].score<stu[j+1].score){ swap(stu[j],stu[j+1]); } else if(stu[j].score==stu[j+1].score&&stu[j].number>stu[j+1].number){ swap(stu[j],stu[j+1]); } } }int t=0; for(int i=0;i<a;i++){ if(stu[i].score>=c){ t++; } } cout<<t<<endl; for(int i=0;i<a;i++){ if(stu[i].score>=c) cout<<stu[i].number<<" "<<stu[i].score<<endl; } } } // 64 位输出请用 printf("%lld")