#include <bits/stdc++.h>
using namespace std;
long long n, m, k;
int main() {
  cin >> n >> m >> k;
  long long x = 2 * n * m;
  if (x % k != 0) {
    puts("NO");
    return 0;
  }
  vector<long long> vec, vec2;
  for (long long i = 1; i * i <= n; i++) {
    if (n % i == 0) {
      vec.push_back(i);
      if (i * i != n) vec.push_back(n / i);
    }
  }
  for (long long i = 1; i * i <= m; i++) {
    if (m % i == 0) {
      vec2.push_back(i);
      if (i * i != m) vec2.push_back(m / i);
    }
  }
  long long y = x / k;
  for (int i = 0; i < vec.size(); i++) {
    if (y % vec[i] == 0) {
      long long a = vec[i];
      long long b = y / vec[i];
      if (a <= n && b <= m) {
        puts("YES");
        puts("0 0");
        cout << a << " " << 0 << endl;
        cout << 0 << " " << b << endl;
        return 0;
      }
      if (a <= m && b <= n) {
        puts("YES");
        puts("0 0");
        cout << 0 << " " << a << endl;
        cout << b << " " << 0 << endl;
        return 0;
      }
    }
  }
  for (int i = 0; i < vec2.size(); i++) {
    if (y % vec2[i] == 0) {
      long long a = y / vec2[i];
      long long b = vec2[i];
      if (a <= n && b <= m) {
        puts("YES");
        puts("0 0");
        cout << a << " " << 0 << endl;
        cout << 0 << " " << b << endl;
        return 0;
      }
      if (a <= m && b <= n) {
        puts("YES");
        puts("0 0");
        cout << 0 << " " << a << endl;
        cout << b << " " << 0 << endl;
        return 0;
      }
    }
  }
  assert(0);
}
