n, m = read_line.split.map(&.to_i) l = [-(1 << 30)] + read_line.split.map(&.to_i) + [1 << 30] ans = 0i64 m.times do f, b, w = read_line.split.map(&.to_i) pos = l.bsearch_index { |x, i| x >= f }.not_nil! dist = {l[pos] - f, f - l[pos - 1]}.min ans += {b, w - dist}.max end puts ans