#include <bits/stdc++.h>
using namespace std;
int main() {
  int cnt[10000];
  int ws[10000];
  fill(cnt, cnt + 10000, 0);
  fill(ws, ws + 10000, 0);
  double w[100];
  double n, w1, m;
  cin >> n >> w1 >> m;
  for (int i = 1; i <= n; i++) w[i] = w1;
  vector<double> ans;
  vector<int> nums;
  double amount = n * w1 / m;
  for (int i = 0; i < m; i++) {
    double part = amount;
    for (int j = 1; j <= n; j++) {
      if (w[j] > -0.0000001 && w[j] < 0.0000001) continue;
      if (w[j] >= part - 0.0000001) {
        nums.push_back(j);
        ans.push_back(part);
        cnt[j]++;
        if (cnt[j] > 2) {
          cout << "NO" << endl;
          return 0;
        }
        w[j] -= part;
        ws[ans.size()] = 1;
        break;
      } else {
        nums.push_back(j);
        ans.push_back(w[j]);
        cnt[j]++;
        if (cnt[j] > 2) {
          cout << "NO" << endl;
          return 0;
        }
        part -= w[j];
        w[j] = 0;
      }
    }
  }
  cout << "YES" << endl;
  int r = ans.size();
  for (int i = 0; i < r; i++) {
    if (ws[i]) cout << "\n";
    cout << nums[i] << " " << fixed << setprecision(7) << ans[i] << " ";
  }
}
