program Zadacha; {$APPTYPE CONSOLE} uses SysUtils; var i,j,n,m,l,k,s,p,r:integer; A:array[1..1000,1..1000] of integer; B:array[1..1000] of integer; C:array[1..1000] of byte; f1,f2:text; begin { TODO -oUser -cConsole Main : Insert code here } assign(f1,'penalty.in'); assign(f2,'penalty.out'); reset(f1); rewrite(f2); readln(f1,n,m); for i:=1 to n do begin for j:=1 to n do begin A[i,j]:=99999; end; end; for i:=1 to m do begin readln(f1,j,l); A[j,l]:=1; A[l,j]:=1; end; readln(f1,p); for i:=1 to n-1 do begin for j:=i+1 to n do begin for l:=1 to n do begin if (i<>l) and (j<>l) then if (A[i,j]<>99999) and (A[i,l]<>99999) and (A[l,j]<>99999)then begin A[i,j]:=0; A[j,i]:=0; end; end; end; end; for i:=1 to n do begin B[i]:=A[1,i]; end; C[1]:=1; for l:=1 to n-1 do begin m:=99998; for i:=1 to n do begin if (C[i]=0) and (m>B[i]) then begin k:=i; m:=B[i]; end; end; C[k]:=1; for i:=2 to n do begin if B[i]>B[k]+A[k,i] then B[i]:=B[k]+A[k,i]; end; end; r:=B[p]*1000; writeln(f2,r); close(f1); close(f2); end.