루빅스 직사각형

아직 제출이 없습니다시간 제한6초메모리 제한128 MB

문제

루빅스 큐브와 15 퍼즐을 합친 새 퍼즐이 나왔다. 판은 H×WH \times W 크기의 틀이고, 11부터 H×WH \times W까지의 수가 하나씩 적힌 타일이 빈틈없이 놓여 있다.

허용되는 동작은 한 행 전체를 뒤집거나 한 열 전체를 뒤집는 것뿐이다. 뒤집으면 그 행(또는 그 열)에 놓인 타일의 순서가 반대가 된다. 예를 들어 3번 행을 뒤집으면 3번 행의 타일 순서만 반대가 되고 다른 칸은 움직이지 않는다.

ii번 행 jj번 열에 (i1)×W+j(i-1) \times W + j가 놓인 상태를 정렬된 상태라고 한다. 타일이 아무 순서로나 놓인 판이 주어질 때, 뒤집기를 여러 번 해서 정렬된 상태로 만들 수 있는지 판정하라.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 다음 줄부터 각 테스트 케이스가 주어진다.

각 테스트 케이스는 빈 줄로 시작한다. 그 다음 줄에는 퍼즐의 너비와 높이를 나타내는 두 정수 WWHH가 공백을 두고 주어진다 (1W,H1001 \le W, H \le 100). 이어지는 HH개의 줄에는 각각 WW개의 정수가 공백을 두고 주어지며, 그 행에 놓인 타일에 적힌 수를 왼쪽부터 차례대로 나타낸다.

출력

각 테스트 케이스마다 답을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다. 퍼즐을 정렬된 상태로 만들 수 있으면 POSSIBLE을, 만들 수 없으면 IMPOSSIBLE을 출력한다.