Chandan and Balanced Strings
Practice
4.2 (30 votes)
Algorithms
Approved
Bit manipulation
Hard
Open
Sorting
Problem
66% Success 3377 Attempts 50 Points 1s Time Limit 256MB Memory 1024 KB Max Code

Chandan got bored playing with the arrays all the time. Therefore he has decided to buy a string S consists of N lower case alphabets. Once he purchased the string, He starts formulating his own terminologies over his string S. Chandan calls a string str A Balanced String if and only if the characters of the string str can be paritioned into two multisets M1 and M2 such that M1= M2 .

For eg:

Strings like "abccba" , "abaccb" , "aabbcc" are all balanced strings as their characters can be partitioned in the two multisets M1 and M2 such that M1 = M2.

M1 = {a,b,c}

M2 = {c,b,a}

whereas strings like ababab , abcabb are not balanced at all.

Chandan wonders how many substrings of his string S are Balanced String ? Chandan is a little guy and do not know how to calculate the count of such substrings.

Can you help him in accomplishing this task ?

Input

First line of input contains a single integer T denoting the number of test cases. First and the only line of each test case contains a string consists of lower case alphabets only denoting string S .

Output

For each test case, print the count of Balanced Substrings of string S.

Constraints

1 ≤ T ≤ 105

1 ≤ |S| ≤ 105

S consists of lower case alphabets only.

NOTE : sum of |S| over all the test case will not exceed 10^6.

Please login to use the editor

You need to be logged in to access the code editor

Loading...

Please wait while we load the editor

Loading...
Results
Custom Input
Run your code to see the output
Submissions
Please login to view your submissions
Similar Problems
Points:30
187 votes
Tags:
Ad-HocAlgorithmsApprovedDynamic ProgrammingMediumOpen
Points:50
6 votes
Tags:
Bit ManipulationBasics of Bit ManipulationNumber TheoryMathAlgorithmsBasic Programming