const inf=1000000001;
var f,f2:text;
n,m,k,i,x,y,j,l:integer;
c:longint;
a:array[1..15000,1..15000] of longint;
begin
assign(f,'radiatie.in');
reset(f);
readln(f,n,m,k);
for i:=1 to n do
for j:=1 to n do begin
a[i,j]:=inf;
end;
for i:=1 to m do
begin
readln(f,x,y,c);
a[x,y]:=c;
a[y,x]:=c;
a[x,x]:=0;
a[y,y]:=0;
end;
for l:=1 to n do
for i:=1 to n do
for j:=1 to n do
if a[i,l]>a[l,j] then
if a[i,j]>a[i,l] then a[i,j]:=a[i,l]
else
else if a[i,j]>a[l,j] then a[i,j]:=a[l,j]
else
assign(f2,'radiatie.out');
rewrite(f2);
for i:=1 to k do begin
readln(f,x,y);
writeln(f2,a[x,y]);
end;
close(f2);
close(f);
end.