Codeforces Round 135 (Div. 2)
C
Color Stripe
Codeforces
1600
原题
← BD →
翻译中…

A colored stripe is represented by a horizontal row of $*n*$ square cells, each cell is pained one of $*k*$ colors. Your task is to repaint the minimum number of cells so that no two neighbouring cells are of the same color. You can use any color from 1 to $*k*$ to repaint the cells.

翻译中…

Input

翻译中…

The first input line contains two integers $*n*$ and $*k*$ ($1 ≤ *n* ≤ 5·10^{5}; 2 ≤ *k* ≤ 26$). The second line contains $*n*$ uppercase English letters. Letter "A" stands for the first color, letter "B" stands for the second color and so on. The first $*k*$ English letters may be used. Each letter represents the color of the corresponding cell of the stripe.

翻译中…

Output

翻译中…

Print a single integer — the required minimum number of repaintings. In the second line print any possible variant of the repainted stripe.

翻译中…

样例

Input #1
6 3
ABBACC
Output #1
2
ABCACA
InputCopy OutputCopy
Input #2
3 2
BBB
Output #2
1
BAB
InputCopy OutputCopy
题目信息
题号
219C
时间限制
2 s
内存限制
256 MB
标签
暴力
动态规划
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。