uses crt; var a:array[1..10000,1..10000] of 0..1; x,z:array[1..10000] of integer; n,m,i,max,nr:integer; procedure citire; var i,yy,y,j:integer; f:text; begin readln(n,m); for i:=1 to m do read(x[i]); for i:=1 to m do read(z[i]); for i:=1 to n-1 do begin readln(yy,y); a[yy,y]:=1; a[y,yy]:=1; end; end; function min (k,x,j:integer):integer; var i:integer; begin if k=x then begin min:=0; end else begin for i:=1 to n do begin if a[k,i]=1 then { la primul element din matrice de pe linia numarului actual (k) si i, se trece la urmatorul nod (i) } begin { writeln(k,' ',i,' '); } {afisare drum} a[k,i]:=0; a[i,k]:=0; min:=min(i,x,j+1)+1; a[k,i]:=1; a[i,k]:=1; end; end; end; end; begin citire; max:=0; nr:=0; for i:=1 to m do begin nr:=min(x[i],z[i],0); if nr