output_description: Print the number of the subsequences such that all characters are different,
  modulo 10^9+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      S
attempt: use std::io::stdin;
  use std::collections::HashMap;
  
  fn main() {
      let mut st = String::new();
      stdin().read_line(&mut st).unwrap();
      let n = st.trim().parse::<usize>().unwrap();
      let mut st = String::new();
      stdin().read_line(&mut st).unwrap();
      let s:Vec<char> = st.trim().chars().collect();
      let mut map:HashMap<&char, i64> = HashMap::new();
      for i in &s {
          let count = map.entry(i).or_insert(1);
          *count += 1;
      };
      let mo = 100000007;
      let mut result:i64 = 1;
      for (_i, j) in map.iter() {
          result = (result*j)%mo;
      };
      println!("{}", result-1);
  }
  
  
  fn bisec(v:&Vec<i64>, num:&i64) -> usize {
      let mut l:usize = 0;
      let mut r = v.len() as usize;
      let mut m = (l+r)/2 as usize;
      while l < r {
          if num <= &v[m] {
              r = m;
          } else {
              l = m+1;
          };
          m = (l+r)/2;
      };
      l
  }
  
  fn max (a:&i64, b:&i64) -> i64 {
      if a < b {
          *b
      } else {
          *a
      }
  }
  
  fn min (a:&i64, b:&i64) -> i64 {
      if a > b {
          *b
      } else {
          *a
      }
  }
problem_description: Statement
  
  You are given a string S of length N. Among its subsequences, count the ones
  such that all characters are different, modulo 10^9+7. Two subsequences are
  considered different if their characters come from different positions in the
  string, even if they are the same as strings.
  
  Here, a subsequence of a string is a concatenation of **one or more**
  characters from the string without changing the order.
samples: [{"input": "4\n    abcd", "output": "15\n    \n\nSince all characters in S itself are different, all its subsequences satisfy\nthe condition.\n\n* * *"}, {"input": "3\n    baa", "output": "5\n    \n\nThe answer is five: `b`, two occurrences of `a`, two occurrences of `ba`. Note\nthat we do not count `baa`, since it contains two `a`s.\n\n* * *"}, {"input": "5\n    abcab", "output": "17"}]