import scala.io.StdIn.{readInt, readLine}
import scala.reflect.ClassTag
case class Node[A](data: A, var next: Option[Node[A]])
class Dictionary[A](val size: Int)(implicit m: ClassTag[Option[Node[A]]]) {
    val dict: Array[Option[Node[A]]] = m.newArray(size).map(a => None)
    
    def insert(target: A): Unit = {
        val index = target.hashCode % size
        def insert1(node: Option[Node[A]]): Unit = node match {
            case None => dict(index) = Option(new Node[A](target, None))
            case Some(a) => a.next match {
                case None => a.next = Option(new Node[A](target, None))
                case Some(b) if b.data != target => insert1(a.next) 
            }
        }
        insert1(dict(index))
    }
    def find(target: A): Boolean = {
        val index = target.hashCode % size
        def find1(node: Option[Node[A]]): Boolean = node match {
            case None => false
            case Some(a) => if (a.data == target) true else find1(a.next)
        }
        find1(dict(index))
    }
    
}
object Dictionary {
    def apply[A](size: Int): Dictionary[A] = new Dictionary(size)
}
object Main {
    def main(args: Array[String]): Unit = {
        val len = readInt
        val dict = Dictionary[String](len)
        for (i <- (1 to len)) { 
            readLine.split(" ") match {
                case Array("insert", v) => dict.insert(v)
                case Array("find", v) => dict.find(v) match {
                    case true => println("yes")
                    case false => println("no")
                }
            }
        }
    }
}
