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

  val Array(n, h) = readLine.trim.split(' ').map(_.toInt)
  var health = h
  var success = 0
  var fail = 0
  val words = Array.tabulate(n){_ ⇒ readLine.trim.split(' ')}
  for (Array(target, tolerance) ← words if health != 0){
    stage(target, tolerance.toInt) match {
      case Right(f) ⇒
        success += target.length
        fail += f
      case Left(s) ⇒
        health -= 1
        success += s
        fail += tolerance.toInt + 1
    }
  }
  if (health != 0){
    println(s"! Game Clear ${success * 100 / (success + fail)}.${(success * 1000 / (success + fail)) % 10}")
  }else {
    println("! Game Over")
  }


  def stage(target: String, initTolerance: Int): Either[Int, Int] = {
    val state = target.toCharArray
    def sub(position: Int, tolerance: Int): Either[Int, Int] = {
      if (position < state.length){
        println(s"? ${state.mkString}")
        val input = readChar
        if (target(position).toLower == input){
          state(position) = '_'
          sub(position + 1, tolerance)
        }else if (tolerance == 0) Left(position)
        else sub(position, tolerance - 1)
      }else Right(initTolerance - tolerance)
    }
    sub(0, initTolerance)
  }
  implicit class Scope[T](val value: T) extends AnyVal {
    @inline
    def let[A](func: T ⇒ A): A = func(value)
    @inline
    def also(func: T ⇒ Unit): T = {
      func(value)
      value
    }
  }
}
