program Slova;
var S:string;
  N:integer;
function BrojKombinacija(S:string):int64;
var i,a,z:integer; p,q,m:string;
begin
  a:=1; BrojKombinacija:=1;
  m:='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; p:='A';
  for i:=1 to length(S) do begin
  if p=copy(S,i,1) then begin if a>1 then begin BrojKombinacija:=BrojKombinacija*z;
  BrojKombinacija:=BrojKombinacija mod 1000000007; end;
  a:=a+1; q:=p; z:=0; if a<27 then p:=copy(m,a,1) else p:='0'; end;
  if a>1 then begin if q=copy(S,i,1) then z:=z+1; end;
  end;
  BrojKombinacija:=BrojKombinacija*z;
  BrojKombinacija:=BrojKombinacija mod 1000000007;
  if a<27 then BrojKombinacija:=0;
end;
begin
readln(N);
IF (N<1) or (N>1000000) then writeln('Broj slova ne sme biti manji od 1 ili veci od 1000000') else begin readln(S);
if length(S)=N then begin
if N<=26 then begin if S='ABCDEFGHIJKLMNOPQRSTUVWXYZ' then writeln('Ne treba brisati nijedno slovo')
else writeln('Nemoguce je'); end else begin
if BrojKombinacija(S)=0 then writeln('Nemoguce je')
else writeln(BrojKombinacija(S));
end; end else writeln('Pogresan broj slova je unet'); end;
readln;
end.