package main
var (
    str = ""
)
func Insert(ch byte) {
    str += string(ch)
}

func FirstAppearingOnce() byte {
    bytes := []byte(str)
    m := make(map[byte][]int)
    for i, v := range bytes {
        if m[v] == nil {
            m[v] = make([]int, 2)
        }
        m[v][0]++
        m[v][1] = i
    }
    index := len(bytes)
    for _, v := range m {
        if v[0] == 1 && index > v[1] {
            index = v[1]
        }
    }
    if index == len(bytes) {
        return '#'
    } else {
        return bytes[index]
    }
    
}