#include <iostream>
#include<bits/stdc++.h>
using namespace std;
struct student {
string sno;
vector<int>poi;
int sum=0;
int ispast = 0;
};
bool cmp(student& a, student& b) {
if (a.sum > b.sum)return true;
else if(a.sum==b.sum)
{
return a.sno<b.sno;
}
else return false;
}
int main() {
int n, m, g;
while (cin >> n >> m >> g)
{
int amount=0;
vector<int>score;
for (int i = 0; i < m; i++) {
int q;
cin >> q;
score.push_back(q);
}
student student1[n];
for (int i = 0; i < n; i++) {
cin >> student1[i].sno;
int l;
cin>>l;
for (int j = 0; j < l; j++) {
int q;
cin >> q;
student1[i].poi.push_back(score[q-1]);
student1[i].sum += score[q-1];
}
if (student1[i].sum >= g){
student1[i].ispast = 1;
amount++;
}
}
sort(student1, student1 + n, cmp);
cout<<amount<<endl;
for (int i = 0; i < n; i++) {
if (student1[i].ispast == 1) {
cout << student1[i].sno << " " << student1[i].sum << endl;
}
}
}
}
// 64 位输出请用 printf("%lld")