#joi2014ho1. [joi2014ho1]JOI 紋章 (JOI Emblem)

[joi2014ho1]JOI 紋章 (JOI Emblem)

情報オリンピック日本委員会では,台湾大会に向かう選手を応援するために新しい JOI 旗を作成することにした.

JOI 旗は,正方形が縦に MM 行,横に NN 列並んだ形をしており,各正方形には JOI のいずれかの文字が 11 つずつ書かれている.

JOI 旗の例

情報オリンピック日本委員会は JOI 旗とは別に JOI 紋章というものを決めている.JOI 紋章は,正方形が縦に 22 行,横に 22 列並んだ形をしており,各正方形には JOI のいずれかの文字が 11 つずつ書かれている.

JOI 紋章の例

JOI 旗に含まれる JOI 紋章の個数とは,JOI 旗に含まれる縦 22 行,横 22 列の領域のうち,その領域の JOI の配置が JOI 紋章と (回転や裏返しをせずに) 一致しているものの個数のことである.条件を満たす縦 22 行,横 22 列の領域同士が重なっていてもそれらを別々に数えるものとする.

情報オリンピック日本委員会は古い JOI 旗と 11 枚の白紙を持っている.白紙は JOI 旗を構成する正方形 11 個分の大きさで,JOI のうち好きな 11 文字を書き込むことができる.情報オリンピック日本委員会は以下のいずれか 11 つの操作をして,新しい JOI 旗を作成することにした.

  • 古い JOI 旗に対して何も操作せず,そのまま新しい JOI 旗とする.白紙は使用しない.
  • 白紙に 11 文字書き込み,古い JOI 旗のいずれかの正方形に重ねて貼り付けることで古い JOI 旗のうち 11 箇所を変更する.変更後の JOI 旗を新しい JOI 旗とする.

情報オリンピック日本委員会は新しい JOI 旗に含まれる JOI 紋章の個数をできるだけ多くしたいと思っている.あなたは新しい JOI 旗に含まれる JOI 紋章の個数の最大値を求めることになった.

課題

古い JOI 旗と JOI 紋章の情報が与えられたとき,新しい JOI 旗に含まれる JOI 紋章の個数の最大値を求めるプログラムを作成せよ.


入力

標準入力から以下のデータを読み込め.

  • 11 行目には 22 個の整数 M,NM, N が空白を区切りとして書かれている.これは JOI 旗が正方形が縦に MM 行,横に NN 列並んだ形であることを表している.
  • 続く MM 行の各行には,それぞれ NN 文字からなる文字列が書かれている.各文字は JOI のいずれかであり,MM 行のうち上から ii 行目 (1leqqileqqM1 \\leqq i \\leqq M) に書かれている文字列の左から jj 文字目 (1leqqjleqqN1 \\leqq j \\leqq N) は古い JOI 旗の上から ii 行目,左から jj 列目の正方形に書かれている文字を表す.
  • 続く 22 行の各行には,それぞれ 22 文字からなる文字列が書かれている.各文字は JOI のいずれかであり,22 行のうち上から ii 行目 (1leqqileqq21 \\leqq i \\leqq 2) に書かれている文字列の左から jj 文字目 (1leqqjleqq21 \\leqq j \\leqq 2) は JOI 紋章の上から ii 行目,左から jj 列目の正方形に書かれている文字を表す.

出力

標準出力に,新しい JOI 旗に含まれる JOI 紋章の個数の最大値を表す整数を 11 行で出力せよ.


制限

すべての入力データは以下の条件を満たす.

  • 2leqqMleqq1,0002 \\leqq M \\leqq 1\\,000
  • 2leqqNleqq1,0002 \\leqq N \\leqq 1\\,000

小課題

小課題 1 [30 点]

以下の条件を満たす.

  • Mleqq50M \\leqq 50
  • Nleqq50N \\leqq 50

小課題 2 [70 点]

追加の制限はない.


入力例 1

3 5
JOIJO
IJOOO
IIJIJ
JO
IJ

出力例 1

3

古い JOI 旗と JOI 紋章は問題文中の例の通りである.上から 22 行目,左から 44 列目の正方形を白紙を用いて J に変更すると,次のような形になる.

JOI 旗の 11 箇所を変更した例

このように変更した後の JOI 旗には次に示す 33 箇所に JOI 紋章と同じ配置の領域がある.

JOI 紋章と同じ配置の領域

JOI 紋章と同じ配置の領域が 44 箇所以上となる新しい JOI 旗は存在しないので,新しい JOI 旗に含まれる JOI 紋章の個数の最大値は 33 である.


入力例 2

2 6
JOJOJO
OJOJOJ
OJ
JO

出力例 2

2

白紙を使用しなくても最大値が得られる場合があることに注意せよ.


入力例 3

2 2
JI
IJ
JJ
JJ

出力例 3

0

この入出力例の場合,考えられるどの新しい JOI 旗においても,JOI 紋章が 11 つも含まれない.