#include <bits/stdc++.h>
using namespace std;
int n, w, check[1000];
double m;
double r;
vector<pair<int, double> > a[10000];
double bottle[1000];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> m >> w;
  if (n * 2 < w) {
    cout << "NO";
    return 0;
  }
  r = n * m / w;
  for (int i = 1; i <= n; i++) {
    bottle[i] = m;
  }
  double cur = r;
  int curnum = 1;
  int curbot = 1;
  while (curnum < w + 1) {
    double tmp = min(cur, bottle[curbot]);
    a[curnum].push_back(make_pair(curbot, tmp));
    cur -= tmp;
    bottle[curbot] -= tmp;
    if (cur < 0.000001) {
      curnum++;
    }
    if (bottle[curbot] < 0.000001) {
      curbot++;
    }
    cur = (cur < 0.000001 ? r : cur);
  }
  for (int i = 1; i <= w; i++) {
    for (int j = 0; j < a[i].size(); j++) {
      check[a[i][j].first]++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (check[i] > 2) {
      cout << "NO";
      return 0;
    }
  }
  cout << "YES" << endl;
  for (int i = 1; i <= w; i++) {
    for (int j = 0; j < a[i].size(); j++) {
      cout << a[i][j].first << " ";
      cout << setprecision(7) << fixed << a[i][j].second << " ";
    }
    cout << endl;
  }
  return 0;
}
