#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int n, w, m;
  scanf("%d%d%d", &n, &w, &m);
  vector<pair<int, int> > a[50];
  int remain[50];
  int i, j;
  for (i = 0; i < m; i++) remain[i] = n;
  for (i = 0; i < n; i++) {
    int slot = m;
    for (j = 0; j < m; j++)
      if (remain[j]) {
        int z = min(slot, remain[j]);
        remain[j] -= z;
        slot -= z;
        a[j].push_back(make_pair(i, z));
        break;
      }
    if (slot > 0) {
      for (; j < m; j++)
        if (remain[j] >= slot) {
          a[j].push_back(make_pair(i, slot));
          remain[j] -= slot;
          break;
        }
      if (j == m) break;
    }
  }
  if (i < n) {
    printf("NO\n");
  } else {
    printf("YES\n");
    for (i = 0; i < m; i++, printf("\n"))
      for (j = 0; j < (int)a[i].size(); j++) {
        printf("%d %.7lf ", 1 + a[i][j].first, a[i][j].second * w / (double)m);
      }
  }
  return 0;
}
