program ziogas;
{ 93 u‘davinys }
  const MAX = 1000; { maksimalus virvut‚s ilgis }
  type lentele = array [0..MAX] of integer;

  function sokti (s, a, b, c: integer): integer;
    var l: lentele; { ‘ym‚sime pasiektus mazgus }
        i, zingsniai: integer;
        galima: boolean; { ar galima pasiekti naujas vietas virvut‚je }
  begin
    { nei vienoje virvut‚s vietoje ‘iogas dar nebuvo }
    for i := 1 to s do
      l[i] := -1;
    l[0] := 0;  { ‘iogas stovi ant virvut‚s galo }
    zingsniai := 0; { dar nepadar‚ nei vieno žuolio }
    galima := true;
    while galima and (l[c] = -1) do
      begin
        galima := false;
        { žoks  priek }
        for i := 0 to s-a do
          if (l[i] = zingsniai) and (l[i+a] = -1)
             then begin
                    galima := true;
                    l[i+a] := zingsniai + 1
                  end;
        { žoks atgal }
        for i := b to s do
          if (l[i] = zingsniai) and (l[i-b] = -1)
             then begin
                    galima := true;
                    l[i-b] := zingsniai + 1
                  end;
        zingsniai := zingsniai + 1
      end;
    sokti := l[c];
  end; { žokti }

  var s, a, b, c, rez: integer;
begin
  readln (s, a, b, c);
  rez := sokti(s, a, b, c);
  if rez = -1
     then writeln ('Negalima')
     else writeln (rez);
end.