#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
int debug;
int const MAXN = 1e3 + 5;
int const MAXA = 2e5 + 3;
int const INF = 1e9;
ll const LLINF = 1e17;
ll const MOD = 1e9 + 7;
double const EPS = 1e-9;
bool TESTS = false;
void solve() {
  double n, w, m;
  scanf("%lf%lf%lf", &n, &w, &m);
  for (double i = 1; i <= n; i++) {
    int count = 0;
    double li = (i - 1) * w, ri = i * w;
    for (double j = 1; j <= m; j++) {
      double lj = ((j - 1) * n * w) / m, rj = (j * n * w) / m;
      double l = (li > lj) ? li : lj, r = (ri < rj) ? ri : rj;
      if (l < r) count++;
    }
    if (count > 2) {
      printf("NO\n");
      return;
    }
  }
  printf("YES\n");
  for (double j = 1; j <= m; j++) {
    double lj = ((j - 1) * n * w) / m, rj = (j * n * w) / m;
    for (double i = 1; i <= n; i++) {
      double li = (i - 1) * w, ri = i * w;
      double l = (li > lj) ? li : lj, r = (ri < rj) ? ri : rj;
      if (l < r) printf("%0.0lf %0.7lf ", i, r - l);
    }
    printf("\n");
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cout.tie(0);
  cin.tie(0);
  int t = 1;
  if (TESTS) cin >> t;
  while (t-- > 0) solve();
  return 0;
}
