#include <bits/stdc++.h>
using namespace std ;
#define ll long long
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fir first
#define sec second
#define piint pair < int , int >
#define FOR( i , a , b ) for (int i = (a) , _b = (b) ; i <= _b ; i ++ )
#define pb push_back
#define str string
#define ALL(a) (a).begin() , (a).end()
#define rep( i , a , b) for (int i = (a) ; i < (b) ; i ++ )
#define ld long double
const int maxn = 1e5 ;
#define debug 0
#define oo (ll)(1e18)
int x[maxn+3] , y[maxn+3] ;
ll d[503][503] ;
vector < pair < int , ll > > a[maxn+3] ;
int n , m ;
int q ;
// void ijk ( int st )
// {
// FOR ( i , 0 , n ) {
// dp[i][st] = oo ;
// }
// dp[st][st] = 0 ;
// #define T pair < ll , int >
// priority_queue < T ,std::vector<T> , greater < T > > q ;
// q.push ( { 0 , st }) ;
// while (q.size()){
// auto [du , u ] = q.top() ;
// q.pop() ;
// if ( du > d[u][st]) continue ;
// for (auto [ v , w ] : a[u] ){
// if ( d[v][st] > d[u][st] + w ) {
// d[v][st] = d[u][st] + w ;
// q.push ( { v , d[v][st] } );
// }
// }
// }
// }
ll dp[maxn+3][503] ;
bool save[503][503] ;
void sub1(){
// FOR ( i , 1 , n ) ijk ( i ) ;
FOR ( k , 1 , n )
FOR ( i , 1 , n )
FOR ( j , 1 , n )
if( d[i][j] != oo && d[k][j] != oo ){
d[i][j] = min ( d[i][j] , d[i][k] + d[k][j]) ;
}
memset ( dp , -1 , sizeof (dp) ) ;
dp[0][1] = 0 ;
ll res = 0 ;
FOR ( i , 1 , q ) {
int X_I = x[i] ;
int Y_I = y[i] ;
FOR ( u ,1 , n ) {
if ( dp[i-1][u] == -1 ) continue ;
else {
dp[i][u] = max ( dp[i][u] , dp[i-1][u] ) ;
res = max ( res , dp[i][u]) ;
if ( (save[u][X_I]||u==X_I) && d[X_I][Y_I] != oo ){
ll val = d[X_I][Y_I] ;
dp[i][Y_I] = max ( dp[i][Y_I] , dp[i-1][u]+val) ;
res = max ( res , dp[i][Y_I ]) ;
}
}
}
}
cout << res ;
}
#define name "TASK"
int main(){
fast
if(fopen(name".INP","r")) {
freopen (name".INP","r",stdin);
freopen (name".OUT","w",stdout);
}
cin >> n>> m ;
cin >> q;
FOR ( i , 1 , n )
FOR ( j , 1 , n )
if(i==j)continue ;
else d[i][j] = oo ;
FOR ( i , 1 , m ) {
ll u , v , w ; cin >> u >> v >> w ;
d[u][v] = d[v][u] = min ( d[u][v] , w );
save[u][v] = save[v][u] = 1;
a[u].pb ( { v , w }) ;
a[v].pb ( { u , w }) ;
}
FOR ( i , 1 , q ) {
cin >> x[i] >> y[i] ;
}
if ( n <= 500 ) sub1() ;
cerr << "\nTIME: = " << (1.0*clock())/CLOCKS_PER_SEC << '\n';
return(0) ;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQgOyAKCgojZGVmaW5lIGxsIGxvbmcgbG9uZyAKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwojZGVmaW5lIGZpciBmaXJzdCAKI2RlZmluZSBzZWMgc2Vjb25kIAojZGVmaW5lIHBpaW50IHBhaXIgPCBpbnQgLCBpbnQgPgojZGVmaW5lIEZPUiggaSAsIGEgLCBiICkgZm9yIChpbnQgaSA9IChhKSAsIF9iID0gKGIpIDsgaSA8PSBfYiA7IGkgKysgKSAgCiNkZWZpbmUgcGIgcHVzaF9iYWNrIAojZGVmaW5lIHN0ciBzdHJpbmcgCiNkZWZpbmUgQUxMKGEpIChhKS5iZWdpbigpICwgKGEpLmVuZCgpIAojZGVmaW5lIHJlcCggaSAsIGEgLCBiKSBmb3IgKGludCBpID0gKGEpIDsgaSA8IChiKSA7IGkgKysgKQojZGVmaW5lIGxkIGxvbmcgZG91YmxlCmNvbnN0IGludCBtYXhuID0gMWU1IDsKI2RlZmluZSBkZWJ1ZyAwCiNkZWZpbmUgb28gKGxsKSgxZTE4KQoKCmludCB4W21heG4rM10gLCB5W21heG4rM10gOwoKbGwgZFs1MDNdWzUwM10gOwp2ZWN0b3IgPCBwYWlyIDwgaW50ICwgbGwgPiA+IGFbbWF4biszXSA7CmludCBuICwgbSA7IAppbnQgcSA7IAoKLy8gdm9pZCBpamsgKCBpbnQgc3QgKSAKLy8gewoKCi8vIAlGT1IgKCBpICwgMCAsIG4gKSB7Ci8vIAkJZHBbaV1bc3RdID0gb28gOwovLyAJfQovLyAJZHBbc3RdW3N0XSA9IDAgOwovLyAJI2RlZmluZSBUIHBhaXIgPCBsbCAsIGludCA+IAovLyAJcHJpb3JpdHlfcXVldWUgPCBUICxzdGQ6OnZlY3RvcjxUPiAsIGdyZWF0ZXIgPCBUID4gPiBxIDsKLy8gCXEucHVzaCAoIHsgMCAsIHN0IH0pIDsKLy8gCXdoaWxlIChxLnNpemUoKSl7Ci8vIAkJYXV0byBbZHUgLCB1IF0gPSBxLnRvcCgpIDsKLy8gCQlxLnBvcCgpIDsKLy8gCQlpZiAoIGR1ID4gZFt1XVtzdF0pIGNvbnRpbnVlIDsKLy8gCQlmb3IgKGF1dG8gWyB2ICwgdyBdIDogYVt1XSApewovLyAJCQlpZiAoIGRbdl1bc3RdID4gZFt1XVtzdF0gKyB3ICkgewovLyAJCQkJZFt2XVtzdF0gPSBkW3VdW3N0XSArIHcgOwovLyAJCQkJcS5wdXNoICggeyB2ICwgZFt2XVtzdF0gfSApOyAKLy8gCQkJfQovLyAJCX0KLy8gCX0KLy8gfQpsbCBkcFttYXhuKzNdWzUwM10gOwpib29sIHNhdmVbNTAzXVs1MDNdIDsKdm9pZCBzdWIxKCl7CgkvLyBGT1IgKCBpICwgMSAsIG4gKSBpamsgKCBpICkgOwoJRk9SICggayAsIDEgLCBuICkgCglGT1IgKCBpICwgMSAsIG4gKSAKCUZPUiAoIGogLCAxICwgbiApIAoJaWYoIGRbaV1bal0gIT0gb28gJiYgZFtrXVtqXSAhPSBvbyApewoJCWRbaV1bal0gPSBtaW4gKCBkW2ldW2pdICwgZFtpXVtrXSArIGRba11bal0pIDsKCX0KCW1lbXNldCAoIGRwICwgLTEgLCBzaXplb2YgKGRwKSApIDsKCWRwWzBdWzFdID0gMCA7CglsbCByZXMgPSAwIDsKCUZPUiAoIGkgLCAxICwgcSApIHsKCQlpbnQgWF9JID0geFtpXSA7CgkJaW50IFlfSSA9IHlbaV0gOwoJCUZPUiAoIHUgLDEgLCAgbiApIHsKCQkJaWYgKCBkcFtpLTFdW3VdID09IC0xICkgY29udGludWUgOwoJCQllbHNlIHsKCQkJCWRwW2ldW3VdID0gbWF4ICggZHBbaV1bdV0gLCBkcFtpLTFdW3VdICkgOwoJCQkJcmVzID0gbWF4ICggcmVzICwgZHBbaV1bdV0pIDsKCQkJCWlmICggKHNhdmVbdV1bWF9JXXx8dT09WF9JKSAmJiBkW1hfSV1bWV9JXSAhPSBvbyApewoJCQkJCWxsIHZhbCA9IGRbWF9JXVtZX0ldIDsKCQkJCQlkcFtpXVtZX0ldID0gbWF4ICggZHBbaV1bWV9JXSAsIGRwW2ktMV1bdV0rdmFsKSA7CgkJCQkJcmVzID0gbWF4ICggcmVzICwgZHBbaV1bWV9JIF0pIDsKCQkJCX0KCQkJfQoJCX0KCX0KCWNvdXQgPDwgcmVzIDsKCn0KI2RlZmluZSBuYW1lICJUQVNLIiAKaW50IG1haW4oKXsKICAgIGZhc3QgCiAgICBpZihmb3BlbihuYW1lIi5JTlAiLCJyIikpIHsKICAgICAgICBmcmVvcGVuIChuYW1lIi5JTlAiLCJyIixzdGRpbik7CiAgICAgICAgZnJlb3BlbiAobmFtZSIuT1VUIiwidyIsc3Rkb3V0KTsKICAgIH0KICAgIGNpbiA+PiBuPj4gbSA7CiAgICBjaW4gPj4gcTsgCglGT1IgKCBpICwgMSAsIG4gKQoJRk9SICggaiAsIDEgLCBuICkgCglpZihpPT1qKWNvbnRpbnVlIDsKCWVsc2UgZFtpXVtqXSA9IG9vIDsKICAgIEZPUiAoIGkgLCAxICwgbSApIHsKICAgIAlsbCB1ICwgdiAsIHcgOyBjaW4gPj4gdSA+PiB2ID4+IHcgOwogICAgCWRbdV1bdl0gPSBkW3ZdW3VdID0gbWluICggZFt1XVt2XSAsIHcgKTsKICAgIAlzYXZlW3VdW3ZdID0gc2F2ZVt2XVt1XSA9IDE7IAogICAgCWFbdV0ucGIgKCB7IHYgLCB3IH0pIDsKICAgIAlhW3ZdLnBiICggeyB1ICwgdyB9KSA7CiAgICB9CiAgICBGT1IgKCBpICwgMSAsIHEgKSB7CgogICAgCWNpbiA+PiB4W2ldID4+IHlbaV0gOwoKICAgIH0KICAgIGlmICggbiA8PSA1MDAgKSBzdWIxKCkgOwoKICAgIGNlcnIgPDwgIlxuVElNRTogPSAiIDw8ICgxLjAqY2xvY2soKSkvQ0xPQ0tTX1BFUl9TRUMgPDwgJ1xuJzsKICAgIHJldHVybigwKSA7Cn0=