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