#!/usr/bin/python import sys,re n,m=map(int,raw_input().split()) assert 1 <= n <= 1000 assert 1 <= m <= 1000 b,r=map(int,raw_input().split()) assert 1 <= b <= 10**9 assert 0 <= r <= 10**6 event=[map(int,raw_input().split()) for k in range(r)] group = [] for i in range(len(event)): si, ki, ti = event[i] assert 0 <= si < b assert 1 <= ki <= n assert 0 <= ti <= m if i > 0: assert event[i-1][0] <= event[i][0] if not (group and group[-1][0] == si): group += [(si, [])] group[-1][1].append((ki, ti)) k2t = [0] * (n+1) owner = [0] * (m+1) for si, log in group: kids = map(lambda x:x[0], log) assert len(kids) == len(set(kids)), \ "@%d: at least one kid switched toy more than once in one time unit" % si for ki, ti in log: if ti > 0: assert k2t[ki] != ti, \ "@%d: kid %d is switching from toy %d to the same toy" % (si, ki, ti) for ki, ti in log: owner[k2t[ki]] = 0 for ki, ti in log: if ti > 0: assert owner[ti] == 0, \ "@%d: kid %d is switching to toy %d but it is already held by kid %d" % (si, ki, ti, owner[ti]) owner[ti] = ki k2t[ki] = ti # Nothing to report. sys.exit(42)