B. Окончание сессии
ограничение по времени на тест
1 second
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

Студенты любят весело отмечать праздники. Особенно если праздник — день окончания сессии!

Несмотря на то, что Игорь К. в отличие от своих одногруппников так и не сдал зачет по математическому моделированию, он решил позвать их в кафе — выпить по бутылочке... свежего коровьего молока. Придя в кафе, m друзей обнаружили в меню n различных сортов молока, поэтому они заказали n бутылок — по одной бутылке каждого сорта. Известно, что объем молока в каждой бутылке равен w.

Когда бутылки принесли, они решили разлить все молоко поровну по m кружкам — каждому по одной. В качестве штрафа за несданный зачет разливающим был назначен Игорь К. Он заявил, что очень боится все перепутать, поэтому предложил распределить напиток так, чтобы молоко из каждой бутылки было не более чем в двух различных кружках. Друзья согласились, но внезапно столкнулись с проблемой — а как, собственно, это сделать?

Помогите им и напишите программу, которая поможет распределить молоко по кружкам и поскорее выпить!

Учтите, что благодаря идеальному глазомеру и твердости руки Игоря К., он может налить любое дробное количество молока из любой бутылки в любую кружку.

Входные данные

В единственной строке входного файла записаны три целых числа n, w и m (1 ≤ n ≤ 50, 100 ≤ w ≤ 1000, 2 ≤ m ≤ 50), где n — количество заказанных бутылок, w — объем каждой из них, а m — количество друзей в компании.

Выходные данные

Выведите в первую строку «YES», если возможно разлить напиток так, чтобы молоко из каждой бутылки оказалось не более чем в двух различных кружках. Если решения не существует, то выведите «NO».

В случае существования решения выведите еще m строк, где i-ая из них описывает содержимое в кружке i-го студента. Строка должна состоять из одной или более пар вида «b v». Каждая такая пара обозначает, что в i-ую кружку было перелито v (v > 0) единиц объема молока из b-ой бутылки (1 ≤ b ≤ n). Все числа b в каждой строке должны быть различны.

Если решений несколько, выведите любое. Вещественные числа выводите не менее чем с 6 знаками после десятичной точки.

Примеры
Входные данные
2 500 3
Выходные данные
YES
1 333.333333
2 333.333333
2 166.666667 1 166.666667
Входные данные
4 100 5
Выходные данные
YES
3 20.000000 4 60.000000
1 80.000000
4 40.000000 2 40.000000
3 80.000000
2 60.000000 1 20.000000
Входные данные
4 100 7
Выходные данные
NO
Входные данные
5 500 2
Выходные данные
YES
4 250.000000 5 500.000000 2 500.000000
3 500.000000 1 500.000000 4 250.000000