package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

var req map[string]int

func main() {
	var input []string
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		input = append(input, scanner.Text())
	}

	req = make(map[string]int)
	req["children"] = 3
	req["cats"] = 7
	req["samoyeds"] = 2
	req["pomeranians"] = 3
	req["akitas"] = 0
	req["vizslas"] = 0
	req["goldfish"] = 5
	req["trees"] = 3
	req["cars"] = 2
	req["perfumes"] = 1

	for i := range input {
		if checkString(input[i]) {
			fmt.Println(input[i])
			break
		}
	}
}

func checkString(s string) bool {
	split := strings.SplitN(s, ": ", 2)
	items := strings.Split(split[1], ", ")
	for i := range items {
		tst := strings.Split(items[i], ": ")
		if tst[0] == "trees" || tst[0] == "cats" {
			if req[tst[0]] > mustAtoi(tst[1]) {
				return false
			}
		} else if tst[0] == "pomeranians" || tst[0] == "goldfish" {
			if req[tst[0]] < mustAtoi(tst[1]) {
				return false
			}
		} else {
			if req[tst[0]] != mustAtoi(tst[1]) {
				return false
			}
		}
	}
	return true
}

func mustAtoi(s string) int {
	var i int
	var err error
	if i, err = strconv.Atoi(s); err != nil {
		fmt.Println("Tried to atoi " + s)
		os.Exit(1)
	}
	return i
}
