public static int numDistinct(String s, String t) {
    if (t.length() == 0)
      return 1;
    if (s.length() == 0)
      return 0;
    if (s.length() == 1 && t.length() == 1) {
      if (s.charAt(0) == t.charAt(0)) {
        return 1;
      } else {
        return 0;
      }
    }
    if (s.charAt(0) == t.charAt(0)) {
      return numDistinct(s.substring(1), t.substring(1))
          + numDistinct(s.substring(1), t);
    } else {
      return numDistinct(s.substring(1), t);
    }
  }