#include <bits/stdc++.h>
using namespace std;
const double pi = 3.141592653589;
const long long int zero = 0;
long long int mod = 1000000007;
const long long int inf = 1e9;
const long long int inff = 9000000000000000000;
long double eps = 1e-9;
char digits[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
char al[26] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
               'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
char capital[26] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
                    'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
                    'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) {
    long double n, w, m, a;
    cin >> n >> w >> m;
    long double cup = (n * w) / m;
    int n1 = n, m1 = m, cursor = 1;
    long double cap, bottle = w;
    vector<long double> ans[m1];
    vector<long long int> adj[n1];
    for (int i = 0; i < m1; i += 1) {
      cap = cup;
      while (cap > eps) {
        a = min(cap, bottle);
        cap -= a;
        bottle -= a;
        ans[i].push_back(cursor);
        ans[i].push_back(a);
        adj[cursor - 1].push_back(i);
        if (bottle < eps) {
          cursor++;
          bottle = w;
        }
        if (cursor > n1) {
          break;
        }
      }
    }
    for (int i = 0; i < n1; i += 1) {
      if (adj[i].size() > 2) {
        cout << "NO\n";
        return 0;
      }
    }
    cout << "YES\n";
    for (int i = 0; i < m1; i++) {
      for (int j = 0; j < ans[i].size() - 1; j += 2) {
        cout << fixed << setprecision(0) << ans[i][j] << " " << fixed
             << setprecision(9) << ans[i][j + 1] << " ";
      }
      cout << "\n";
    }
  }
}
