#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
int n, w, m;
int pos = 1, cup = 1;
double a[51];
int cnt[51];
vector<pair<int, double> > ans;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  scanf("%d%d%d", &n, &w, &m);
  double t = (double)n * (double)w / (double)m;
  for (int i = 1; i <= m; ++i) a[i] = t;
  double rest = (double)w;
  while (pos <= n) {
    if (a[cup] - rest <= 1e-6) {
      rest -= a[cup];
      cnt[pos]++;
      if (cnt[pos] > 2) return puts("NO"), 0;
      ans.push_back(make_pair(pos, a[cup]));
      cup++;
      ans.push_back(make_pair(-1, 0));
      if (rest <= 1e-6) pos++, rest = (double)w;
    } else {
      a[cup] -= rest;
      cnt[pos]++;
      if (cnt[pos] > 2) return puts("NO"), 0;
      ans.push_back(make_pair(pos, rest));
      pos++;
      rest = (double)w;
    }
  }
  puts("YES");
  for (int i = 0; i < ans.size(); ++i) {
    if (ans[i].first == -1)
      puts("");
    else
      printf("%d %.6lf ", ans[i].first, ans[i].second);
  }
  return 0;
}
