Задача C. Распил

Автор:Жюри ВКОШП-2009   Ограничение времени:2 сек
Входной файл:cut.in   Ограничение памяти:256 Мб
Выходной файл:cut.out  

Условие

Когда Петя учился в младших классах, он любил заниматься выпиливанием лобзиком из фанеры различных фигурок. Чтобы можно было заново выпилить наиболее интересные варианты, каждый раз делая распил, он записывал в свою тетрадку, какую фигуру он распилил на какие части.

Недавно Петя нашел у себя в тетрадке запись, из которой следовало, что он распилил n-угольник вдоль прямой, проходящей через две его вершины. В результате распила образовалось ровно две части, одна из которых — k-угольник, а другая — m-угольник. Петя заинтересовался, каким образом такое могло получиться.

Помогите Пете, постройте n-угольник и укажите в нем две различные вершины A и B таким образом, чтобы при распиле n-угольника вдоль прямой AB, получилось ровно два многоугольника, один из которых является k-угольником, а другой — m-угольником.

Формат входного файла

Входной файл содержит три целых числа: n, m и k.

Формат выходного файла

Если описанная в условии ситуация могла иметь место, выведите на первой строке выходного файла слово Yes. В этом случае затем следует вывести пример многоугольника и распила. Следующие n строк должны содержать по два целых числа — координаты вершин многоугольника в порядке обхода. Координаты не должны превышать 104 по модулю. Граница многоугольника не должна иметь самопересечений и самокасаний. Никакие три подряд идущие вершины многоугольника не должны лежать на одной прямой.

Будем считать вершины пронумерованными от 1 до n в порядке, в котором они выведены. Последняя строка должна содержать два числа: номера вершин, через которые был проведен распил.

Если описанная в условии ситуация невозможна, выведите на первой строка выходного файла слово No.

Ограничения

3 ≤ n, m, k ≤ 200;

Примеры тестов

Входной файл (cut.in) Выходной файл (cut.out)
1
4 3 3
Yes
0 0
0 1
1 1
1 0
1 3
2
8 4 7
Yes
0 0
3 0
3 3
2 3
2 1
1 1
1 3
0 3
1 4
3
3 3 3
No

0.045s 0.012s 17