JOI 문장

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

정보 올림피아드 일본 위원회는 대회를 앞두고 JOI 깃발을 새로 만들려 한다. JOI 깃발은 MMNN열의 정사각형 칸으로 이루어지고, 각 칸에는 J, O, I 중 하나가 적혀 있다.

위원회는 JOI 문장도 정해 두었다. JOI 문장은 2222열의 정사각형 칸으로 이루어지고, 각 칸에도 J, O, I 중 하나가 있다.

JOI 깃발에 포함된 JOI 문장의 개수는, 깃발 안의 2222열 영역 가운데 그 영역의 네 글자가 JOI 문장과 (회전이나 뒤집기 없이) 일치하는 것의 개수다. 서로 겹치는 영역도 각각 따로 센다.

위원회는 기존 JOI 깃발과 한 장의 빈 종이를 가지고 있다. 빈 종이는 깃발의 한 칸 크기이고, J, O, I 중 하나를 적을 수 있다. 다음 두 가지 중 하나만 수행해서 새 깃발을 만든다.

기존 깃발을 그대로 쓴다. 빈 종이는 쓰지 않는다.

빈 종이에 한 글자를 적어 기존 깃발의 한 칸에 붙여, 그 칸만 바꾼다.

새 깃발에 들어 있는 JOI 문장 개수를 최대화하려 한다. 기존 깃발과 JOI 문장이 주어질 때, 가능한 최대 개수를 구한다.

입력

첫 줄에 MM, NN이 주어진다. 다음 MM줄은 각각 NN개의 J, O, I로 이루어진 문자열로 기존 깃발을 나타낸다. 위에서 ii행, 왼쪽에서 jj열 칸은 각 줄의 jj번째 문자다.

그 다음 22줄은 각각 22개의 J, O, I로 이루어진 문자열로 JOI 문장을 나타낸다.

출력

새 깃발에 포함될 수 있는 JOI 문장 개수의 최댓값을 한 줄에 출력한다.

제한

2M10002 \le M \le 1000

2N10002 \le N \le 1000