object App {
    private val outputBuffer = mutableListOf<Any>()

    private var i = 0
    private var inputBuffer = listOf<String>()

    fun next(): String = if (i < inputBuffer.size) {
        inputBuffer[i++]
    } else {
        inputBuffer = readLine()?.split(" ") ?: throw Exception("EOF")
        i = 0
        next()
    }

    fun nextLine(): String {
        i = 0
        inputBuffer = listOf<String>()
        return readLine() ?: throw Exception("EOF")
    }

    fun int() = next().toInt()

    fun long() = next().toLong()

    fun double() = next().toDouble()

    fun writeln(obj: Any) = write("$obj\n")

    fun write(obj: Any) = outputBuffer.add(obj)

    fun write(l: Iterable<Any>, sep: String = " ") = write(l.joinToString(sep))

    fun writeln(l: Iterable<Any>, sep: String = " ") = writeln(l.joinToString(sep))

    fun flush() {
        print(outputBuffer.joinToString(""))
        outputBuffer.clear()
    }
}


inline fun app(body: App.() -> Unit) {
    try {
        App.body()
    }
    finally {
        App.flush()
    }
}


fun main(args: Array<String>) = app {
    val n = int()

    val a = nextLine().split(" ").map {it.toInt()}

    val cnt = MutableList(n) { 0 }

    for (v in a) {
        cnt[v-1]++
    }

    writeln(cnt,"\n")
}
