import sys def main(): input = sys.stdin.read().split() ptr = 0 N = int(input[ptr]) ptr += 1 events = [] for _ in range(N): l = int(input[ptr]) r = int(input[ptr+1]) a = int(input[ptr+2]) ptr += 3 events.append((l, 'add', a)) events.append((r + 1, 'remove', a)) # Sort events by x, 'add' comes before 'remove' if x is the same events.sort(key=lambda x: (x[0], 0 if x[1] == 'add' else 1)) Q = int(input[ptr]) ptr += 1 x_list = list(map(int, input[ptr:ptr+Q])) ptr += Q event_ptr = 0 count = {} mex = 0 answers = [] for x in x_list: while event_ptr < len(events) and events[event_ptr][0] <= x: x_event, type_event, a = events[event_ptr] if type_event == 'add': if a in count: count[a] += 1 else: count[a] = 1 if a == mex: while mex in count: mex += 1 else: if count[a] == 1: del count[a] if a < mex: mex = min(mex, a) else: count[a] -= 1 event_ptr += 1 answers.append(mex) print('\n'.join(map(str, answers))) if __name__ == '__main__': main()