#include <bits/stdc++.h>
using namespace std;
const int INF = ~(1 << 31);
const double EPS = 1e-7;
int main() {
  int n, i, j, m, z, c, mx = -INF, mn = INF, b, w;
  double g, h, modulo, k;
  scanf("%d%d%d", &n, &w, &m);
  vector<double> a(m, 0);
  vector<vector<pair<int, double> > > ans(m);
  vector<int> cnt(n, 0);
  h = n * w;
  g = h / m;
  c = 0;
  i = 0;
  modulo = 0;
  while (i < m) {
    if (modulo < EPS) {
      modulo = w;
      h -= w;
      c++;
    }
    k = min(g - a[i], modulo);
    a[i] += k;
    modulo -= k;
    ans[i].push_back(make_pair(c, k));
    cnt[c - 1]++;
    if (a[i] + EPS > g) i++;
  }
  b = 0;
  for (i = 0; i < n; i++)
    if (cnt[i] > 2) b = 1;
  if (g * 2 < w - EPS || fabs(h) > EPS || b == 1) {
    puts("NO");
  } else {
    puts("YES");
    for (i = 0; i < m; i++) {
      for (j = 0; j < ans[i].size(); j++) {
        printf("%d %.06f ", ans[i][j].first, ans[i][j].second);
      }
      cout << endl;
    }
  }
  return 0;
}
