program radiatie;
var f,g:text;
n,m,k:longint;
a:array[1..1001,1..1001] of longint;
procedure iofile;
var i,j,x,y,c:longint;
begin
assign(f,'radiatie.in');
reset(f);
assign(g,'radiatie.out');
rewrite(g);
readln(f,n,m,k);
for i:=1 to n do
begin
for j:=1 to n do
a[i,j]:=maxlongint;
a[i,i]:=0;
end;
for i:=1 to m do
begin
readln(f,x,y,c);
a[x,y]:=c;
a[y,x]:=c;
end;
end;
function max(x,y:longint):longint;
begin
if x>y then max:=x else max:=y;
end;
procedure roy_floyd;
var i,j,k:longint;
begin
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (i<>j)and(j<>k)and(i<>k) then
if a[i,j]>max(a[j,k],a[i,k]) then
a[i,j]:=max(a[j,k],a[i,k]);
end;
procedure prel;
var i,x,y:longint;
begin
for i:=1 to k do
begin
readln(f,x,y);
writeln(g,a[x,y]);
end;
close(g);
end;
begin
iofile;
roy_floyd;
prel;
end.