#L2756. JOI 2014 Final」JOI 徽章

JOI 2014 Final」JOI 徽章

题目描述

日本信息学奥赛委员会打算制作一面新的 JOI 旗帜。JOI 旗帜为由 MMNN 列的 M×NM \times N 个正方形组成的图形,每个正方形里写有 JOI 中任一字母。

JOI 徽章为由 2222 列的 44 个正方形组成的图形,每个正方形里写有 JOI 中任一字母。

JOI 旗帜中所含 JOI 徽章的个数是指与 JOI 徽章相同(不允许翻转或旋转)的 JOI 旗帜中的 2×22 \times 2 区域的个数。

现在日本信息学奥赛委员会拥有一张旧的 JOI 旗帜和一张白纸。这张白纸的大小和一个构成 JOI 旗的正方形的大小相同。可以在这张白纸上写上 JOI 中任一字母。日本信息学奥赛委员会将进行以下任意一种操作来制作新的 JOI 旗帜:

  1. 不进行任何操作,直接把旧的旗帜当新的用(不使用白纸)
  2. 在白纸上写下一个字母,将白纸覆盖在旧的 JOI 旗帜的任意一个正方形上(也就是变更旧的 JOI 旗帜的一个正方形的字母)

日本信息学奥赛委员会想让新的 JOI 旗帜所含的 JOI 徽章的数量尽可能多。请求出新的 JOI 旗帜所含的 JOI 徽章的个数的最大值。

输入格式

  • 第一行为两个以空格分开的整数 M,NM, N
  • 接下来的 MM 行,每行为含有 NN 个字符的字符串,表示旧的 JOI 旗帜
  • 接下来的 22 行,每行为含有 22 个字符的字符串,表示 JOI 徽章

输出格式

输出一行一个整数:表示新的 JOI 旗帜所含的 JOI 徽章的个数的最大值。

样例 1

输入

3 5
JOIJO
IJOOO
IIJIJ
JO
IJ

输出

3

样例 2

输入

2 6
JOJOJO
OJOJOJ
OJ
JO

输出

2

样例 3

输入

2 2
JI
IJ
JJ
JJ

输出

0

数据范围

  • 对于 30%30\% 的数据:M50M \leq 50N50N \leq 50
  • 对于 100%100\% 的数据:2M10002 \leq M \leq 10002N10002 \leq N \leq 1000