#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline bool chkmin(T &a, const T &b) {
  return a > b ? a = b, 1 : 0;
}
template <typename T>
inline bool chkmax(T &a, const T &b) {
  return a < b ? a = b, 1 : 0;
}
const int MAX_N = 1e5 + 5;
const long long mod = 1e9 + 7;
long long n, a, b;
long long extgcd(long long a, long long b, long long &x, long long &y) {
  long long d = a;
  if (b != 0) {
    d = extgcd(b, a % b, y, x);
    y -= (a / b) * x;
  } else {
    x = 1;
    y = 0;
  }
  return d;
}
int main() {
  cin >> n >> a >> b;
  long long x, y;
  long long d = extgcd(a, b, x, y);
  bool flag = false;
  x *= n / d;
  y *= n / d;
  if (n % d)
    puts("NO");
  else {
    if (x >= 0 && y >= 0) {
      puts("YES");
      flag = true;
      cout << x << " " << y << '\n';
    } else {
      a = a / d;
      b = b / d;
      if (x > 0) {
        while (x >= 0) {
          x -= b;
          y += a;
          if (x >= 0 && y >= 0) {
            puts("YES");
            flag = true;
            cout << x << " " << y << '\n';
            break;
          }
        }
      } else if (y > 0) {
        while (y >= 0) {
          x += b;
          y -= a;
          if (x >= 0 && y >= 0) {
            puts("YES");
            flag = true;
            cout << x << " " << y << '\n';
            break;
          }
        }
      }
    }
    if (!flag) puts("NO");
  }
  return 0;
}
