#include using namespace std; using ll = long long; struct P { bool operator<(const P &p) const { return i != p.i ? i < p.i : abs(d) > abs(p.d); } int a, i, d; }; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector

p; for (int i = 0; i < n; i++) { int l, r, a; cin >> l >> r >> a; l--; if (a < n) { p.push_back({ a, l, +1 }); p.push_back({ a, r, -1 }); } } int q; cin >> q; for (int i = 0; i < q; i++) { int x; cin >> x; x--; p.push_back({ i, x, 0 }); } sort(p.begin(), p.end()); vector r(q); vector c(n, 0); set st; for (int i = 0; i <= n; i++) { st.insert(i); } for (const auto &[a, i, d] : p) { if (d == 0) { r[a] = *st.begin(); } else { if (c[a] == 0 && d == +1) st.erase(a); if (c[a] == 1 && d == -1) st.insert(a); c[a] += d; } } for (int i = 0; i < q; i++) { cout << r[i] << '\n'; } return 0; }