#include<iostream>

using namespace std;

const int oo = 1e9;

int a[1000][1000];
int d[1000][1000];
int n,m,q, u,v,w;
int th[1000][1000];

void khoitao(){
	for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++) {
		a[i][j] = oo;
		d[i][j] = oo;
		th[i][j] = oo;
	}
}

main(){
	cin >> n >> m >> q;
	khoitao();
	for (int i = 1; i <= m; i++) {
		cin >> u >> v >> w;
		a[u][v] = min(w, a[u][v]);
		a[v][u] = a[u][v];
		th[u][v] = u;
		th[v][u] = v;
	}
	
	for (int k = 1; k <= n; k++) 
		for (int i = 1; i <= n; i++) 
			for (int j = 1; j <= n; j++) {
				if (d[i][k] + d[k][j] < d[i][j]) {
					d[i][j] = d[i][k] + d[k][j];
					th[i][j] = th[i][k];
					cout << "            " << d[i][j] << endl;
				}
			}
			
	for (int i = 1; i <= q; i++) {
		cin >> u >> v;
		cout << d[u][v] << endl;
	}
}
