#include <bits/stdc++.h>
using LL = long long;
using ULL = unsigned long long;
using namespace std;
long long n, m, k;
const long long MAX = 32000;
vector<long long> pfK;
void check(long long prime) {
  while (k % prime == 0) {
    pfK.emplace_back(prime);
    k /= prime;
  }
}
signed main() {
  ios::sync_with_stdio(false), cin.tie(NULL);
  cin >> n >> m >> k;
  if (2ll * n * m % k != 0) {
    cout << "NO\n";
    return 0;
  }
  check(2);
  check(3);
  check(5);
  for (long long i = 7, tmp = 4; i < (long double)sqrt(k + 1);
       i += tmp, tmp = 6 - tmp)
    check(i);
  if (k > 1) pfK.emplace_back(k);
  n *= 2;
  long long oriN = n;
  for (long long i = (0); i < (pfK.size()); i++) {
    if (n % pfK[i] == 0)
      n /= pfK[i];
    else
      m /= pfK[i];
  }
  if (oriN == n) n /= 2, m *= 2;
  cout << "YES\n";
  cout << 0 << ' ' << 0 << '\n';
  cout << n << ' ' << 0 << '\n';
  cout << 0 << ' ' << m << '\n';
  return 0;
}
