校区规划
题号:NC205172
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

    为了扩大影响力,北京老哥大学在河北省购置了一大块建设用地,打算建立一些新校区。这块建设用地可以看做一个列的矩形。校长想要建设尽可能多的校区来增加学校威望,因此他向你求助,希望你能帮他规划校区建设方案。

    此外,为了增强同学们的幸福感,校长要求,每个校区内的学生都成功脱离单身。

    在该矩形中,每个位置都有一个字符,用来表示该点处所站着的学生的类别,学生一共分为如下三类:

    老哥,用字符来表示,老哥可以和某个老姐、老阴阳人一起脱离单身;

    老姐,用字符来表示,老姐可以和某个老哥、老阴阳人一起脱离单身;

    老阴阳人,用字符  来表示,老阴阳人可以和某个老哥、老姐、老阴阳人一起脱离单身,特别地,老阴阳人甚至可以通过自恋的方式来自己与自己脱离单身。

    当然了,又因为大学生要知耻懂礼,不可以脚踏多条船,所以每个人只能和一个人脱离单身;

    例如,的身份分别为老哥、老姐、老阴阳人、老阴阳人,则下列脱单组合都是合法的:$$

    一个校区是指原有的建设用地的一个大小任意的(不可以为0)、封闭的子矩形。对于校区建设有两条需要满足的要求:首先,两个校区不可以相交,也就是说,对于任意的一个位置,不可以同时处于两个或更多的校区当中,但允许某个位置不处于任何的校区当中;其次,该校区内的所有学生可以按照上述规则,所有人都脱离单身,注意,脱离单身只要满足上述规则且在同一个校区里就可以,并不要求脱离单身的双方在原矩阵中相邻,例如,一个校区左上角的老哥和右下角的老姐也是可以成功一起脱单的。

    请你帮助校长,计算出在最优的安排方案下,最多可以建设几个校区。

输入描述:

输入第一行包含两个整数,描述建设用地的面积,输入保证

下面行是一个只有三种字符所组成的字符矩阵,表示各个地点的人物。

输出描述:

输出一行,包括一个整数,表示可以建设的最大校区数。
示例1

输入

复制
1 6
1=00=1

输出

复制
2

说明

在样例中,一种可行的最优方案是分为两个矩形,分别为1=0,0=1,两组都是老哥和老姐配对,老阴阳人通过自恋的方式和自己配对。
示例2

输入

复制
3 4
=10=
0=11
=00=

输出

复制
7