Problem9343--CCC '20 S4 - Swapping Seats

9343: CCC '20 S4 - Swapping Seats

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

There are $N$ people sitting at a circular table for a long session of negotiations. Each person belongs to one of the three groups: A, B, or C. A group is happy if all of its members are sitting contiguously in a block of consecutive seats. You would like to make all groups happy by some sequence of swap operations. In each swap operation, two people exchange seats with each other. What is the minimum number of swaps required to make all groups happy?

Input

The input consists of a single line containing $N\ (1≤N≤1,000,000)$ characters, where each character is A, B, or C. The $i$-th character denotes the group of the person initially sitting at the $i$-th seat at the table, where seats are numbered in clockwise order.

Output

Output a single integer, the minimum possible number of swaps.

Sample 1 Input

BABCBCACCA

Sample 1 Output

2
In one possible sequence, the first swap results in the seating layout AABCBCBCCA. After the second swap, the layout is AABBBCCCCA.

HINT

相同题目:CCC20s4

Source/Category