#include "testlib.h"
#include <set>

using namespace std;

int main(int argc, char* argv[]) {
    registerTestlibCmd(argc, argv);

    long long n = inf.readLong();
    long long s = inf.readLong();
    long long min_sum = n * (n + 1) / 2;

    if (!ouf.seekEof()) {
        long long first_token = ouf.readLong();
        if (first_token == -1) {
            if (min_sum <= s) {
                quitf(_wa, "A valid array exists, but output is -1.");
            } else {
                quitf(_ok, "Correctly impossible.");
            }
        } else {
            if (min_sum > s) {
                quitf(_fail, "Output contains array but it's mathematically impossible.");
            }
            long long user_sum = first_token;
            if (first_token <= 0) quitf(_wa, "Elements must be positive.");

            set<long long> used;
            used.insert(first_token);

            for (int i = 1; i < n; i++) {
                long long val = ouf.readLong();
                if (val <= 0) quitf(_wa, "Elements must be positive integers.");
                if (used.count(val)) quitf(_wa, "Elements are not strictly distinct.");
                used.insert(val);
                user_sum += val;
            }

            if (user_sum != s) {
                quitf(_wa, "Sum is %lld, expected %lld.", user_sum, s);
            }
            quitf(_ok, "Valid array.");
        }
    } else {
        quitf(_wa, "Empty output.");
    }
}
