파이프 청소

모든 교차점이 정확히 하나의 선택된 파이프에 속하도록 파이프 부분집합을 고를 수 있는지 판정합니다.

보통6그래프BFS기하아직 제출이 없습니다시간 제한7초메모리 제한256 MB

문제

린셰핑의 상수도 시설에는 지하수를 뽑아 올리는 수원지가 여러 개 있다. 파이프는 저마다 한 수원지에서 출발해 도시의 한 지점까지 직선으로 이어진다.

파이프는 모두 같은 깊이에 묻혀 있어서, 두 파이프가 만나면 그 자리에 교차점이 생긴다. 한 교차점에서 만나는 파이프는 정확히 두 개다. 수원지는 교차점으로 세지 않고, 한 수원지에서 출발하는 파이프는 0개일 수도 있다.

교차점에는 이물질이 쌓여 파이프에 큰 부담을 주고 결국 싱크홀을 만든다. 상수도를 관리하는 기업은 이를 막으려고 청소 로봇을 설계했다. 로봇을 수원지에서 파이프 하나에 넣으면, 로봇은 그 파이프를 끝까지 갔다가 돌아오면서 파이프 위의 교차점을 모두 청소한다. 로봇끼리 부딪히는 사고를 막기 위해, 두 파이프가 만나는 교차점마다 그중 오직 한 파이프만 로봇을 포함할 수 있다는 규정이 있다.

청소하는 동안에는 상수도가 멈추므로 기업은 한 번의 청소로 끝내려 한다. 파이프의 어떤 부분집합에 로봇을 동시에 넣어서, 모든 교차점을 청소하면서 규정도 지킬 수 있는지 판별하라.

입력

첫 줄에 수원지의 개수 ww와 파이프의 개수 pp가 주어진다. (1w10001 \le w \le 1000, 1p10001 \le p \le 1000)

다음 ww개의 줄에 ii번 수원지의 좌표 xix_iyiy_i가 주어진다. (10000xi,yi10000-10000 \le x_i, y_i \le 10000) 수원지에는 1번부터 ww번까지 차례로 번호가 붙어 있다.

다음 pp개의 줄에 세 정수 ss, xx, yy가 주어진다. (1sw1 \le s \le w, 10000x,y10000-10000 \le x, y \le 10000) 파이프가 ss번 수원지에서 출발해 좌표 (x,y)(x, y)에서 끝난다는 뜻이다.

각 파이프가 지나는 수원지는 자기 출발점 하나뿐이다. 파이프가 셋 이상 만나는 점은 모두 수원지다. 두 파이프가 공유하는 점은 많아야 하나이며, 그 점이 파이프의 끝점일 수도 있다. 모든 파이프의 길이는 0보다 크다.

출력

조건을 만족하는 방법이 있으면 possible을, 없으면 impossible을 한 줄에 출력한다.