program task_d; {$APPTYPE CONSOLE} uses SysUtils; type list= array of longint; var f:text; a:array[1..100000] of list; n,m,i,j,st:longint; x,y,l:array[1..100000] of longint; visited:array[1..100000] of boolean; error:boolean; procedure connect(v:longint); var i:longint; begin visited[v]:=false; for i:=1 to l[v] do begin if (visited[a[v][i]]) then connect(a[v][i]); end; end; begin fillchar(l,sizeof(l),0); assign(f,'penalty.in'); reset(f); readln(f,n,m); for i:=1 to m do begin readln(f,x[i],y[i]); inc(l[x[i]]); inc(l[y[i]]); end; for i:=1 to n do setlength(a[i],l[i]); fillchar(l,sizeof(l),0); for i:=1 to m do begin inc(l[x[i]]); a[x[i]][l[x[i]]]:=y[i]; inc(l[y[i]]); a[y[i]][l[y[i]]]:=x[i]; end; readln(f,st); close(f); connect(st); error:=false; fillchar(visited,sizeof(visited),true); if (visited[1]) then error:=true; assign(f,'penalty.out'); rewrite(f); if (error) then writeln(f,-1) else writeln(f,0); close(f); fillchar(a,sizeof(a),0); { TODO -oUser -cConsole Main : Insert code here } end.