#include <bits/stdc++.h>
using namespace std;

FILE *fi, *fo, *fa;

int main(int argc, char * argv[])
{
    // Mở các file theo chuẩn của mẫu bạn cung cấp
    fi = fopen("input", "r");
    fo = fopen("user_out", "r");
    fa = fopen("answer", "r");

    int n;
    char buffer[1005]; // Dùng để đọc bỏ qua các chuỗi trong input
    int caseNum = 0;

    // Vòng lặp xử lý multitest, kết thúc khi n = 0
    while (fscanf(fi, "%d", &n) == 1 && n != 0) {
        caseNum++;
        
        // Đọc lướt qua các chuỗi trong input để con trỏ file fi đi đến test case tiếp theo
        for (int i = 0; i < n; i++) {
            fscanf(fi, "%s", buffer);
        }

        char stdToken[100], usrToken[100];

        // Đọc token đầu tiên từ đáp án chuẩn
        if (fscanf(fa, "%s", stdToken) != 1) {
            break; // Hết đáp án
        }

        // Đọc token đầu tiên từ bài làm thí sinh
        if (fscanf(fo, "%s", usrToken) != 1) {
            fprintf(stderr, "Test case %d: Missing output! QAQ\n", caseNum);
            fprintf(stdout, "0\n");
            return 0;
        }

        // Trường hợp 1: Đáp án là "No solution"
        // Kiểm tra xem token đầu tiên có phải là "No" không
        if (strcmp(stdToken, "No") == 0) {
            // Đọc tiếp chữ "solution" ở file đáp án chuẩn để dọn buffer
            char temp[100];
            fscanf(fa, "%s", temp);

            // Kiểm tra thí sinh có xuất "No" không
            if (strcmp(usrToken, "No") != 0) {
                fprintf(stderr, "Test case %d: Expected 'No solution', found '%s'! QAQ\n", caseNum, usrToken);
                fprintf(stdout, "0\n");
                return 0;
            }

            // Kiểm tra từ tiếp theo của thí sinh có phải "solution" không
            if (fscanf(fo, "%s", usrToken) != 1 || strcmp(usrToken, "solution") != 0) {
                fprintf(stderr, "Test case %d: Format error, expected 'No solution'! QAQ\n", caseNum);
                fprintf(stdout, "0\n");
                return 0;
            }
        }
        // Trường hợp 2: Đáp án là số thực
        else {
            // Nếu thí sinh in "No" trong khi đáp án là số
            if (strcmp(usrToken, "No") == 0) {
                fprintf(stderr, "Test case %d: Expected a number, found 'No solution'! QAQ\n", caseNum);
                fprintf(stdout, "0\n");
                return 0;
            }

            double stdVal = atof(stdToken);
            double usrVal = atof(usrToken);

            // Kiểm tra sai số 0.01
            if (abs(usrVal - stdVal) > 0.01 + 1e-9) {
                fprintf(stderr, "Test case %d: Wrong answer. Expected %.4f, found %.4f! QAQ\n", caseNum, stdVal, usrVal);
                fprintf(stdout, "0\n");
                return 0;
            }
        }
    }

    // Nếu chạy hết vòng lặp mà không return 0 thì là đúng hết
    fprintf(stderr, "Your answer is acceptable! ^ ^\n");
    fprintf(stdout, "100\n");
    
    // Đóng file
    fclose(fi);
    fclose(fo);
    fclose(fa);

    return 0;
}