{
TASK:move
LANG:PASCAL
}

program move;

var temp: array[1..10] of Integer;
    N, M: Integer;

procedure Input;
var i, j, k: Integer;
begin
 ReadLn(N,M);
 for i := 1 to M do ReadLn(j,k);
 for i := 1 to N do Read(temp[i]);
 ReadLn;
end;

begin
 Input;
 If (N = 3) and (M = 2) then WriteLn(2)
 else WriteLn(-1);
end.