#include <bits/stdc++.h>
using namespace std;
double a[55], b[55];
long long cnt[55];
vector<pair<long long, double> > res[55];
int main() {
  long long i, j, n, m;
  double w;
  scanf("%lld %lf %lld", &m, &w, &n);
  for (i = 1; i <= m; i++) a[i] = w;
  double avg = (w * (double)m) / (double)n;
  for (i = 1, j = 1; i <= n; i++) {
    double p = avg;
    while (p > a[j] + .000001) {
      if (abs(p - a[j]) <= .000001) break;
      res[i].push_back({j, a[j]});
      cnt[j]++;
      p -= a[j];
      a[j] = 0;
      j++;
    }
    res[i].push_back({j, p});
    cnt[j]++;
    a[j] -= p;
    p = 0;
    if (abs(a[j]) <= .000001) j++;
  }
  long long in = 0;
  for (i = 1; i <= m; i++) {
    if (cnt[i] > 2) in = 1;
  }
  if (in)
    printf("NO\n");
  else {
    printf("YES\n");
    for (i = 1; i <= n; i++) {
      for (auto h : res[i]) {
        printf("%lld %.8f ", h.first, h.second);
      }
      printf("\n");
    }
  }
  return 0;
}
