# 828. Count Unique Characters of All Substrings of a Given String

## Hard

***

Let's define a function `countUniqueChars(s)` that returns the number of unique characters on `s`.

* For example, calling `countUniqueChars(s)` if `s = "LEETCODE"` then `"L"`, `"T"`, `"C"`, `"O"`, `"D"` are the unique characters since they appear only once in `s`, therefore `countUniqueChars(s) = 5`.

Given a string `s`, return the sum of `countUniqueChars(t)` where `t` is a substring of `s`. The test cases are generated such that the answer fits in a 32-bit integer.

Notice that some substrings can be repeated so in this case you have to count the repeated ones too.

&#x20;

**Example 1:**

<pre><code>Input: s = "ABC"
<strong>Output:
</strong> 10
<strong>Explanation: 
</strong>All possible substrings are: "A","B","C","AB","BC" and "ABC".
Every substring is composed with only unique letters.
Sum of lengths of all substring is 1 + 1 + 1 + 2 + 2 + 3 = 10
</code></pre>

**Example 2:**

<pre><code>Input: s = "ABA"
<strong>Output:
</strong> 8
<strong>Explanation: 
</strong>The same as example 1, except countUniqueChars("ABA") = 1.
</code></pre>

**Example 3:**

<pre><code>Input: s = "LEETCODE"
<strong>Output:
</strong> 92
</code></pre>

&#x20;

**Constraints:**

* `1 <= s.length <= 105`
* `s` consists of uppercase English letters only.
