code:
#include<bits/extc++.h>
using namespace std;
using namespace __gnu_pbds;
cc_hash_table<pair<int,int>,int>mp;
int n,m,q;
int a,b,c;
int l,r;
void RUN(){
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
if(k!=i){
int t=mp[{i,k}];
if(t==0)continue;
int mx=k<i?k:i;
for(int j=1;j<=mx;j++)mp[{i,j}]=mp[{j,i}]=min(mp[{i,j}],t+mp[{k,j}]);
for(int j=k+1;j<=i;j++){
mp[{i,j}]=mp[{j,i}]=min(t+mp[{j,k}],mp[{i,j}]);
}
}
}
}
}
inline int query(int l,int r){return mp[{l,r}];}
int main(){
cin>>n>>m>>q;
for(register int i=1;i<=m;i++){
scanf("%d%d%d",&a,&b,&c);
mp[{a,b}]=mp[{b,a}]=c;
}
RUN();
for(register int i=1;i<=q;i++){
scanf("%d%d",&l,&r);
printf("%d\n",query(l,r));
}
}