#include<bits/stdc++.h>
using namespace std;
vector<long long> E[1000009];
long long vis[1000009];
long long h[1000009];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
long long n, m, q;
vector<pair<long long, pair<long long, long long>>> p;
cin >> n >> m >> q;
for (long long a, b, c, i = 1; i <= m; i ++){
cin >> a >> b >> c;
p.push_back({c, {a, b}});
}
long long x, y;
sort(p.begin(), p.end());
while (q --){
long long ans = 0;
cin >> x >> y;
for (long long i = x; i <= y; i ++)vis[i] = 1;
long long ind = 1;
for (auto i : p){
if (vis[i.second.first] == 1 && vis[i.second.second] == 1)continue;
if (vis[i.second.first] == 1 || vis[i.second.second] == 1){
ans += i.first;
if (vis[i.second.first] == 0)vis[i.second.first] = 1;
if (vis[i.second.second] == 0)vis[i.second.second] = 1;
if (vis[i.second.first] == 1 && vis[i.second.second] == 2){
for (auto j : E[h[i.second.second]]){
vis[j] = 1;
h[j] = 0;
}
}
else{
for (auto j : E[h[i.second.first]]){
vis[j] = 1;
h[j] = 0;
}
}
}
else {
ans += i.first;
if (!vis[i.second.first] && !vis[i.second.second]){
E[ind].push_back(i.second.first);
E[ind].push_back(i.second.second);
vis[i.second.first] = 2;
vis[i.second.second] = 2;
h[i.second.first] = ind;
h[i.second.second] = ind;
ind ++;
}
else if (vis[i.second.first] == 2 && vis[i.second.second] == 2){
if (h[i.second.first] == h[i.second.second]){ans -= i.first;continue;}
long long a = h[i.second.first];
long long b = h[i.second.second];
if (E[a].size() < E[b].size()){
for (auto j : E[a]){
E[b].push_back(j);
h[j] = h[j] = b;
}
}
if (E[a].size() >= E[b].size()){
for (auto j : E[b]){
E[a].push_back(j);
h[j] = h[j] = a;
}
}
}
else if (vis[i.second.first] == 2){
E[h[i.second.first]].push_back(i.second.second);
h[i.second.second] = h[i.second.first];
vis[i.second.second] = 2;
}
else if (vis[i.second.second] == 2){
E[h[i.second.second]].push_back(i.second.first);
h[i.second.first] = h[i.second.second];
vis[i.second.first] = 2;
}
}
}
for (long long i = 0; i < 1000009; i ++){
vis[i] = h[i] = 0;
E[i].clear();
}
cout << ans << endl;
}
}