#include <iostream>
#include <climits>
using namespace std;
int main() {
long long n,m,q;
cin>>n>>m>>q;
long long DP[n][n];
for(long long i=0;i<n;i++)
{
for(long long j=0;j<n;j++)
{
if(i != j)
{
DP[i][j] = LLONG_MAX;
}
else
{
DP[i][j]=0;
}
}
}
for(long long i=0;i<m;i++)
{
long long a,b,c;
cin>>a>>b>>c;
DP[a-1][b-1]=c;
DP[b-1][a-1]=c;
}
for(long long k=0;k<n;k++)
{
for(long long i=0;i<n;i++)
{
for(long long j=0;j<n;j++)
{
if(i!=j && DP[i][k] != LLONG_MAX && DP[k][j] != LLONG_MAX && (DP[i][j] > DP[i][k] + DP[k][j]))
{
DP[i][j] = DP[i][k] + DP[k][j];
}
}
}
}
for(long long i=0;i<q;i++)
{
long long a,b;
cin>>a>>b;
if(DP[a-1][b-1] == LLONG_MAX)
{
cout<<-1<<endl;
}
else
{
cout<<DP[a-1][b-1]<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2xpbWl0cz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoKCWxvbmcgbG9uZyBuLG0scTsKCWNpbj4+bj4+bT4+cTsKCQoJbG9uZyBsb25nIERQW25dW25dOwoJZm9yKGxvbmcgbG9uZyBpPTA7aTxuO2krKykKCXsKCQlmb3IobG9uZyBsb25nIGo9MDtqPG47aisrKQoJCXsKCQkJaWYoaSAhPSBqKQoJCQl7CgkJCQlEUFtpXVtqXSA9IExMT05HX01BWDsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCURQW2ldW2pdPTA7CgkJCX0KCQl9Cgl9CgkKCWZvcihsb25nIGxvbmcgaT0wO2k8bTtpKyspCgl7CgkJbG9uZyBsb25nIGEsYixjOwoJCWNpbj4+YT4+Yj4+YzsKCQkKCQlEUFthLTFdW2ItMV09YzsKCQlEUFtiLTFdW2EtMV09YzsKCX0KCQoJZm9yKGxvbmcgbG9uZyBrPTA7azxuO2srKykKCXsKCQlmb3IobG9uZyBsb25nIGk9MDtpPG47aSsrKQoJCXsKCQkJZm9yKGxvbmcgbG9uZyBqPTA7ajxuO2orKykKCQkJewoJCQkJaWYoaSE9aiAmJiBEUFtpXVtrXSAhPSBMTE9OR19NQVggJiYgRFBba11bal0gIT0gTExPTkdfTUFYICYmIChEUFtpXVtqXSA+IERQW2ldW2tdICsgRFBba11bal0pKQoJCQkJewoJCQkJCURQW2ldW2pdID0gRFBbaV1ba10gKyBEUFtrXVtqXTsKCQkJCX0KCQkJfQoJCX0KCX0KCQoJZm9yKGxvbmcgbG9uZyBpPTA7aTxxO2krKykKCXsKCQlsb25nIGxvbmcgYSxiOwoJCWNpbj4+YT4+YjsKCQkKCQlpZihEUFthLTFdW2ItMV0gPT0gTExPTkdfTUFYKQoJCXsKCQkJY291dDw8LTE8PGVuZGw7CgkJfQoJCWVsc2UKCQl7CgkJCWNvdXQ8PERQW2EtMV1bYi0xXTw8ZW5kbDsKCQl9CgkJCgl9CgoKCXJldHVybiAwOwp9