#include <bits/stdc++.h>
#define For(i, a, b) for (int i = (a); i <= (b); ++i)
#define ForD(i, a, b) for (int i = (a); i >= (b); --i)
#define rep(i, n) for (int i = 0; i < (n); ++i)
using namespace std;
void file(string s){
if (s.empty()) return;
freopen((s + ".inp").c_str(), "r", stdin);
freopen((s + ".out").c_str(), "w", stdout);
}
void maximize(int &x, int y){
if (x < y) x = y;
}
const int N = 5e5 + 5;
struct query{
int u, v, w;
} quer[N];
int n, q, t, m;
vector<int> g[N];
int up[N][20], h[N];
int lca[N];
int f[N], dp[N][10];
int res;
int node[N], timer;
void dfs(int u){
++timer; node[timer] = u;
for (int v: g[u]) if (v != up[u][0])
dfs(v);
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
file("qtree");
cin >> n >> q >> t >> m;
rep(i, n - 1){
int u, v; cin >> u >> v;
g[u].push_back(v); g[v].push_back(u);
}
stack<int> st;
st.push(1);
while (!st.empty()){
int u = st.top(); st.pop();
for (int v: g[u]) if (v != up[u][0]){
up[v][0] = u; h[v] = h[u] + 1;
st.push(v);
}
}
For(j, 1, 17)
For(v, 1, n)
up[v][j] = up[up[v][j - 1]][j - 1];
dfs(1);
For(i, 1, q){
int u, v, w; cin >> u >> v >> w;
quer[i] = {u, v, w};
if (h[u] != h[v]){
if (h[u] < h[v]) swap(u, v);
int k = h[u] - h[v];
for (int j = 0; (1 << j) <= k; ++j)
if (k & (1 << j))
u = up[u][j];
}
if (u == v){
lca[i] = u;
continue;
}
ForD(j, 17, 0)
if (up[u][j] != up[v][j])
u = up[u][j], v = up[v][j];
lca[i] = up[u][0];
}
while (t--){
int l, r; cin >> l >> r;
For(u, 1, n){
f[u] = 0;
For(j, 1, m){
dp[u][j] = 0;
}
}
For(i, l, r){
int u = quer[i].u, v = quer[i].v, w = quer[i].w;
f[u] += w; f[v] += w;
f[lca[i]] -= 2 * w;
}
res = 0;
ForD(i, n, 1){
int u = node[i];
for (int v: g[u]) if (v != up[u][0]){
ForD(j, m, 1){
For(k, 1, j){
maximize(dp[u][j], dp[u][j - k] + dp[v][k - 1] + f[v]);
}
maximize(res, dp[u][j]);
}
f[u] += f[v];
}
}
cout << res << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIEZvcihpLCBhLCBiKSBmb3IgKGludCBpID0gKGEpOyBpIDw9IChiKTsgKytpKQojZGVmaW5lIEZvckQoaSwgYSwgYikgZm9yIChpbnQgaSA9IChhKTsgaSA+PSAoYik7IC0taSkKI2RlZmluZSByZXAoaSwgbikgZm9yIChpbnQgaSA9IDA7IGkgPCAobik7ICsraSkKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGZpbGUoc3RyaW5nIHMpewoKICAgIGlmIChzLmVtcHR5KCkpIHJldHVybjsKCiAgICBmcmVvcGVuKChzICsgIi5pbnAiKS5jX3N0cigpLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oKHMgKyAiLm91dCIpLmNfc3RyKCksICJ3Iiwgc3Rkb3V0KTsKfQoKdm9pZCBtYXhpbWl6ZShpbnQgJngsIGludCB5KXsKCWlmICh4IDwgeSkgeCA9IHk7Cn0KCmNvbnN0IGludCBOID0gNWU1ICsgNTsKCnN0cnVjdCBxdWVyeXsKCWludCB1LCB2LCB3Owp9IHF1ZXJbTl07CgppbnQgbiwgcSwgdCwgbTsKdmVjdG9yPGludD4gZ1tOXTsKaW50IHVwW05dWzIwXSwgaFtOXTsKaW50IGxjYVtOXTsKCmludCBmW05dLCBkcFtOXVsxMF07CmludCByZXM7CgppbnQgbm9kZVtOXSwgdGltZXI7Cgp2b2lkIGRmcyhpbnQgdSl7CgkKCSsrdGltZXI7IG5vZGVbdGltZXJdID0gdTsKCWZvciAoaW50IHY6IGdbdV0pIGlmICh2ICE9IHVwW3VdWzBdKQoJCWRmcyh2KTsKfQoKc2lnbmVkIG1haW4oKXsKCglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyAKCWNpbi50aWUoMCk7IGNvdXQudGllKDApOwoJZmlsZSgicXRyZWUiKTsKCgljaW4gPj4gbiA+PiBxID4+IHQgPj4gbTsKCXJlcChpLCBuIC0gMSl7CgkJaW50IHUsIHY7IGNpbiA+PiB1ID4+IHY7CgkJZ1t1XS5wdXNoX2JhY2sodik7IGdbdl0ucHVzaF9iYWNrKHUpOwoJfQoJCglzdGFjazxpbnQ+IHN0OwoJc3QucHVzaCgxKTsKCQoJd2hpbGUgKCFzdC5lbXB0eSgpKXsKCQlpbnQgdSA9IHN0LnRvcCgpOyBzdC5wb3AoKTsKCQlmb3IgKGludCB2OiBnW3VdKSBpZiAodiAhPSB1cFt1XVswXSl7CgkJCXVwW3ZdWzBdID0gdTsgaFt2XSA9IGhbdV0gKyAxOwoJCQlzdC5wdXNoKHYpOwoJCX0KCX0KCQoJRm9yKGosIDEsIDE3KQoJCUZvcih2LCAxLCBuKQoJCQl1cFt2XVtqXSA9IHVwW3VwW3ZdW2ogLSAxXV1baiAtIDFdOwoJCglkZnMoMSk7CgkKCUZvcihpLCAxLCBxKXsKCQlpbnQgdSwgdiwgdzsgY2luID4+IHUgPj4gdiA+PiB3OwoJCXF1ZXJbaV0gPSB7dSwgdiwgd307CgkJCgkJaWYgKGhbdV0gIT0gaFt2XSl7CgkJCWlmIChoW3VdIDwgaFt2XSkgc3dhcCh1LCB2KTsKCQkJaW50IGsgPSBoW3VdIC0gaFt2XTsKCQkJCgkJCWZvciAoaW50IGogPSAwOyAoMSA8PCBqKSA8PSBrOyArK2opCgkJCQlpZiAoayAmICgxIDw8IGopKQoJCQkJCXUgPSB1cFt1XVtqXTsKCQl9CgkJCgkJaWYgKHUgPT0gdil7CgkJCWxjYVtpXSA9IHU7CgkJCWNvbnRpbnVlOwoJCX0KCQkKCQlGb3JEKGosIDE3LCAwKQoJCQlpZiAodXBbdV1bal0gIT0gdXBbdl1bal0pCgkJCQl1ID0gdXBbdV1bal0sIHYgPSB1cFt2XVtqXTsKCQkJCgkJbGNhW2ldID0gdXBbdV1bMF07Cgl9CgkKCXdoaWxlICh0LS0pewoJCWludCBsLCByOyBjaW4gPj4gbCA+PiByOwoJCUZvcih1LCAxLCBuKXsKCQkJZlt1XSA9IDA7CgkJCUZvcihqLCAxLCBtKXsKCQkJCWRwW3VdW2pdID0gMDsKCQkJfQoJCX0KCQkKCQlGb3IoaSwgbCwgcil7CgkJCWludCB1ID0gcXVlcltpXS51LCB2ID0gcXVlcltpXS52LCB3ID0gcXVlcltpXS53OwoJCQlmW3VdICs9IHc7IGZbdl0gKz0gdzsKCQkJZltsY2FbaV1dIC09IDIgKiB3OwoJCX0KCQkKCQlyZXMgPSAwOwoJCQoJCUZvckQoaSwgbiwgMSl7CgkJCWludCB1ID0gbm9kZVtpXTsKCQkJZm9yIChpbnQgdjogZ1t1XSkgaWYgKHYgIT0gdXBbdV1bMF0pewoJCQkJRm9yRChqLCBtLCAxKXsKCQkJCQlGb3IoaywgMSwgail7CgkJCQkJCW1heGltaXplKGRwW3VdW2pdLCBkcFt1XVtqIC0ga10gKyBkcFt2XVtrIC0gMV0gKyBmW3ZdKTsKCQkJCQl9CgkJCQkJbWF4aW1pemUocmVzLCBkcFt1XVtqXSk7CgkJCQl9CgkJCQlmW3VdICs9IGZbdl07CgkJCX0KCQl9CgkJCgkJY291dCA8PCByZXMgPDwgJ1xuJzsKCX0KCglyZXR1cm4gMDsKfQo=