#include <bits/stdc++.h>
using namespace std;
const double eps = (1e-8);
int dcmp(double a, double b) {
  if (fabs(a - b) <= eps) return 0;
  return a < b ? -1 : 1;
}
int main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  int n, m;
  double w;
  cin >> n >> w >> m;
  double how = n * w / (m * 1.0);
  vector<vector<pair<int, double> > > res(m);
  vector<double> bottles;
  vector<int> cnt(n, 0);
  for (int i = 0; i < n; i++) bottles.push_back(w);
  cout << fixed << setprecision(6);
  for (int i = 0; i < m; i++) {
    double temp = how;
    for (int j = 0; j < n; j++) {
      if (dcmp(bottles[j], 0) == 0) continue;
      if (dcmp(temp, 0) == 0) break;
      if (bottles[j] > temp) {
        res[i].push_back({j, temp});
        bottles[j] -= temp;
        temp = 0;
        cnt[j]++;
        break;
      } else {
        res[i].push_back({j, bottles[j]});
        temp -= bottles[j];
        bottles[j] = 0;
        cnt[j]++;
      }
    }
    if (dcmp(temp, 0) != 0) return cout << "NO" << endl, 0;
  }
  for (int i = 0; i < n; i++) {
    if (cnt[i] > 2 || dcmp(bottles[i], 0) != 0) return cout << "NO" << endl, 0;
  }
  cout << "YES" << endl;
  for (int i = 0; i < m; i++) {
    for (auto p : res[i]) {
      cout << p.first + 1 << " " << p.second << " ";
    }
    cout << endl;
  }
  return 0;
}
