#include <bits/stdc++.h>
using namespace std;
const int INF = 1000000000;
template <typename T>
using V = std::vector<T>;
struct debugger {
  template <typename T>
  debugger& operator,(const T& v) {
    cerr << v << " ";
    return *this;
  }
} dbg;
int gcd(int a, int b) { return a ? gcd(b % a, a) : b; }
int main() {
  int n, m, k;
  scanf("%d", &n), scanf("%d", &m), scanf("%d", &k);
  int d = gcd(n, k);
  int n1 = n / d;
  k /= d;
  d = gcd(m, k);
  int m1 = m / d;
  k /= d;
  if (k > 2) {
    puts("NO");
    return 0;
  }
  puts("YES");
  if (k == 1) {
    if (n1 * 2 <= n)
      n1 *= 2;
    else
      m1 *= 2;
  }
  printf("0 0\n0 %d\n%d 0\n", m1, n1);
}
