根据一项奇怪的新 ISO 标准,每个国家的国旗都应该由 n×m 的方格组成,每个方格都应该涂上 26 种颜色中的一种,还要满足以下的限制:
注意每列可以使用多于两种颜色。
伯兰 zf 决定根据新标准对本国国旗进行修改,同时他们希望改动最小。你需要根据给出的伯兰国旗,求出需要修改的最少方格数,并输出其中一种修改方案。
第一行两个整数 n,m(1≤n,m≤500),分别表示伯兰国旗的行数和列数。
接下来 n 行,每行 m 个小写字母,表示对应方格的颜色。
第一行输出满足 ISO 标准所需修改的最少方格数。
接下来 n 行输出其中一种修改方案。注意这个方案在从原国旗修改而来时,修改的方格最少。如果有多种方案,输出任意一种。
### 题目描述
根据一项奇怪的新 ISO 标准,每个国家的国旗都应该由 $n \times m$ 的方格组成,每个方格都应该涂上 $26$ 种颜色中的一种,还要满足以下的限制:
- 每行最多使用 $2$ 种不同的颜色。
- 相邻的方格不能是同一种颜色。
注意每列可以使用多于两种颜色。
伯兰 zf 决定根据新标准对本国国旗进行修改,同时他们希望改动最小。你需要根据给出的伯兰国旗,求出需要修改的最少方格数,并输出其中一种修改方案。
### 输入格式
第一行两个整数 $n, m (1 \le n, m \le 500)$,分别表示伯兰国旗的行数和列数。
接下来 $n$ 行,每行 $m$ 个小写字母,表示对应方格的颜色。
### 输出格式
第一行输出满足 ISO 标准所需修改的最少方格数。
接下来 $n$ 行输出其中一种修改方案。注意这个方案在从原国旗修改而来时,修改的方格最少。如果有多种方案,输出任意一种。