#include <bits/stdc++.h>
using namespace std;
int n, k, idx, sum;
bool tag;
double m, v, suff, aver;
vector<pair<int, double> > V[100];
void add(int id, double s) {
  suff += s;
  v -= s;
  sum++;
  if (sum > 2) {
    tag = 0;
  }
  V[id].push_back(make_pair(idx, s));
  if (v < 1e-10) {
    idx++;
    v = m;
    sum = 0;
  }
}
int main(void) {
  int i, j;
  tag = 1;
  cin >> n >> m >> k;
  aver = n * m / k;
  v = m;
  idx = 1;
  sum = 0;
  for (i = 1; i <= k; i++) {
    suff = 0;
    while (fabs(suff - aver) > 1e-10) {
      if (suff + v <= aver)
        add(i, v);
      else
        add(i, aver - suff);
    }
  }
  if (!tag) {
    cout << "NO" << endl;
    return 0;
  }
  cout << "YES" << endl;
  for (i = 1; i <= k; i++) {
    for (j = 0; j < V[i].size(); j++) {
      printf("%d %.6lf ", V[i][j].first, V[i][j].second);
    }
    cout << endl;
  }
  return 0;
}
