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