local mce, mfl, msq, mmi, mma = math.ceil, math.floor, math.sqrt, math.min, math.max
local ior = io.input()
local n, q = ior:read("*n", "*n")
local s, t, x, d = {}, {}, {}, {}
for i = 1, n do
  s[i], t[i], x[i] = ior:read("*n", "*n", "*n")
end

local timelist = {}
local omitinfo = {}
for i = 1, q do
  local tmp = ior:read("*n")
  d[i] = tmp
  table.insert(timelist, tmp)
  local tmptbl = {}
  table.insert(omitinfo, tmptbl)
end
-- table.sort(timelist)

local function lower_bound(ary, x)
  if(x <= ary[1]) then return 1 end
  local num = #ary
  if(ary[num] < x) then return num + 1 end
  local min, max = 1, num
  while(1 < max - min) do
    local mid = mfl((min + max) / 2)
    if(ary[mid] < x) then
      min = mid
    else
      max = mid
    end
  end
  return max
end

local function upper_bound(ary, x)
  if(x < ary[1]) then return 1 end
  local num = #ary
  if(ary[num] <= x) then return num + 1 end
  local min, max = 1, num
  while(1 < max - min) do
    local mid = mfl((min + max) / 2)
    if(ary[mid] <= x) then
      min = mid
    else
      max = mid
    end
  end
  return max
end

for i = 1, n do
  -- [ngfrom, ngto]
  local ngfrom, ngto = s[i] - x[i], t[i] - x[i] - 1
  local real_ngfrom_pos_idx = lower_bound(timelist, ngfrom)
  local real_ngto_pos_idx = upper_bound(timelist, ngto) - 1
  -- print(i, ngfrom, ngto, real_ngfrom_pos_idx, real_ngto_pos_idx)
  if(real_ngfrom_pos_idx <= q and 1 <= real_ngto_pos_idx and real_ngfrom_pos_idx <= real_ngto_pos_idx) then
    table.insert(omitinfo[real_ngfrom_pos_idx], x[i])
    table.insert(omitinfo[real_ngto_pos_idx], -x[i])
  end
end
-- for i = 1, q do
--   print(i, "-- ", unpack(omitinfo[i]))
-- end
local cur_omit_list = {}
local cur_min_omit_x = -1
for i = 1, q do
  for j = 1, #omitinfo[i] do
    local val = omitinfo[i][j]
    if(0 < val) then
      cur_omit_list[val] = true
      if(cur_min_omit_x < 0 or val < cur_min_omit_x) then
        cur_min_omit_x = val
      end
    end
  end
  print(cur_min_omit_x)

  for j = 1, #omitinfo[i] do
    local val = omitinfo[i][j]
    if(val < 0) then
      cur_omit_list[-val] = nil
      if(cur_min_omit_x == -val) then
        cur_min_omit_x = -1
        for key, value in pairs(cur_omit_list) do
          if(cur_min_omit_x < 0 or key < cur_min_omit_x) then
            cur_min_omit_x = key
          end
        end
      end
    end
  end
end
