#include <stdio.h>
#include <string.h>

long long user_value, ans_value, input_n, input_W;
long long input_u[64], input_v[64];
char names[64][64];

int main(){
    FILE *user_out, *input, *answer, *code;
    user_out = fopen("user_out", "r");
    answer = fopen("answer", "r");
    input = fopen("input", "r");
    fscanf(user_out, "%lld", &user_value);
    fscanf(input, "%lld %lld", &input_n, &input_W);
    fscanf(answer, "%lld", &ans_value);
    int name_cnt = 0;
    for(int i = 0; i < input_n; i++){
        fscanf(input, "%s %lld %lld", names[i], &input_u[i], &input_v[i]);
    }
    long long user_W = input_W, user_ans = 0;
    char buffer[64];
    while(~fscanf(user_out, "%s", buffer)){
        for(int i = 0; i < input_n; i++){
            if(strcmp(buffer, names[i]) == 0){
                user_ans += input_u[i];
                user_W += input_v[i];
            }
        }
    }
    int TF = 0;
    if(user_W < 0){
        fprintf(stderr, "Illegal scheme\n");
        TF = 0;
    }
    else{
        if(user_ans != user_value){
            fprintf(stderr, "Error type\n");
            TF = 0;
        }
        else if(user_ans > ans_value){
            fprintf(stderr, "Datas may error\n");
            TF = 0;
        }
        else if(user_ans < ans_value){
            fprintf(stderr, "Not good enough\n");
            TF = 0;
        }
        else{
            fprintf(stderr, "OK\n");
            TF = 1;
        }

    }
    if(TF) fprintf(stdout, "100\n");
    else fprintf(stdout, "0\n");

    return 0;
}