eolymp
bolt
Try our new interface for solving problems
Məsələlər

Нравится

Нравится

Вы заметили, что если удалить букву 'k' из слова "like" и сделать все циклические сдвиги, то одним из них будет "eli"? Это может стать хорошей задачей, однако здесь Вы не будете заниматься ни словами, ни циклическими сдвигами.

Элли столкнулась с большой проблемой. Недавно ее (не без оснований) обвинили в том, что она нравится всем мальчикам в ее классе (если не обращать внимания на других девочек), а она, со своей стороны, не обращает внимания на мальчиков. Это обвинение было сделано главным образом потому, что некоторые из ее одноклассников завидовали, что она гораздо более любима, чем она любит других. С другой стороны, Элли выступает против отношений - это также причина, по которой она игнорирует мальчиков в своем классе. Более того - она была бы счастлива, если бы вокруг нее было как можно меньше пар в отношениях "нравится".

Чтобы избежать конфликтов в будущем, она решила удостовериться, что для каждого человека в школе имеет место следующее: количество людей, которые нравятся ему, отличается от числа людей, которым он нравится, не более чем на 1. Переложив это на более естественный язык, мы получим что каждый человек является вершиной в графе а факт того что A любит B задается ориентированным ребром. Таким образом Элли хочет, чтобы количество входящих ребер отличалось от числа исходящих ребер не более чем на 1.

Она решила использовать свое обаяние и дипломатию (также известную как обман и манипуляция), чтобы достичь этого. Элли знает все пары людей в школе, которые знают друг друга (что мы можем считать неориентированным ребром на графе). Она может заставить любую пару знакомых изменить свои отношения, чтобы один из них начал любить другого или наоборот, но не оба одновременно (не забывайте, что она против того, чтобы иметь пары в школе). Она хочет исполнить свой злой план, "ориентируя" все ребра на графе, то есть каждое знакомство становится односторонним отношением.

Вы решили проверить, сможет ли она это сделать, и сможет ли она показать одну из возможных ориентаций ребер.

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

Первая строка содержит два целых числа n (1n1000) и m (1n105) - количество учеников в школе и число пар знакомств. Каждая из следующих m строк содержит пару чисел p1 и p2 (1p1, p2n), означающих что школьники p1 и p2 знают друг друга. Каждое знакомство поступает на вход только раз. Все входные числа натуральные.

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

В первой строке выведите "Yes" если требуемое направление ребер существует, или "No" иначе. Если ответ "Yes", на каждой из следующих m строках выведите пару целых чисел p1p2, означающих что p1 нравится p2.

Если существует более одного требуемого способа направления ребер, выведите любой из них.

Пояснение

Имеется 5 школьников и 7 пар знакомств между ними. После ориентирования ребер каждому школьнику нравится и каждый школьник нравится одинаковому количеству людей, кроме 5, кто нравится на единицу большему числу людей, и 3, которому нравится более одного человека.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
5 7
1 2
1 3
4 1
1 5
3 2
4 5
3 5
Çıxış verilənləri #1
Yes
1 2
3 1
4 1
1 5
2 3
5 4
3 5
Mənbə 2010 II International autumn tournament in informatics, Shumen, Senior, Задача A