------
## 最终结论
```python
def numTilePossibilities(tiles):
    def backtrack(tiles_count):
        total = 0
        for i in range(len(tiles_count)):
            if tiles_count[i] > 0:
                total += 1  # Count this arrangement
                tiles_count[i] -= 1  # Use this tile
                total += backtrack(tiles_count)  # Recur with the remaining tiles
                tiles_count[i] += 1  # Backtrack, restore the tile count
        return total

    from collections import Counter
    tiles_count = Counter(tiles)
    return backtrack(list(tiles_count.values()))

# Example usage:
print(numTilePossibilities("AAB"))     # Output: 8
print(numTilePossibilities("AAABBC"))  # Output: 188
print(numTilePossibilities("V"))       # Output: 1
```