import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
private static class Student {
private final String id;
private final int score;
private Student(String id, int score) {
this.id = id;
this.score = score;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int N = sc.nextInt();
if (N == 0) break;
int M = sc.nextInt();
int G = sc.nextInt();
int[] scores = new int[M + 1];
for (int i = 1; i <= M; i++) {
scores[i] = sc.nextInt();
}
List<Student> students = new ArrayList<>();
while (N-- != 0) {
String id = sc.next();
int m = sc.nextInt();
int sum = 0;
while (m-- != 0) {
int index = sc.nextInt();
sum += scores[index];
}
if (sum >= G) students.add(new Student(id, sum));
}
System.out.println(students.size());
students.stream().sorted((o1,
o2) -> o1.score == o2.score ? o1.id.compareTo(o2.id) : o2.score -
o1.score).forEach(student -> System.out.println(student.id + " " +
student.score));
}
}
}