object Main extends App {
  import scala.io.StdIn._

  solve(readInt)
  def solve(n: Int): Unit = {
    if (n == 0) return
    val mode = readLine.trim
    if (mode == "") readInt()
    val modes = readLine.trim.split(' ').map(_.toDouble)
    val maxMode = modes.max
    val memo = Array.tabulate(201){x ⇒ Array.tabulate(101){v ⇒ if (x == 0 && v == 0) Some(Some(0d)) else None: Option[Option[Double]]}}
    for (_ ← 0 until readInt){
      val Array(x, v) = readLine.trim.split(' ').map(_.toInt)
      if (v * v > 2 * x * maxMode) println("crash")
      else {
        sub(x, v) match {
          case Some(0d) ⇒ println("perfect")
          case Some(d) ⇒ println(s"good ${d.toInt}.${((d * 1000).toInt%1000+1000).toString.tail}")
          case None ⇒ println("try again")
        }
      }
    }
    def sub(x: Double, v: Double): Option[Double] = {
      if (x < 0 || v < 0) None
      else memo((x * 2).toInt)(v.toInt) match {
        case Some(r: Option[Double]) ⇒ r
        case None if v == 0 ⇒ Some(x).also(r ⇒ memo((x * 2).toInt)(v.toInt) = Some(r))
        case None ⇒ modes.flatMap(a ⇒ sub(x - v + a / 2, v - a)) match {
          case l if l.nonEmpty ⇒ Some(l.min).also(r ⇒ memo((x * 2).toInt)(v.toInt) = Some(r))
          case _ ⇒ None.also(r ⇒ memo((x * 2).toInt)(v.toInt) = Some(r))
        }
        case _ ⇒ ???
      }
    }
    if (n != 1) println()
    solve(n - 1)
  }
  implicit class Scope[T](val value: T) extends AnyVal {
    @inline def also(@inline func: T ⇒ Unit): T = {
      func(value)
      value
    }
    @inline def let[A](@inline func: T ⇒ A): A = func(value)
  }
}
