Let's call a maze a rectangular field of cells, where cells can either be empty or contain a wall, and one can move from an empty cell to its empty neighbour cells in four directions.
Let's call a maze connected if it's possible to reach any its empty cell from any other empty cell by moving in four directions.
There was a connected maze of size n×m. It was cyclically shifted some rows down and some columns right, but nobody knows the exact shifts. Find all possible shifts.
The first line contains two integers n and m (1≤n,m≤200) --- the sizes of maze.
Each of the next n lines contains m characters "." or "#" --- empty cells and walls, correspondingly.
There is at least one empty cell in the maze.
In the first line output a single integer k (0≤k≤n⋅m) --- the number of possible shifts.
In each of the next k lines output two integers r_i and c_i (0≤r_i<n,0≤c_i<m) --- the number of rows the original maze was shifted down and the number of columns it was shifted right. Pairs (r_i, c_i) should be output in lexicographical order. Original maze must be connected for each of these cases.