#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, w, i, j, dekinai = 0, used[50] = {0}, hituyou;
  vector<pair<int, int> > result[50];
  double unit;
  cin >> n >> w >> m;
  unit = (double)w / m;
  j = 0;
  for (i = 0; i < m; i++) {
    hituyou = n;
    while (hituyou > 0) {
      if (j >= n) {
        dekinai = 1;
        break;
      }
      if (used[j] == 0) {
        if (hituyou < m) {
          result[i].push_back(make_pair(j, hituyou));
          used[j] = hituyou;
          hituyou = 0;
        } else {
          hituyou -= m;
          result[i].push_back(make_pair(j, m));
          used[j] = m;
          j++;
        }
      } else {
        if (hituyou < m - used[j]) {
          dekinai = 1;
          j = n;
          break;
        } else {
          hituyou -= (m - used[j]);
          result[i].push_back(make_pair(j, m - used[j]));
          used[j] = m;
          j++;
        }
      }
    }
  }
  if (dekinai == 0) {
    cout << "YES" << endl;
    for (i = 0; i < m; i++) {
      for (j = 0; j < ((unsigned long long)result[i].size()); j++) {
        cout << result[i][j].first + 1 << " ";
        printf("%f", unit * result[i][j].second);
        if (j != ((unsigned long long)result[i].size()) - 1)
          cout << " ";
        else
          cout << endl;
      }
    }
  } else {
    cout << "NO" << endl;
  }
  return 0;
}
