#include<bits/stdc++.h>
using namespace std;
#define sz(x) (int)(x).size()
const int INF = 1e9 + 7;
//const long long INF = 1e18 + 7;
//const int mod = 998244353;
const int mod = 1e9 + 7;
//const int inv2 = 499122177;
const int mxN = 1e7;
int main()
{
ios::sync_with_stdio(0); cin.tie(0);
//freopen("_.in", "r", stdin);
//freopen("_.out", "w", stdout);
int n, m, q; cin >> n >> m >> q;
vector<vector<pair<int, int>>> adj(n);
int g1 = (m == n-1);
for (int u, v, w, i = 0; i < m; ++i)
{
cin >> u >> v >> w;
g1 &= (v-1 == u);
adj[u].push_back({v, w});
adj[v].push_back({u, w});
}
vector<long long> pre(m+1, 0);
if(g1)
{
for (int i = 0; i < n-1; ++i)
{
int w = (adj[i][0].first == i+1 ? adj[i][0].second : adj[i][1].second);
pre[i+1] = pre[i] + w;
}
}
for (int l, r, i = 0; i < q; ++i)
{
cin >> l >> r;
if (g1)
{
//cout << "All sum: " << pre[m] << ", up to " << r << ": " << pre[r] << ", up to " << l << ": " << pre[l] << ", ans: ";
cout << pre[m] - pre[r] + pre[l] << "\n";
}
else
cout << "-1\n";
}
return 0;
}