#include <bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define all(a) a.begin(), a.end()
const int N = 1e6;
int n, Q, M, cnt = 0, emp = 1;
int version[300010];
long long tree[N], lazy[N];
int Left[N], Right[N];
//map<int, int> Left, Right;
//#define int long long
void build(int v, int vl, int vr){
if(vl == vr){
tree[v] = 0LL, lazy[v] = 0LL;
return;
}
Left[v] = emp++;
Right[v] = emp++;
int mid = (vl + vr)>>1;
build(Left[v], vl, mid);
build(Right[v], mid+1, vr);
// tree[v] = (tree[Left[v]] + tree[Right[v]]);
}
int push(int v, int vl, int vr, long long x){
int NEW = emp++;
Left[NEW] = Left[v], Right[NEW] = Right[v];
lazy[NEW] = lazy[v] + x;
tree[NEW] = tree[v] + (long long)((vr-vl+1)*x*1LL);
return NEW;
}
int add(int l, int r, long long x, int v, int vl, int vr){
if(lazy[v]){
if(vl != vr){
int smid = (vl +vr)>>1;
Left[v] = push(Left[v], vl, smid, lazy[v]);
Right[v] = push(Right[v], smid+1, vr, lazy[v]);
}
lazy[v] = 0LL;
}
if(l > vr or vl > r) return v;
int NEW = emp++;
if(l <= vl and r >= vr){
tree[NEW] = tree[v] + (long long)((vr-vl+1)*x*1LL);
lazy[NEW] = x;
Left[NEW] = Left[v], Right[NEW] = Right[v];
return NEW;
}
int mid = (vl + vr)>>1;
Left[NEW] = add(l, r, x, Left[v], vl, mid);
Right[NEW] = add(l, r, x, Right[v], mid+1, vr);
tree[NEW] = (tree[Left[NEW]] + tree[Right[NEW]]);
return NEW;
}
long long get_sum(int l, int r, int v, int vl, int vr){
if(lazy[v]){
if(vl != vr){
int smid = (vl +vr)>>1;
Left[v] = push(Left[v], vl, smid, lazy[v]);
Right[v] = push(Right[v], smid+1, vr, lazy[v]);
}
lazy[v] = 0LL;
}
if(l > vr or vl > r) return 0LL;
if(l <= vl and r >= vr){
return tree[v];
}
int mid = (vl + vr)>>1;
tree[v] = (tree[Left[v]] + tree[Right[v]]);
return get_sum(l, r, Left[v], vl, mid) + get_sum(l, r, Right[v], mid+1, vr);
}
//
main(){
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n >> Q >> M;
version[cnt] = emp++;
build(version[0], 1, n);
cnt++;
while(Q--){
int l, r, x; cin >> l >> r >> x;
version[cnt] = add(l, r, x,version[cnt-1], 1, n);
cnt++;
}
while(M--){
int pos; long long x; cin >> pos >> x;
if(get_sum(pos, pos,version[cnt-1], 1, n) >= x){
int l = 1, r = cnt;
if(get_sum(pos, pos,version[1], 1, n) >= x){
cout << 1 << '\n';
continue;
}
for(int round = 1; round <= 23 and l < r; round++){
int mid = (l + r)>>1;
if(get_sum(pos, pos,version[mid], 1, n) >= x){
r = mid;
}else l = mid;
}
r = min(r, cnt-1);
cout << r << '\n';
}else cout << "-1" << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksIGEuZW5kKCkKY29uc3QgaW50IE4gPSAxZTY7CmludCBuLCBRLCBNLCBjbnQgPSAwLCBlbXAgPSAxOwppbnQgdmVyc2lvblszMDAwMTBdOwpsb25nIGxvbmcgdHJlZVtOXSwgbGF6eVtOXTsgCmludCBMZWZ0W05dLCBSaWdodFtOXTsKLy9tYXA8aW50LCBpbnQ+IExlZnQsIFJpZ2h0OwovLyNkZWZpbmUgaW50IGxvbmcgbG9uZwoKdm9pZCBidWlsZChpbnQgdiwgaW50IHZsLCBpbnQgdnIpewoJaWYodmwgPT0gdnIpewoJCXRyZWVbdl0gPSAwTEwsIGxhenlbdl0gPSAwTEw7CgkJcmV0dXJuOwoJfQoJTGVmdFt2XSA9IGVtcCsrOyAKCVJpZ2h0W3ZdID0gZW1wKys7CglpbnQgbWlkID0gKHZsICsgdnIpPj4xOwoJYnVpbGQoTGVmdFt2XSwgdmwsIG1pZCk7CglidWlsZChSaWdodFt2XSwgbWlkKzEsIHZyKTsKLy8JdHJlZVt2XSA9ICh0cmVlW0xlZnRbdl1dICsgdHJlZVtSaWdodFt2XV0pOwp9CmludCBwdXNoKGludCB2LCBpbnQgdmwsIGludCB2ciwgbG9uZyBsb25nIHgpewoJaW50IE5FVyA9IGVtcCsrOwoJTGVmdFtORVddID0gTGVmdFt2XSwgUmlnaHRbTkVXXSA9IFJpZ2h0W3ZdOwoJbGF6eVtORVddID0gbGF6eVt2XSArIHg7Cgl0cmVlW05FV10gPSB0cmVlW3ZdICsgKGxvbmcgbG9uZykoKHZyLXZsKzEpKngqMUxMKTsKCXJldHVybiBORVc7Cn0KaW50IGFkZChpbnQgbCwgaW50IHIsIGxvbmcgbG9uZyB4LCBpbnQgdiwgaW50IHZsLCBpbnQgdnIpewoJaWYobGF6eVt2XSl7CgkJaWYodmwgIT0gdnIpewoJCQlpbnQgc21pZCA9ICh2bCArdnIpPj4xOwoJCQlMZWZ0W3ZdID0gcHVzaChMZWZ0W3ZdLCB2bCwgc21pZCwgbGF6eVt2XSk7CgkJCVJpZ2h0W3ZdID0gcHVzaChSaWdodFt2XSwgc21pZCsxLCB2ciwgbGF6eVt2XSk7CgkJfQoJCWxhenlbdl0gPSAwTEw7Cgl9CglpZihsID4gdnIgb3IgdmwgPiByKSByZXR1cm4gdjsKCWludCBORVcgPSBlbXArKzsKCWlmKGwgPD0gdmwgYW5kIHIgPj0gdnIpewoJCXRyZWVbTkVXXSA9IHRyZWVbdl0gKyAobG9uZyBsb25nKSgodnItdmwrMSkqeCoxTEwpOwoJCWxhenlbTkVXXSA9IHg7CgkJTGVmdFtORVddID0gTGVmdFt2XSwgUmlnaHRbTkVXXSA9IFJpZ2h0W3ZdOwoJCXJldHVybiBORVc7Cgl9CglpbnQgbWlkID0gKHZsICsgdnIpPj4xOwoJTGVmdFtORVddID0gYWRkKGwsIHIsIHgsIExlZnRbdl0sIHZsLCBtaWQpOwoJUmlnaHRbTkVXXSA9IGFkZChsLCByLCB4LCBSaWdodFt2XSwgbWlkKzEsIHZyKTsKCXRyZWVbTkVXXSA9ICh0cmVlW0xlZnRbTkVXXV0gKyB0cmVlW1JpZ2h0W05FV11dKTsKCXJldHVybiBORVc7Cn0KbG9uZyBsb25nIGdldF9zdW0oaW50IGwsIGludCByLCBpbnQgdiwgaW50IHZsLCBpbnQgdnIpewoJaWYobGF6eVt2XSl7CgkJaWYodmwgIT0gdnIpewoJCQlpbnQgc21pZCA9ICh2bCArdnIpPj4xOwoJCQlMZWZ0W3ZdID0gcHVzaChMZWZ0W3ZdLCB2bCwgc21pZCwgbGF6eVt2XSk7CgkJCVJpZ2h0W3ZdID0gcHVzaChSaWdodFt2XSwgc21pZCsxLCB2ciwgbGF6eVt2XSk7CgkJfQoJCWxhenlbdl0gPSAwTEw7Cgl9CQoJaWYobCA+IHZyIG9yIHZsID4gcikgcmV0dXJuIDBMTDsKCWlmKGwgPD0gdmwgYW5kIHIgPj0gdnIpewoJCXJldHVybiB0cmVlW3ZdOwoJfQoJaW50IG1pZCA9ICh2bCArIHZyKT4+MTsKCXRyZWVbdl0gPSAodHJlZVtMZWZ0W3ZdXSArIHRyZWVbUmlnaHRbdl1dKTsKCXJldHVybiBnZXRfc3VtKGwsIHIsIExlZnRbdl0sIHZsLCBtaWQpICsgZ2V0X3N1bShsLCByLCBSaWdodFt2XSwgbWlkKzEsIHZyKTsKfSAKLy8gCm1haW4oKXsKICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwoJY2luID4+IG4gPj4gUSA+PiBNOwoJdmVyc2lvbltjbnRdID0gZW1wKys7CglidWlsZCh2ZXJzaW9uWzBdLCAxLCBuKTsKCWNudCsrOwoJd2hpbGUoUS0tKXsKCQlpbnQgbCwgciwgeDsgY2luID4+IGwgPj4gciA+PiB4OwoJCXZlcnNpb25bY250XSA9IGFkZChsLCByLCB4LHZlcnNpb25bY250LTFdLCAxLCBuKTsgCgkJY250Kys7Cgl9Cgl3aGlsZShNLS0pewoJCWludCBwb3M7IGxvbmcgbG9uZyB4OyBjaW4gPj4gcG9zID4+IHg7CgkJaWYoZ2V0X3N1bShwb3MsIHBvcyx2ZXJzaW9uW2NudC0xXSwgMSwgbikgPj0geCl7CgkJCWludCBsID0gMSwgciA9IGNudDsJCQkKCQkJaWYoZ2V0X3N1bShwb3MsIHBvcyx2ZXJzaW9uWzFdLCAxLCBuKSA+PSB4KXsKCQkJCWNvdXQgPDwgMSA8PCAnXG4nOwoJCQkJY29udGludWU7CgkJCX0KCQkJZm9yKGludCByb3VuZCA9IDE7IHJvdW5kIDw9IDIzIGFuZCBsIDwgcjsgcm91bmQrKyl7CgkJCQlpbnQgbWlkID0gKGwgKyByKT4+MTsKCQkJCWlmKGdldF9zdW0ocG9zLCBwb3MsdmVyc2lvblttaWRdLCAxLCBuKSA+PSB4KXsKCQkJCQlyID0gbWlkOwoJCQkJfWVsc2UgbCA9IG1pZDsKCQkJCQoJCQl9CgkJCXIgPSBtaW4ociwgY250LTEpOwoJCQljb3V0IDw8IHIgPDwgJ1xuJzsKCQl9ZWxzZSBjb3V0IDw8ICItMSIgPDwgJ1xuJzsKCX0KCXJldHVybiAwOwp9