import java.util.HashMap

fun main(args: Array<String>) {
    val n = readLine()!!.toInt()
    val input = readLine()!!
    val cmap = HashMap<Char, Int>()

    for (c in input) {
        // hashmap の初期化されていない値はnull になっている
        // cmap[c]?.let { cmap.put(c, it + 1) } ?: cmap.put(c, 1)
        if (cmap.containsKey(c)){
            cmap[c] = cmap[c]!! + 1
        } else {
            cmap[c] = 1
        }
    }

    var ans = 1L
    for (key in cmap.keys) {
        // ans の計算は愚直に最後まで行うとオーバーフローする
        // 合同式の考え方で常に余りを計算していく
        ans = ans * (cmap[key]!! + 1) % (Math.pow(10.0, 9.0).toLong() + 7)
    }
    print(ans-1)
}