만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

몰로코의 League of Overwatch (쉬움)

면접 대비

시간 제한2초메모리 제한512 MB

요약
충돌 그래프가 주어질 때, 각 충돌 쌍이 서로 다른 그룹에 속하도록 정점을 공집합이 아닌 두 그룹으로 나눌 수 있는지 판정한다.
난이도

쉬움10점 중 3점

유형
그래프, BFS
정답자
아직 제출이 없습니다

문제

몰로코 직원들은 가끔 두 그룹으로 나뉘어 League of Overwatch 5판 3선승제 경기를 한다. 직원 중에는 예전에 듀오로 함께 플레이한 하드코어 게이머 짝이 있어서, 회사는 이번 행사에서 그런 짝을 서로 다른 그룹으로 갈라놓기로 했다. 초보자도 부담 없이 즐기게 하려는 것이다.

몰로코의 직원은 nn명이고, 1번부터 nn번까지 번호가 붙어 있다.

과거에 듀오로 게임을 한 짝 (fi,si)(f_i, s_i)가 mm개 알려져 있다. 각 짝의 두 직원은 반드시 서로 다른 그룹에 들어가야 한다.

nn명을 비어 있지 않은 두 그룹으로 나누어, 모든 직원이 정확히 한 그룹에만 속하고 어떤 짝 (fi,si)(f_i, s_i)도 같은 그룹에 함께 있지 않게 만들 수 있는지 판정하라.

입력

첫째 줄에 정수 nn과 mm이 주어진다. (1≤n≤161 \le n \le 16, 1≤m≤1501 \le m \le 150)

다음 mm개 줄에는 각각 정수 fif_i와 sis_i가 주어진다. (1≤fi,si≤n1 \le f_i, s_i \le n) 모든 ii에 대해 fi≠sif_i \ne s_i임이 보장된다. 같은 짝이 여러 번 주어질 수 있다.

출력

첫째 줄에 POSSIBLE 또는 IMPOSSIBLE을 출력한다.

힌트

두 번째 예제에서는 {2}\{2\}와 {1,3}\{1, 3\}으로 나누면 모든 조건을 만족한다.

예제3

  1. 예제 1

    입력
    3 4
    1 2
    2 3
    3 1
    2 1
    
    예상 출력
    IMPOSSIBLE
    
  2. 예제 2

    입력
    3 3
    1 2
    1 2
    2 3
    
    예상 출력
    POSSIBLE
    
  3. 예제 3

    입력
    2 1
    1 2
    
    예상 출력
    POSSIBLE