It is 1990 and you work in the development team of a video game that will change arcades. The player gets a rectangular board of white and black squares. The goal is to turn the whole board white. On each turn the player may pick a tetromino from an infinite supply, move and rotate it so that the piece lies entirely inside the board, and flip the color of the four squares it covers. A tetromino is a set of four squares joined edge to edge into one connected piece (Figure 1).
The testing team keeps complaining that some levels cannot be solved at all. The testers are skilled enough to place a piece in any position and rotation they need, so the cause is somewhere else. Your next debugging step is to write a program that decides whether a level can be solved.

Figure 1: all tetrominoes. Source: Wikimedia.
The first line contains two integers m and n (1≤m,n≤100), the dimensions of the board. Then follow m lines with n characters each. The character . is a white square and the character X is a black square.
Print one line with possible if the level can be solved and impossible if it cannot.