program didmeninis_pirkimas;
{ 151 u‘davinys }
  procedure pirkti (n, { kojini— por— skai‡ius }
                    deze, pund, pora: integer; { kainos }
                    var de_sk, pu_sk, po_sk: integer { perkami kiekiai });
    var kaina1, kaina2, kaina3: integer;
  begin
    { perkame tiksliai tiek kiek reikia preki— }
    de_sk := n div (12 * 12);
    pu_sk := n mod (12*12) div 12;
    po_sk := n mod 12;
    { apskai‡iuojame kiek kainuos m–s— pirkinys }
    kaina1 := de_sk * deze + pu_sk * pund + po_sk * pora;
    { apskai‡iuojame pirkimo antru b–du kain… }
    if po_sk > 0
       then kaina2 :=  de_sk * deze + (pu_sk + 1) * pund
       else kaina2 := maxint; { fiktyvi kaina }
    { apskai‡iuojame pirkimo tre‡iu b–du kain… }
    if pu_sk + po_sk > 0
       then kaina3 := (de_sk + 1) * deze
       else kaina3 := maxint;
    { rasime geriausi… pirkimo variant… }
    if (kaina2 <= kaina1) and (kaina2 < kaina3)
       then begin
              po_sk := 0;
              pu_sk := pu_sk + 1;
            end
    else if (kaina3 <= kaina2) and (kaina3 <= kaina1)
       then begin
              po_sk := 0; pu_sk := 0;
              de_sk := de_sk + 1;
            end;
  end; { pirkti }

  var n, pora, pund, deze, po_sk, pu_sk, de_sk: integer;
begin
  readln (n, deze, pund, pora);
  pirkti (n, deze, pund, pora, de_sk, pu_sk, po_sk);
  writeln ('D‚‘i— skai‡ius: ', de_sk);
  writeln ('Pundeli— skai‡ius: ', pu_sk);
  writeln ('Por— skai‡ius: ', po_sk);
end.