from sys import setrecursionlimit setrecursionlimit(10**6) def dfs(x, y, rx, ry): flg[x][y] = False Check[x][y] = False for i in range(4): nx,my = x+dx[i],y+dy[i] if nx < 0 or H <= nx or my < 0 or W <= my: continue if nx == rx and my == ry: continue if M[x][y] == M[nx][my]: if flg[nx][my]: dfs(nx, my, x, y) else: print('possible') exit() flg[x][y] = True W,H = map(int,input().split()) M = [list(map(int,input().split())) for _ in range(H)] flg = [[True] * W for _ in range(H)] Check = [[True] * W for _ in range(H)] dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] for i in range(H): for j in range(W): if Check[i][j]: dfs(i, j, -1, -1) print('impossible')