import java.util.Scanner

import scala.collection.mutable

object Main extends App {
  def solve: Unit = {
    val sc = new Scanner(System.in)
    val H, W = Integer.parseInt(sc.next)
    val A: Seq[String] = (1 to H).map(h => sc.next)

    val queue: mutable.Queue[(Int, Int)] = new mutable.Queue()
    queue.enqueue((0, 0))
    while (queue.length > 0) {
      val cur = queue.dequeue()
      if (cur._1 + 1 < H && A(cur._1 + 1)(cur._2) == '#') {
        queue.enqueue((cur._1 + 1, cur._2))
      }
      if (cur._2 + 1 < W && A(cur._1)(cur._2 + 1) == '#') {
        queue.enqueue((cur._1, cur._2 + 1))
      }
      if (queue.length == 2) {
        println("Impossible")
        return
      }
      if (cur._1 == H - 1 && cur._2 == W - 1){
        println("Possible")
        return
      }
    }
    println("Impossible")
  }

  solve
}
