K. Криптография Пети
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Петя получил двойку по криптографии, но это преподаватели не поняли гения, а не он лентяй. Чтобы убедить всё мировое сообщество в своей гениальности, Петя создал новую систему шифрования с открытым ключом — PSA. У любой уважающей себя криптосистемы с открытым ключом есть открытый и закрытый ключ.

В качестве закрытого ключа Петя выбрал дерево $$$T$$$, а в качестве открытого — два числа $$$(n, p)$$$, где $$$n$$$ равно числу вершин в дереве $$$T$$$, а $$$p$$$ — количество путей длины 2 в $$$T$$$. Напомним, что дерево представляет собой неориентированный связный граф, не содержащий циклов.

Особенность Петиной криптосистемы в том, что для её взлома подойдет любой закрытый ключ, которому соответствует открытый. Но ведь это не проблема, Петя выбрал довольно сложную задачу, верно? Восстановите любой закрытый ключ криптосистемы $$$PSA$$$ или скажите, что такого открытого ключа не могло получиться.

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

В единственной строке ввода содержится два числа $$$n$$$ и $$$p$$$ ($$$1 \leq n \leq 1000$$$, $$$0 \leq p \leq 10^9$$$).

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

Если ответ существует, в первой строке выведите «Yes». В следующих $$$n - 1$$$ строке выведите по два различных целых числа от 1 до $$$n$$$ — рёбра дерева.

Если ответа не существует, то в единственной строке выведите «No».

Примеры
Входные данные
7 11
Выходные данные
Yes
1 2
2 3
3 4
3 5
3 6
3 7
Входные данные
5 5
Выходные данные
No