#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > cup[60];
int main(void) {
  int N, M, W, i, j;
  cin >> N >> W >> M;
  if (M > N && N % (M - N) != 0) {
    cout << "NO" << endl;
    return 0;
  }
  for ((i) = 0; (i) < (int)(N); (i)++) {
    int low = i * M, high = (i + 1) * M, mid = low / N * N + N;
    if (high <= mid) {
      cup[low / N].push_back(make_pair(i + 1, M));
    } else {
      cup[low / N].push_back(make_pair(i + 1, mid - low));
      cup[low / N + 1].push_back(make_pair(i + 1, high - mid));
    }
  }
  cout << "YES" << endl;
  for ((i) = 0; (i) < (int)(M); (i)++)
    for ((j) = 0; (j) < (int)(cup[i].size()); (j)++) {
      int id = cup[i][j].first;
      double amount = (double)cup[i][j].second * W / M;
      printf("%d %.6f", id, amount);
      if (j == cup[i].size() - 1)
        printf("\n");
      else
        printf(" ");
    }
  return 0;
}
