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