import Control.Monad
import Data.List
import Data.Array
main=do
    [h,w]<-map read.words<$>getLine::IO[Int]
    a <- array ((1,1),(h,w)).concatMap (\(v,wl)->map (\(u,c)->((v,u),c)) wl).zip [1..] <$> replicateM h (zip [1..]<$>getLine)
    putStrLn $ case find (f a) [(i,j)|i<-[1..h-1], j<-[1..w-1]] of
        Just(_) -> "Impossible"
        Nothing -> "Possible"

f a (i,j)
    | a!(i,j+1)=='#'&&a!(i+1,j)=='#' = True
    | otherwise = False

