program saligatviai;
  { 55 u‘davinys }
  type kvadr = record { kvadrat‚lio koordinat‚s }
                 x, y : integer;
               end;
  function ant (x, y : integer; k : kvadr) : boolean;
    { patikrina, ar kvadrat‚lis k yra ant lauko kražto }
  begin
    ant := (k.x = 1) or (k.x = x) or (k.y = 1) or (k.y = y)
  end;

  function toliau (k1, k2 : kvadr) : boolean;
    { tikrina, ar kvadrat‚lis k2 yra toliau u‘ k1 }
    { einant priežais laikrod‘io rodyklŠ }
  begin
    if k1.y = 1
       then if k2.y = 1
               then toliau := k1.x < k2.x
               else toliau := true
       else if k2.y = 1
               then toliau := true
               else toliau := k1.x > k2.x
  end;

  function galima (x, y : integer; a, b, c, d : kvadr) : boolean;
  begin
    if ant (x, y, a) and ant (x, y, b) and ant (x, y, c) and ant (x, y, d)
       then { jei visi tažkai ant kražto }
         begin
           if toliau (a, b)
              then if toliau (a, c) and toliau (c, b) xor
                      toliau (a, d) and toliau (d, a)
                      then galima := true
                      else galima := false
              else if toliau (b, c) and toliau (c, a) xor
                      toliau (b, d) and toliau (d, a)
                      then galima := true
                      else galima := false
         end
       else galima := true;
  end;

  var f : text;
      x, y : integer;
      a, b, c, d : kvadr;
begin
  assign (f, 'SALIG5.DAT');
  reset (f);
  readln (f, x, y);
  readln (f, a.x, a.y);
  readln (f, b.x, b.y);
  readln (f, c.x, c.y);
  readln (f, d.x, d.y);
  if galima (x, y, a, b, c, d)
     then writeln ('Galima')
     else writeln ('Negalima')
end.