Array.prototype.aggregate = function(){
  	return this.reduce((a,b)=>(a[b]=(a[b]||0)+1)&&a,{});
 }
 
 
function Main(input){
var mod = 1000000007;


	input = input.split("\n");
  var N = ~~input[0];
  var S = input[1];
  
  S = S.split("").aggregate();
  
  var num = 1;
  
  for (var p in S) {
  	num *= (S[p] + 1);
    num %= mod;
  }
  
  return num - 1;
}

// If you are interested in the algorithms I used, 
// there is no need to read down from this line.

((b,c,d)=>"undefined"!=typeof require?console.log(Main(require("fs").readFileSync("/dev/stdin","utf8"))):[b=b.split("\n").slice(1,-1).join("\n"),c=function(){try{return Main(b)}catch(f){return f.stack||f.message}}(),d=typeof c,"string"==d||(c=JSON.stringify(c)),$("<form>").append([[10,b],0,[1,d],0,[10,c]].map(f=>$(f?"<textarea>":"<br>",f&&{rows:f[0],cols:40,text:f[1]}))).appendTo("body")])(`
3
baa
`);