import java.io.*; import java.util.*; public class money{ public static void main(String args[]){ try{ BufferedReader br = new BufferedReader(new FileReader("money.in")); String input = br.readLine(); StringTokenizer s = new StringTokenizer(input); int dataSets = Integer.parseInt(input); int c; int d; int t; int ci; int di; int mi; int violations = 0; int violate[] = new int[1000]; int individual[][] = new int[1000][1000]; int total[] = new int[1000]; for(int i = 0; i < dataSets; i++){ System.out.println("Data Set " + (i + 1) + ":"); input = br.readLine(); s = new StringTokenizer(input); c = Integer.parseInt(s.nextToken()); d = Integer.parseInt(s.nextToken()); t = Integer.parseInt(s.nextToken()); for(int j = 0; j < t; j++){ input = br.readLine(); s = new StringTokenizer(input); ci = Integer.parseInt(s.nextToken()); di = Integer.parseInt(s.nextToken()); mi = Integer.parseInt(s.nextToken()); individual[di][ci] += mi; total[di] += mi; if(total[di] > 40000){ violate[di] = 1; violations++; } for(int k = 1; k <= d; k++){ for(int b = 1; b <= c; b++){ //System.out.println(total[k]); if(individual[k][b] > 2100 || total[k] > 40000){ violate[k] = 1; violations++; } } } } if(violations > 0){ System.out.println("Violators:"); for(int z = 1; z <= 15; z++){ if(violate[z] == 1){ System.out.println(z); } } } else{ System.out.println("No violations"); } } } catch(IOException i){ System.out.println(i); } } }