#include <bits/stdc++.h>
using namespace std;
template <class T>
T abs(T x) {
  return x > 0 ? x : -x;
}
int n;
int m;
int w;
double x[50], y[50];
double h;
int cnt[50];
vector<pair<int, double> > res[50];
int main() {
  scanf("%d%d%d", &n, &w, &m);
  h = (n * w * 1.0) / m;
  int i = 0, j = 0;
  while (i < n) {
    double tmp = min(w - x[i], h - y[j]);
    if (tmp > 1e-8) {
      x[i] += tmp;
      cnt[i]++;
      if (cnt[i] > 2) {
        printf("NO\n");
        return 0;
      }
      y[j] += tmp;
      res[j].push_back(make_pair(i, tmp));
    }
    if (x[i] + 1e-7 > w) i++;
    if (y[j] + 1e-7 > h) j++;
  }
  printf("YES\n");
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < ((int)(res[i]).size()); j++)
      printf("%d %.10f ", res[i][j].first + 1, res[i][j].second);
    printf("\n");
  }
  return 0;
}
