#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> ii;
typedef pair<int, ii> iii;
vector<int> ufds;
int fi(int x) {
if (ufds[x] == -1) {
return x;
}
return ufds[x] = fi(ufds[x]);
}
void un(int a, int b) { ufds[fi(a)] = fi(b); }
int main() {
int n, m, q, u, v, c;
cin >> n >> m >> q;
priority_queue<iii, vector<iii>, greater<iii>> base;
for (int i = 0; i < m; ++i) {
cin >> u >> v >> c;
base.push(iii(c, ii(u, v)));
}
for (int i = 0; i < q; ++i) {
int cost = 0;
cin >> u >> v;
ufds = vector<int>(n + 5, -1);
for (int i = u + 1; i <= v; ++i) {
un(i, u);
}
auto t = base;
int cnt = n - (v - u + 1);
while (!t.empty() && cnt > 0) {
int w = t.top().first;
int u = t.top().second.first;
int v = t.top().second.second;
if (fi(u) != fi(v)) {
un(u, v);
cost += w;
--cnt;
}
t.pop();
}
cout << cost << '\n';
}
return 0;
}