N,B,M=map(int,input().split()) if N==0: print("Yes") if M>=2: print("Yes") print(2) else: print("No") exit() print("Yes") if N>=2*B*B: print("No") elif N>=B*B: a=N%B b=N//B%B #if b<5 and 2**b*(a+B+1)<60 and (2**(2**b*(a+B+1))*(2**b*(a+B+1))-B)*2<=M: # AC #if 2**b*(a+B+1)<60 and (2**(2**b*(a+B+1))*(2**b*(a+B+1))-B)*2<=M: # TLE if (2**(2**b*(a+B+1))*(2**b*(a+B+1))-B)*2<=M: # TLE print("Yes") print((2**(2**b*(a+B+1))*(2**b*(a+B+1))-B)*2) else: print("No") else: a=N%B b=N//B%B #if b<60 and (2**b*(a+B+1)-B)*2<=M: # AC if (2**b*(a+B+1)-B)*2<=M: #TLE print("Yes") print((2**b*(a+B+1)-B)*2) else: print("No")