#include <bits/stdc++.h>
using namespace std;
void no() {
  puts("NO");
  exit(0);
}
int ile_razy[1000];
int licz(int butle, int w, int osoby, int pisz) {
  if (pisz) puts("YES");
  vector<int> v(butle, w * osoby);
  int biore = w * butle;
  for (int i = 0; i < (butle); ++i) ile_razy[i] = 0;
  for (int i = 0; i < (osoby); ++i) {
    int mam = 0;
    int bylo = 0;
    for (__typeof((v).begin()) it = (v).begin(); it != (v).end(); ++it) {
      if (mam<biore&& * it> 0) {
        int chce = min(biore - mam, *it);
        *it -= chce;
        mam += chce;
        if (bylo++) {
          if (pisz) printf(" ");
        }
        int pos = it - v.begin();
        if (++ile_razy[pos] > 2) return 0;
        if (pisz) printf("%d %.10lf", it - v.begin() + 1, (double)chce / osoby);
      }
    }
    if (pisz) puts("");
  }
  return 1;
}
int main() {
  int osoby, w, butle;
  scanf("%d %d %d", &butle, &w, &osoby);
  if (2 * butle < osoby) no();
  if (licz(butle, w, osoby, 0))
    licz(butle, w, osoby, 1);
  else
    no();
  return 0;
}
