var n,a,b,i:longint;
begin
//assign(input,'sdhyy.in');reset(input);
//ssign(output,'sdhyy.out');rewrite(output);
readln(n,a,b);
for i:=0 to n div a do
  if (n-i*a) mod b=0 then
    begin
    writeln('YES');
    writeln(i,' ',(n-i*a) div b);
    close(input);close(output);
    halt;
    end;
writeln('NO');
close(input);close(output);
end.

//{$R-,Q-,S-,I-}
Uses math;
Const
        fin='';
        fon='';
	//fin='.inp';
	//fon='.out';
        maxC=1000000000;
        maxN=1000+10;
	module=1000000007;

Type
	pnode=^tnode;
        tnode=record
                v,c:longint;
                next:pnode;
		end;
	re=record
		x,y:longint;
		end;

Var
        fi,fo:text;
	n,a,b:longint;

Procedure mo;
Begin
        Assign(fi,fin); Reset(fi);
        Assign(fo,fon); Rewrite(fo);
End;

Procedure dong;
Begin
        Close(fi);
        Close(fo);
End;

Procedure nhap;
Var
	i:longint;
Begin
        Readln(fi,n,a,b);
End;

Procedure xuly;
Var
        i,j:longint;
Begin
        For i:=0 to n div a do
        Begin
                j:=(n-a*i) div b;
                If j<0 then break;
                If i*a+j*b=n then
                Begin
                        Writeln(fo,'YES');
                        Writeln(fo,i,' ',j);
                        Exit;
                End;
        End;
        Writeln(fo,'NO');
End;

Procedure xuat;
Begin
End;

BEGIN
        Mo;
        Nhap;
        Xuly;
        Xuat;
        Dong;
END.

var i,n,a,b:longint;
Begin
    read(n,a,b);
    if(n=0) then begin writeln('YES');writeln(0,' ',0);halt(0);end;
    for i:=0 to (n div a)+1 do
    if(i*a<=n)and((n-i*a) mod b =0) then begin
        Writeln('YES');
        writeln(i,' ',(n-i*a) div b);
        halt(0);
    end;
    writeln('NO');
end.

var
bol:boolean;
n,a,b,i:int64;
begin
readln(n);
readln(A);
readln(b);
i:=0;
while true do begin
     if (n-i*a) mod b= 0 then begin
         bol:=true;
         writeln('YES');
         writeln(i,' ',(n-i*a) div b);
         break;
     end;
     inc(i);
     if (n-i*a)<0 then begin
         writeln('NO');
         break;
     end;
end;
end.

var n,a,b:int64;
    x:longint;
begin
  read(n,a,b);
  for x:=0 to n do
  if ((n-x*a) mod b=0)and(n>=x*a) then
  begin
    writeln('YES');
    writeln(x,' ',(n-x*a)div b);
    exit;
  end else
  if (n<x*a) then break;
  writeln('NO');
end.

var n,a,b,x,y,ca,cb:longint;ok:boolean;
BEGIN
   read(n,a,b);
   repeat
      cb:=n-ca;
      if cb mod b = 0 then begin
         ok:=true;
         y:=cb div b;
      end;
      inc(x);
      ca:=x*a;
   until (ca>n) or ok;
   if ok then write('YES',#10,x-1,' ',y)
   else write('NO');
END.

var n,a,b,x:longint;
begin
  readln(n,a,b);
  for x:=0 to n div a do
    if ((n-x*a)mod b=0) then
    begin
      writeln('YES');
      writeln(x,' ',(n-x*a) div b);
      halt;
    end;
  writeln('NO');
end.

program Matfey;
var
y1,y2,y3,y4,x12,x11,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 : longint;
j,i,k : longint;
s1,s2,s3,s4,s5 : string;
r1,r2,r3,r4,r5,r6,r7,r8 : longint;
c1,c2,c3,c4,c5,c6,c7,c8,c9,c10 : char;
{s1,s2,s3,s4,s5,s6,s7,s8,s9,s10 : string;}
a1,a2 : array[1..100001] of longint;

begin
readln(x1);
readln(x2);
readln(x3);

for i:=0 to x1 do
begin
if ((x1-i*x2) div x3)<0 then break;
if ((x1-(i*x2)) mod x3)=0 then begin writeln('YES'); writeln(i,' ',(x1-i*x2) div x3); exit; end;
end;

writeln('NO');
end.

////ufasdaes cfdartfad;
var
a,b,c,d,d2,m,m2,ost:int64;
i,j:longint;
begin
//////////////////////cdldrrstsfgcghrr;
read(a,b,c);
m:=a div b;
//if (a-b*m) mod c=0 then writeln('Yes');
for i:=0 to m do
begin
d:=b*i;
ost:=a-d;

//writeln(ost);
if ost mod c=0 then begin writeln('YES');writeln((i),' ',ost div c);halt;end;
end;
write('NO');
//if ost mod c=0 then write('Yes');

{if a mod b=0 then begin writeln('YES');write(a div b,' ',0);halt;end;
if a mod c=0 then begin writeln('YES');write(a div c,' ',0);halt;end;

for i:=1 to b do
for j:=1 to c do
begin
if (i*b)+(j*c)=a then begin m:=i;m2:=j;end;

end;
if m*b+m2*c=a then begin writeln('YES');write(m,' ',m2);halt;end;

write('NO');
}//end;
end.

program a1;
  var n,k,a,b,l,u:longint;
  begin
  readln(n,a,b);
  k:=0;
  l:=0;
  if n mod a=0 then begin
                    u:=0;
                    k:=n div a;
                    l:=0;
                    end;
  if n mod b=0 then begin
                    u:=0;
                    k:=0;
                    l:=n div b;
                    end;
  if (n mod b<>0) and (n mod a<>0) then begin
                                      u:=1;
                                      while (n>=0) and (u=1) do begin
                                                                n:=n-a;
                                                                k:=k+1;
                                                                if n mod b=0 then begin
                                                                                l:=n div b;
                                                                                u:=0;
                                                                                end;
                                                                end;
                                      if n<0 then u:=1;
                                      end;
  if u=1 then writeln('NO')
  else begin
  writeln('YES');
  writeln(k,' ',l);
  end;
  end.

var
g,d,f:int64;
s,otv:real;
i,j,j2:longint;                   // 777
tx,txt:text;                      // 747
a,b,c:string;                     // 777
cho2,cho:array[1..1000]of int64;
begin
read(g,d,f);
for i:=0 to g do
begin
//writeln('g-d*i=loxxxxxxotron',g-d*i);

if ((g-i*d) mod f=0)and(g-i*d>-1) then begin writeln('YES'); write(i,' ',(g-i*d) div f);halt;end;

;end;
write('NO');
end.

var n,a,b,x,k:longint;
begin
 readln(n,a,b);
 if n mod a=0 then begin writeln('YES');
  writeln(n div a,' 0');halt; end
 else
  if n mod b=0 then begin writeln('YES');
   writeln('0 ',n div b);halt;end;
 if b>a then
  begin
   x:=a;
   a:=b;
   b:=x;
   x:=2;
  end
 else
  x:=1;
 k:=0;
 while n>0 do
  begin
   n:=n-a;
   k:=k+1;
   if (n mod b=0)and(n>0) then
    begin
     if x=1 then begin writeln('YES');
      writeln(k,' ',n div b);end
     else begin writeln('YES');
      writeln(n div b,' ',k); end;
     x:=0;
     break;
    end;
  end;
 if x<>0 then
  writeln('NO');
end.

var a,b,c,d,e,n,i,k:longint;
begin
readln(n,a,b);
d:=n div a;
if (n mod b=0)then begin
 writeln('YES');
 write(0,' ',n div b);
 exit;
 end else if n mod a=0 then begin
 writeln('YES');
 write(n div a,' ',0);
 exit;
 end;
for k:=d downto 1 do begin
if (n-(k*a))mod b =0 then begin
  writeln('YES');
  write(k ,' ',(n-(k*a))div b);
  exit;
  end;
  end;
  write('NO');
end.

program s1;
var i,n,n1,a,b,c:integer;
begin
readln (n,a,b);
for i:= 0 to n div a do
if (n - a * i >= 0) and ((n-a*i) mod b=0) then begin
writeln ('YES'); write (i,' ',(n-a*i) div b);
halt (0);
end;
writeln ('NO');
end.

var n, a, b, i, ka, kb:integer;
BEGIN
  readln(n, a, b);
  ka:=0;
  while(n>=0)and(n mod b<>0)do
    begin
      n:=n-a;
      ka:=ka+1;
    end;
  if(n<0)
    then writeln('NO')
    else begin
           writeln('YES');
           kb:=n div b;
           writeln(ka, ' ', kb);
         end;
END.

var a,s,d,f,g:integer;
begin
  read (a,s,d);
  for f:=0 to (a div s)+1 do
  if ((a-f*s) mod d=0) and (a-f*s>=0) then begin
                          writeln ('YES');
                          write (f,' ',(a-f*s) div d);
                          halt;
                        end;
                        write ('NO')
end.

var
  n: int64;
  a, b,x,y: int64;
  i, j: int64;
  f: boolean;

begin
  read(n);
  read(a);
  read(b);
  x:=a;
  y:=b;
  f:=false;
  while x<>y do
    if x>y then x:=x-y
           else y:=y-x;
  if n mod x <>0 then
  else
  if (a mod 2=0) and (b mod 2=0) and (n mod 2<>0) then
  else
  if (a=b) and (n mod a<>0) then
  else
  begin
  for i := 0 to n div a do
  begin
    for j := 0 to n div b do
      if i * a + j * b = n then
      begin
        f := true;
        break;
      end;
    if f then break;
  end;
  end;
  if f then begin writeln('YES');write(i, ' ', j); end
       else writeln('NO');
end.

var
 n,a,b,i:longint;
begin
 readln(n);
 readln(a);
 readln(b);
 for i:=0 to n div a do
  if (n-i*a) mod b=0 then
   begin
    writeln('YES');
    writeln(i,' ',(n-i*a) div b);
    halt;
   end;
 writeln('NO');
end.

Program CodeF_451_A;
var i,n,a,b,kol:longint;
    m:array[1..1]of longint;
    //reb:array[1..1]of array[1..2]of longint;

begin
read(n, a, b);
while (n mod b<>0) and (n>=0)  do
  begin
  n:=n-a;
  inc(kol)
  end;

if n<0 then
  begin
  writeln('NO');
  exit;
  end;

writeln('YES');
writeln(kol, ' ', n div b);

end.

program abc;
var n,a,b,x,y:integer;
begin
readln(n,a,b);
for x:=0 to n div a do
begin
if (n-a*x) mod b = 0 then begin
y:=(n-a*x) div b;
writeln('YES');
writeln(x,' ',y);
Halt(0);
end;
end;
writeln('NO');
end.

   const eps=0.000000001;  besk=20000000000008;
               modul=1000000007;
   label 1,2,3,4,5,6;
    type
    mas=array [-100..1000000] of int64;   point=record x,y,z,vx,vy,vz:int64;end;
    zap=record p1,p2,p3 :int64;end; zap1=^zap; point1=^point;
    mass=array[-100..1000000] of int64;mass1=^mass;
    var hc,ac,hv,av,hh,ott,gr,xx,yy,sum,ogr,jloz,jnew,i1,i2,i3,maxdob,nn,kk,pos1,pos2,start,ans,pp,qq,aaa,bbb,ccc,tt,aa,bb,jj,ii,time,ppp,istart,jstart,iii,newdl, t1,t2,cc,ll,rr,oldpos,t,jjj,kol,pos,dloch,told,p,q,pmin,ppold,ot,pmax,imax,p1,p2,p3,p4,l,nm,n,s2,m,smin,cen:int64;
   mask,k, step, i,j:longint;
   pointnew,pointold,pointklad,ppoint:point;
    vot,distmin,dist,s0,s1,aanew,bbnew:extended;
    mm,mx,my,mz,dx,dy,dz,maxright,fact,aold,y,och,s,d11,prev,next,z,x,newc,d,nap:array[-10..2000008] of int64;
    a,b,c:array[-100..1000000] of int64;
    sd:array[-1000..1000000] of char;
    yyy:array[-10..10000] of extended;
    dot,ddd:array[-10..1210000] of int64;
    ddminus, ppole:array[-1..200,-10..150,-1..150] of int64;
   sss,text1,text2:array[-10..2000000] of string;
   zanxy,zanxz,zanyz:array[-1..200,-1..200] of boolean;
     stest,ss3,ss1,ss2:string;
     ch1,ch2:char;
     variant,peres,dd1,dd:array[-1..700,-1..6000] of int64;
     zan,zana,zanb:array[-10..2000000] of boolean;
     marked:array[-100..15000] of boolean;
    {sss:string;ch:char;
   } pole :array [-10..1500,-10..1500] of char;
    st:array[-100..100000] of string;
    stest1,ss:string;
     v0,v1,t0:extended;
     zv:point;
     newx,newy:array[-1..200000] of int64;

     koef,yot:extended;
      globflag, flag2,flag,flag1:boolean;
    function al(x,y:extended):extended; var t0,t1,p,s0,s1:extended;
 begin
     if (x>0)and(y>=0) then p:=arctan(y/x);
     if x<0 then p:=pi+arctan(y/x);
     if(x>0)and(y<0) then p:=2*pi+arctan(y/x);
     if x=0 then if (y>=0) then p:=pi/2 else p:=3*pi/2;
     al:=p/pi*180;
 end;
  function min(x,y:int64):int64;begin min:=x;if y<x then min:=y; end;
  function max(x,y:int64):int64;begin max:=x;if y>x then max:=y; end;

  function nod(x,y:int64):int64; var z:int64;
begin   repeat  z:=x mod y;x:=y;y:=z;   until  z=0 ;  nod:=x;end;

{procedure udal(ii:longint);
begin  next[prev[ii]]:=next[ii]; prev[next[ii]]:=prev[ii];  end;
 }
function degg(a,k:int64):int64; var p:int64;
begin
 if k<=0 then degg:=1 else if odd(k) then degg:=degg(a,k-1)*a mod modul else
   begin  p:=degg(a,k div 2); degg:=p*p mod modul;   end;

end;

begin

   read(cc,aa,bb);
   t:=round(cc/aa);
   for i:=0 to t do
     begin
        hh:=cc-i*aa;
        if (hh mod bb=0)and(hh>=0) then
          begin
              writeln('YES');
              writeln(i,' ',hh div bb);
              goto 1;

          end;

     end;

     writeln('NO');

   1:    close(output);
end.

var i,j,x,y,n,a,b: longint;
begin
readln(n);
readln(a);
readln(b);
for i:=0 to n div a do begin
    y:=(n-i*a) div b;
    x:=(n-i*a) mod b;
    if x=0 then break;
    end;
if x<>0 then writeln('NO') else begin writeln('YES');
                                       writeln(i,' ',y);
                                       end;
end.

Const fi='';//propernutrition.inp';
      fo='';

Var f:text;
    n,a,b:longint;

Procedure       input;
   begin
      assign(f,fi);     reset(f);
      readln(f,n);
      readln(f,a);
      readln(f,b);
      close(f);
   end;

Procedure       process;
   var i:longint;
   begin
      for i:=0 to n div a do if (n-a*i) mod b=0 then
      begin
         writeln(f,'YES');
         write(f,i,' ',(n-a*i) div b);
         exit;
      end;
      write(f,'NO');
   end;

BEGIN
   input;
   assign(f,fo);        rewrite(f);
   process;
   close(f);
END.

var n,x,y,i:Longint;
begin
readln(n);
readln(x);
readln(y);
if n div x<=n div y then
  begin
  for i:=0 to n div x do
    if (n-x*i) mod y=0 then
      begin
      writeln('YES');
      writeln(i,' ',(n-x*i) div y);
      halt;
      end;
  end
else
  begin
  for i:=0 to n div y do
    if (n-y*i) mod x=0 then
      begin
      writeln('YES');
      writeln((n-y*i) div x,' ',i);
      halt;
      end;
  end;
writeln('NO');
end.

var
  n,a,b,k,t:int64;

begin
  readln(n);
  readln(a);
  readln(b);
  while(n>0)do
    begin
      if(n mod a=0)then begin writeln('YES');writeln(n div a,' ',k);halt;end;
      dec(n,b);
      inc(k);
    end;
  if(n=0)then begin writeln('YES');writeln(0,' ',k);halt;end;
  writeln('NO');
end.

var
  i, n, a, b : Longint;
begin
  readln( n );
  readln( a );
  readln( b );
  for i := 0 to n div a do
    if ( n - ( i * a ) ) mod b = 0
      then
        begin
          writeln( 'YES' );
          writeln( i, ' ', ( n - ( i * a ) ) div b );
          halt;
        end;
  writeln( 'NO' );
end.

var n,i,j,a,b:longint;
 begin
  readln(n);
  readln(a);
  readln(b);
  {if (a mod 2=0)and (b mod 2=0)and (n mod 2=1)then begin writeln('NO');exit; end;

  for i:=0 to n div a do
   for j:=0 to n div b do
    if ((a*i)+(b*j))=n then begin writeln('YES'); writeln(i,' ',j);exit; end;
  writeln('NO');   }

  for i:=0 to n div a do
   if (n-i*a)mod b=0 then begin writeln('YES'); writeln(i,' ',(n-i*a) div b);exit; end;
  writeln('NO');
 end.

var i,j,x,y,n,a,b: longint;
begin
readln(n);
readln(a);
readln(b);
for i:=0 to (n div a)+1 do begin
    y:=(n-i*a) div b;
    x:=(n-i*a) mod b;
    if x=0 then break;
    end;
if x<>0 then writeln('NO') else begin writeln('YES');
                                       writeln(i,' ',y);
                                       end;
end.

var
  n,a,b,k,t:int64;

begin
  readln(n);
  readln(a);
  readln(b);
  while(n>0)do
    begin
      if(n mod a=0)then begin writeln('YES');writeln(n div a,' ',k);halt;end;
      dec(n,b);
      inc(k);
    end;
  writeln('NO');
end.

var
  n,a,b,k,t:int64;

begin
  readln(n);
  readln(a);
  readln(b);
  while(n>0)do
    begin
      if(n mod a=0)then begin writeln('YES');writeln(n div a,' ',k);halt;end;
      dec(n,b);
      inc(k);
    end;
  if(n mod a=0)then begin writeln('YES');writeln(n div a,' ',k);halt;end;
  writeln('NO');
end.

var
  i, n, a, b : Longint;
begin
  readln( n );
  readln( a );
  readln( b );
  for i := 1 to n div a do
    if ( n - ( i * a ) ) mod b = 0
      then
        begin
          writeln( 'YES' );
          writeln( i, ' ', ( n - ( i * a ) ) div b );
          halt;
        end;
  writeln( 'NO' );
end.

var
  i, n, a, b : Longint;
begin
  readln( n );
  readln( a );
  readln( b );
  for i := 1 to n div a do
    if ( n - ( i * a ) ) mod b = 0
      then
        begin
          writeln( 'YES' );
          writeln( i, ' ', ( n - ( i * a ) ) div b );
        end;
end.

var n,i,j,a,b:longint;
 begin
  readln(n);
  readln(a);
  readln(b);
  for i:=0 to a do
   for j:=0 to b do
    if ((a*i)+(b*j))=n then begin writeln('YES'); writeln(i,' ',j);exit; end;
  writeln('NO');
 end.

var n,i,j,a,b:longint;
 begin
  readln(n);
  readln(a);
  readln(b);
  if (a mod 2=0)and (b mod 2=0)and (n mod 2=1)then begin writeln('NO');exit; end;

  if (a mod 2=1)or (b mod 2=1)and (n mod 10=0)then begin writeln('NO');exit; end;
  for i:=0 to n div a do
   for j:=0 to n div b do
    if ((a*i)+(b*j))=n then begin writeln('YES'); writeln(i,' ',j);exit; end;
  writeln('NO');
 end.

var n,i,j,a,b:longint;
 begin
  readln(n);
  readln(a);
  readln(b);
  if (a mod 2=0)and (b mod 2=0)and (n mod 2=1)then begin writeln('NO');exit; end;

  if (a mod 10=3)or(a mod 10=7)or(b mod 10=3)or(b mod 10=7)and (n mod 10=0)then
  begin writeln('NO');exit; end;
  for i:=0 to n div a do
   for j:=0 to n div b do
    if ((a*i)+(b*j))=n then begin writeln('YES'); writeln(i,' ',j);exit; end;
  writeln('NO');
 end.

//{$R-,Q-,S-,I-}
Uses math;
Const
        fin='';
        fon='';
	//fin='.inp';
	//fon='.out';
        maxC=1000000000;
        maxN=1000+10;
	module=1000000007;

Type
	pnode=^tnode;
        tnode=record
                v,c:longint;
                next:pnode;
		end;
	re=record
		x,y:longint;
		end;

Var
        fi,fo:text;
	n,a,b:longint;

Procedure mo;
Begin
        Assign(fi,fin); Reset(fi);
        Assign(fo,fon); Rewrite(fo);
End;

Procedure dong;
Begin
        Close(fi);
        Close(fo);
End;

Procedure nhap;
Var
	i:longint;
Begin
        Readln(fi,n,a,b);
End;

Procedure xuly;
Var
        i,j:longint;
Begin
        For i:=1 to n div a do
        Begin
                j:=(n-a*i) div b;
                If j<0 then break;
                If i*a+j*b=n then
                Begin
                        Writeln(fo,'YES');
                        Writeln(fo,i,' ',j);
                        Exit;
                End;
        End;
        Writeln(fo,'NO');
End;

Procedure xuat;
Begin
End;

BEGIN
        Mo;
        Nhap;
        Xuly;
        Xuat;
        Dong;
END.

//{$R-,Q-,S-,I-}
Uses math;
Const
        fin='';
        fon='';
	//fin='.inp';
	//fon='.out';
        maxC=1000000000;
        maxN=1000+10;
	module=1000000007;

Type
	pnode=^tnode;
        tnode=record
                v,c:longint;
                next:pnode;
		end;
	re=record
		x,y:longint;
		end;

Var
        fi,fo:text;
	n,a,b:longint;

Procedure mo;
Begin
        Assign(fi,fin); Reset(fi);
        Assign(fo,fon); Rewrite(fo);
End;

Procedure dong;
Begin
        Close(fi);
        Close(fo);
End;

Procedure nhap;
Var
	i:longint;
Begin
        Readln(fi,n,a,b);
End;

Procedure xuly;
Var
        i,j:longint;
Begin
        For i:=1 to n div a do
        Begin
                j:=(n-a*i) div b;
                If i*a+j*b=n then
                Begin
                        Writeln(fo,'YES');
                        Writeln(fo,i,' ',j);
                        Exit;
                End;
        End;
        Writeln(fo,'NO');
End;

Procedure xuat;
Begin
End;

BEGIN
        Mo;
        Nhap;
        Xuly;
        Xuat;
        Dong;
END.

program Matfey;
var
y1,y2,y3,y4,x12,x11,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 : longint;
j,i,k : longint;
s1,s2,s3,s4,s5 : string;
r1,r2,r3,r4,r5,r6,r7,r8 : longint;
c1,c2,c3,c4,c5,c6,c7,c8,c9,c10 : char;
{s1,s2,s3,s4,s5,s6,s7,s8,s9,s10 : string;}
a1,a2 : array[1..100001] of longint;

begin
readln(x1);
readln(x2);
readln(x3);

for i:=0 to x1 do
begin
if ((x1-(i*x2)) mod x3)=0 then begin writeln('YES'); writeln(i,' ',(x1-i*x2) div x3); exit; end;
end;

writeln('NO');
end.

var
a,b,c,d,d2,m,m2:int64;
i,j:longint;
begin
read(a,b,c);

for i:=1 to b do
for j:=1 to c do
begin
if (i*b)+(j*c)=a then begin m:=i;m2:=j;end;

end;
if m*b+m2*c=a then begin writeln('YES');write(m,' ',m2);halt;end;

write('NO');
//end;
end.

var
a,b,c,d,d2,m,m2:int64;
i,j:longint;
begin

read(a,b,c);

if a mod b=0 then begin writeln('YES');write(a div b,' ',0);halt;end;
if a mod c=0 then begin writeln('YES');write(a div c,' ',0);halt;end;

for i:=1 to b do
for j:=1 to c do
begin
if (i*b)+(j*c)=a then begin m:=i;m2:=j;end;

end;
if m*b+m2*c=a then begin writeln('YES');write(m,' ',m2);halt;end;

write('NO');
//end;
end.

var
a,b,c,d,d2,m,m2:int64;
i,j:longint;
begin
read(a,b,c);

for i:=1 to b do
for j:=1 to c do
begin
if (i*b)+(j*c)=a then begin m:=i;m2:=j;end;

end;
if m*b+m2*c=a then begin writeln('Yes');write(m,' ',m2);halt;end;

write('No');
//end;
end.

var
g,d,f:int64;
s,otv:real;
i,j,j2:longint;                   // 777
tx,txt:text;                      // 747
a,b,c:string;                     // 777
cho2,cho:array[1..1000]of int64;
begin
read(g,d,f);
for i:=0 to 11111 do
begin
//writeln('g-d*i=loxxxxxxotron',g-d*i);

if ((g-i*d) mod f=0)and(g-i*d>-1) then begin writeln('YES'); write(i,' ',(g-i*d) div f);halt;end;

;end;
write('NO');
end.

var
g,d,f:int64;
s,otv:real;
i,j,j2:longint;
tx,txt:text;
a,b,c:string;
cho2,cho:array[1..1000]of int64;
begin
read(g,d,f);
for i:=0 to 1111 do
for j:=0 to 1111 do
if i*d+f*j=g then begin writeln('YES'); write(i,' ',j);halt;end;
write('NO');
end.

var
g,d,f:int64;
s,otv:real;
i,j,j2:longint;
tx,txt:text;
a,b,c:string;
cho2,cho:array[1..1000]of int64;
begin
read(g,d,f);
for i:=0 to g do
if (g-i*d) mod f=0 then begin writeln('YES'); write(i,' ',(g-i*d) div f);halt;end;
write('NO');
end.

var
g,d,f:int64;
s,otv:real;
i,j,j2:longint;
tx,txt:text;
a,b,c:string;
cho2,cho:array[1..1000]of int64;
begin
read(g,d,f);
for i:=0 to 11111 do
if (g-i*d) mod f=0 then begin writeln('YES'); write(i,' ',(g-i*d) div f);halt;end;
write('NO');
end.

var n,a,b,x,k:longint;
begin
 readln(n,a,b);
 if n mod a=0 then begin writeln('YES');
  writeln(n div a,' 0');halt; end
 else
  if n mod b=0 then begin writeln('YES');
   writeln('0 ',n mod b);halt;end;
 if b>a then
  begin
   x:=a;
   a:=b;
   b:=x;
   x:=2;
  end
 else
  x:=1;
 k:=0;
 while n>0 do
  begin
   n:=n-a;
   k:=k+1;
   if n mod b=0 then
    begin
     if x=1 then begin writeln('YES');
      writeln(k,' ',n div b);end
     else begin writeln('YES');
      writeln(n div b,' ',k); end;
     x:=0;
     break;
    end;
  end;
 if x<>0 then
  writeln('NO');
end.

var n,a,b,x,k:longint;
begin
 readln(n,a,b);
 if n mod a=0 then begin writeln('YES');
  writeln(n div a,' 0');halt; end
 else
  if n mod b=0 then begin writeln('YES');
   writeln('0 ',n mod b);halt;end;
 if b>a then
  begin
   x:=a;
   a:=b;
   b:=x;
   x:=2;
  end
 else
  x:=1;
 k:=0;
 while n>0 do
  begin
   n:=n-a;
   k:=k+1;
   if (n mod b=0)and(n>0) then
    begin
     if x=1 then begin writeln('YES');
      writeln(k,' ',n div b);end
     else begin writeln('YES');
      writeln(n div b,' ',k); end;
     x:=0;
     break;
    end;
  end;
 if x<>0 then
  writeln('NO');
end.

var a,s,d,f,g,h,j: integer;
begin
  read (a,s,d);
  for f:=1 to (a div s)+1 do
  for g:=1 to (a div d)+1 do
  if f*s+g*d=a then
  begin
    writeln ('YES');
    writeln (f);
    write (g);
    halt;
  end;
  write ('NO')
end.

var a,s,d,f,g:integer;
begin
  read (a,s,d);
  for f:=0 to (a div s)+1 do
  if (a-f*s) mod d=0 then begin
                          writeln ('YES');
                          write (f,' ',(a-f*s) div d);
                          halt;
                        end;
                        write ('NO')
end.

var a,s,d,f,g,h,j: integer;
begin
  read (a,s,d);
  if ((d+s) mod 2 = 0) and (a mod 2=1) then begin write ('NO'); halt; end;
  for f:=0 to (a div s)+1 do
  for g:=0 to (a div d)+1 do
  if f*s+g*d=a then
  begin
    writeln ('YES');
    writeln (f);
    write (g);
    halt;
  end;
  write ('NO')
end.

var
 n,a,b,i:longint;
begin
 readln(n);
 readln(a);
 readln(b);
 for i:=0 to n div a do
  if (n-i*a) mod b=0 then
   begin
    writeln('YES');
    writeln(i,' ',(n-i*a) mod b);
    halt;
   end;
 writeln('NO');
end.

program abc;
var n,a,b,x,y:integer;
begin
readln(n,a,b);
for x := 0 to n div a do
begin
if (n-a*x) mod b = 0 then begin
y:=(n-a*x) div b;
writeln(x,' ',y);
Halt(0);
end;
end;
writeln('NO');
end.

var a,b,c,d,e,n,i,k:longint;
begin
readln(n,a,b);
d:=n div a;
if (n mod b=0)then begin
 writeln('Yes');
 write(0,' ',n div b);
 exit;
 end else if n mod a=0 then begin
 writeln('Yes');
 write(n div a,' ',0);
 exit;
 end;
for k:=d downto 1 do begin
if (n-(k*a))mod b =0 then begin
  writeln('YES');
  write(k ,' ',(n-(k*a))div b);
  exit;
  end;
  end;
  write('NO');
end.

program s1;
var i,n,n1,a,b,c:integer;
begin
readln (n,a,b);
for i:=1 to 1000000 do
if (n-a*i) mod b=0 then begin writeln ('Yes'); write (i,' ',(n-a*i) div b); halt (0); end;
writeln ('No');
end.

program s1;
var i,n,n1,a,b,c:integer;
begin
readln (n,a,b);
for i:= 0 to n do
if (n - a * i >= 0) and ((n-a*i) mod b=0) then begin writeln ('YES'); write (i,' ',(n-a*i) div b); halt (0); end;
writeln ('NO');
end.

program s1;
var i,n,n1,a,b,c:integer;
begin
readln (n,a,b);
for i:=1 to 1000000 do
if (n-a*i) mod b=0 then begin writeln ('YES'); write (i,' ',(n-a*i) div b); halt (0); end;
writeln ('NO');
end.

program s1;
var i,n,n1,a,b,c:integer;
begin
readln (n,a,b);
for i:=1 to 10000000 do
if (n-a*i) mod b=0 then begin writeln ('YES'); write (i,' ',(n-a*i) div b); halt (0); end;
writeln ('NO');
end.

  const eps=0.000000001;  besk=20000000000008;
               modul=1000000007;
   label 1,2,3,4,5,6;
    type
    mas=array [-100..1000000] of int64;   point=record x,y,z,vx,vy,vz:int64;end;
    zap=record p1,p2,p3 :int64;end; zap1=^zap; point1=^point;
    mass=array[-100..1000000] of int64;mass1=^mass;
    var hc,ac,hv,av,hh,ott,gr,xx,yy,sum,ogr,jloz,jnew,i1,i2,i3,maxdob,nn,kk,pos1,pos2,start,ans,pp,qq,aaa,bbb,ccc,tt,aa,bb,jj,ii,time,ppp,istart,jstart,iii,newdl, t1,t2,cc,ll,rr,oldpos,t,jjj,kol,pos,dloch,told,p,q,pmin,ppold,ot,pmax,imax,p1,p2,p3,p4,l,nm,n,s2,m,smin,cen:int64;
   mask,k, step, i,j:longint;
   pointnew,pointold,pointklad,ppoint:point;
    vot,distmin,dist,s0,s1,aanew,bbnew:extended;
    mm,mx,my,mz,dx,dy,dz,maxright,fact,aold,y,och,s,d11,prev,next,z,x,newc,d,nap:array[-10..2000008] of int64;
    a,b,c:array[-100..1000000] of int64;
    sd:array[-1000..1000000] of char;
    yyy:array[-10..10000] of extended;
    dot,ddd:array[-10..1210000] of int64;
    ddminus, ppole:array[-1..200,-10..150,-1..150] of int64;
   sss,text1,text2:array[-10..2000000] of string;
   zanxy,zanxz,zanyz:array[-1..200,-1..200] of boolean;
     stest,ss3,ss1,ss2:string;
     ch1,ch2:char;
     variant,peres,dd1,dd:array[-1..700,-1..6000] of int64;
     zan,zana,zanb:array[-10..2000000] of boolean;
     marked:array[-100..15000] of boolean;
    {sss:string;ch:char;
   } pole :array [-10..1500,-10..1500] of char;
    st:array[-100..100000] of string;
    stest1,ss:string;
     v0,v1,t0:extended;
     zv:point;
     newx,newy:array[-1..200000] of int64;

     koef,yot:extended;
      globflag, flag2,flag,flag1:boolean;
    function al(x,y:extended):extended; var t0,t1,p,s0,s1:extended;
 begin
     if (x>0)and(y>=0) then p:=arctan(y/x);
     if x<0 then p:=pi+arctan(y/x);
     if(x>0)and(y<0) then p:=2*pi+arctan(y/x);
     if x=0 then if (y>=0) then p:=pi/2 else p:=3*pi/2;
     al:=p/pi*180;
 end;
  function min(x,y:int64):int64;begin min:=x;if y<x then min:=y; end;
  function max(x,y:int64):int64;begin max:=x;if y>x then max:=y; end;

  function nod(x,y:int64):int64; var z:int64;
begin   repeat  z:=x mod y;x:=y;y:=z;   until  z=0 ;  nod:=x;end;

{procedure udal(ii:longint);
begin  next[prev[ii]]:=next[ii]; prev[next[ii]]:=prev[ii];  end;
 }
function degg(a,k:int64):int64; var p:int64;
begin
 if k<=0 then degg:=1 else if odd(k) then degg:=degg(a,k-1)*a mod modul else
   begin  p:=degg(a,k div 2); degg:=p*p mod modul;   end;

end;

begin

   read(cc,aa,bb);
   t:=round(cc/aa);
   for i:=0 to t do
     begin
        hh:=cc-i*aa;
        if hh mod bb=0 then
          begin
              writeln('YES');
              writeln(i,' ',hh div bb);
              goto 1;

          end;

     end;

     writeln('NO');

   1:    close(output);
end.