class Heap
    attr_reader :size
    def initialize
        @heap = []
        @size = 0
    end

    def length
        @size
    end

    def push(x)
        i = @size
        @size += 1
        while i > 0
            p = (i-1)/2
            break if @heap[p] <= x
            @heap[i] = @heap[p]
            i = p
        end
        @heap[i] = x
    end

    def pop
        return nil if @size == 0
        ret = @heap[0]
        @size -= 1
        x = @heap[@size]
        i = 0
        while i*2+1 < @size
            a = i*2+1
            b = a+1
            if b < @size && @heap[b] < @heap[a]
                a = b
            end
            break if @heap[a] >= x
            @heap[i] = @heap[a]
            i = a
        end
        @heap[i] = x
        @heap.pop
        return ret
    end

    def top
        @heap[0]
    end
end

N, Q = gets.split.map(&:to_i)
events = Hash.new
N.times do |i|
    s, t, x = gets.split.map(&:to_i)
    events[s-x] ||= []
    events[s-x].push([x, 1])
    events[t-x] ||= []
    events[t-x].push([x, -1])
end
ts = events.keys.sort
ts.push(10**18)

exit

pt = 0
num = Hash.new(0)
heap = Heap.new
Q.times do
    d = gets.to_i
    while ts[pt] <= d
        events[ts[pt]].each do |x, diff|
            num[x] += diff
            heap.push(x) if diff == 1
        end
        pt += 1
    end
    loop do
        if heap.size == 0
            puts -1
            break
        end
        n = heap.top
        if num[n] > 0
            puts n
            break
        else
            heap.pop
        end
    end
end