#include <bits/stdc++.h>
using namespace std;
int n, m, w, c;
vector<pair<int, int>> ans[55];
priority_queue<pair<pair<int, int>, int>> q;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  ;
  cin >> n >> w >> m;
  w *= m;
  int need = (n * w) / m;
  for (int i = 1; i <= n; i++) q.push({{i, w}, 0});
  for (int i = 1; i <= m; i++) {
    int need = (n * w) / m;
    while (need) {
      if (q.size() == 0) {
        cout << "NO";
        return 0;
      }
      auto t = q.top();
      q.pop();
      int g = min(need, t.first.second);
      need -= g;
      ans[i].push_back({t.first.first, g});
      if (t.first.second - g > 0 && t.second == 0)
        q.push({{t.first.first, t.first.second - g}, 1});
    }
  }
  cout << "YES" << endl;
  for (int i = 1; i <= m; i++) {
    for (auto p : ans[i])
      cout << p.first << " " << fixed << setprecision(9) << p.second * 1.0 / m
           << " ";
    cout << endl;
  }
  return 0;
}
