/* Локален грейдър за задачата. Изпълнява решението в един процес (внимавайте да не
   споделяте състояние между encode и answer -- на истинската система те са в
   различни процеси). Вход: на първия ред N и T, после T реда с x, y и q.
   Извежда "OK <най-голямо h>" при верни отговори или "ERR <причина>". */
#include "timetravel.h"
#include <iostream>
#include <string>

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int N, T;
    std::cin >> N >> T;
    long long maxH = 0;
    for (int i = 1; i <= T; i++){
        int x, y, q;
        std::cin >> x >> y >> q;
        long long h = encode(N, x, y);
        if (h < 1){ std::cout << "ERR invalid value h" << std::endl; return 0; }
        if (h > maxH) maxH = h;
        if (answer(N, q, (int)h) != (q == x)){ std::cout << "ERR wrong answer" << std::endl; return 0; }
    }
    std::cout << "OK " << maxH << std::endl;
    return 0;
}
