import bisect
import sys

def main():
    input = sys.stdin.read().split()
    ptr = 0
    N = int(input[ptr])
    ptr += 1

    from collections import defaultdict
    a_dict = defaultdict(list)

    for _ in range(N):
        l = int(input[ptr])
        r = int(input[ptr+1])
        a = int(input[ptr+2])
        ptr +=3
        a_dict[a].append((l, r))

    # Merge intervals for each a
    merged = {}
    for a in a_dict:
        intervals = a_dict[a]
        intervals.sort()
        merged_list = []
        for start, end in intervals:
            if not merged_list:
                merged_list.append([start, end])
            else:
                last = merged_list[-1]
                if start <= last[1] + 1:
                    # Merge
                    new_start = min(last[0], start)
                    new_end = max(last[1], end)
                    merged_list[-1] = [new_start, new_end]
                else:
                    merged_list.append([start, end])
        merged[a] = merged_list

    sorted_a = sorted(merged.keys())

    Q = int(input[ptr])
    ptr +=1
    x_list = list(map(int, input[ptr:ptr+Q]))
    ptr +=Q

    for x in x_list:
        m = 0
        while True:
            # Check if m is present in merged
            pos = bisect.bisect_left(sorted_a, m)
            if pos < len(sorted_a) and sorted_a[pos] == m:
                # Check if x is covered by merged intervals of a=m
                intervals = merged[m]
                # Binary search in intervals for x
                L = 0
                R = len(intervals) -1
                found = False
                while L <= R:
                    mid = (L + R)//2
                    s, e = intervals[mid]
                    if s <=x <=e:
                        found = True
                        break
                    elif x < s:
                        R = mid -1
                    else:
                        L = mid +1
                if not found:
                    print(m)
                    break
                else:
                    m +=1
            else:
                print(m)
                break

if __name__ == "__main__":
    main()