#include <bits/stdc++.h>
using namespace std;
int n, w, m;
int a[55][55];
int b[3000];
int num[55][55];
bool check() {
  for (int i = 1; i <= m - 2; i++) {
    for (int j = 1; j <= n; j++) {
      for (int k = 1; k <= n; k++)
        if (a[i][j] == a[i + 2][k]) return 0;
    }
  }
  return 1;
}
int main() {
  while (scanf("%d %d %d", &n, &w, &m) != EOF) {
    double x = 1.0 * w / (double)m;
    for (int i = 1; i <= n * m; i++) {
      int t = i / m;
      if (i % m != 0) t++;
      b[i] = t;
    }
    for (int i = 1; i <= m; i++)
      for (int j = 1; j <= n; j++) a[i][j] = b[(i - 1) * n + j];
    if (!check())
      printf("NO\n");
    else {
      for (int i = 1; i <= m; i++)
        for (int j = 1; j <= n; j++) num[i][a[i][j]]++;
      printf("YES\n");
      for (int i = 1; i <= m; i++) {
        for (int j = 1; j <= n; j++) {
          if (num[i][j] != 0) printf("%d %.6lf ", j, 1.0 * num[i][j] * x);
        }
        printf("\n");
      }
    }
    memset(a, 0, sizeof(a));
    memset(b, 0, sizeof(b));
    memset(num, 0, sizeof(num));
  }
  return 0;
}
