우리 사이의 Ká
면접 대비시간 제한2초메모리 제한512 MB
정점 P개와 간선 F개로 이루어진 무방향 그래프가 주어질 때, 모든 정점이 자기 그룹 안에서 홀수 개의 이웃을 갖도록 정점을 최대 두 그룹으로 나눌 수 있는지 판정한다.
문제
동점은 선거나 게임에서 항상 문제가 된다. 최근 Ká entre Nós라는 새로운 게임이 만들어졌다. 이 게임은 소셜 네트워크로 연결된 플레이어들이 겨루는 게임이다. 각 플레이어는 친구 집합을 가진다. 매 라운드마다 여러 번의 투표가 있지만, 경쟁자는 자신의 친구에게서만 표를 받을 수 있다. 가장 많은 표를 받은 플레이어가 이긴다.
게임은 아직 설계 단계지만, 개발자들은 매우 흔한 문제에 부딪혔다. 각 플레이어의 친구 수가 대체로 적기 때문에 동점이 매우 자주 발생하고, 이는 게임의 재미를 떨어뜨린다. 이 문제를 해결하기 위해 개발자들은 게임에 새로운 모듈을 추가하기로 했다. 이 모듈은 각 플레이어의 친구를 정하며, 가능한 한 각 플레이어에게 홀수 명의 친구를 준다.
문제는 그들이 예상한 것보다 복잡해졌고, 이제 그들은 더 단순한 변형을 시도하고 있다. 플레이어 집합이 주어지면, 모듈은 플레이어를 최대 두 그룹으로 분할하여 각 플레이어가 자신이 속한 그룹에서 홀수 명의 친구를 갖도록 해야 한다. 그런데 이것이 항상 가능한 것은 아니다. 당신의 임무는 그런 분할이 가능한지 판단하는 것이다.
입력
첫째 줄에는 두 정수 P와 F가 주어지며, 각각 플레이어 수와 친구 관계 수이고 2 ≤ P ≤ 100, 1 ≤ F ≤ P × (P − 1)/2이다. 다음 F개 줄에는 각각 두 정수 A와 B가 주어지며, A와 B가 친구임을 나타낸다. 여기서 1 ≤ A, B ≤ P이고 A ≠ B이다. 각 친구 관계는 최대 한 번만 주어진다. 즉, 어떤 줄에 정수 A와 B가 있으면 다른 줄에는 그 정수들이 없다.
출력
출력은 한 줄이며, 단일 문자를 포함한다. 두 그룹으로 분할하는 것이 가능하면 대문자 'Y'를, 그렇지 않으면 대문자 'N'을 출력한다.