만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

blobaww

면접 대비

시간 제한2초메모리 제한1024 MB

요약
격자에서 행과 열 번호가 각각 감소하지 않도록 E, S, M을 고르는 경우의 수를 1e9+7로 나눈 나머지로 구한다.
난이도

보통10점 중 5점

유형
동적 계획법, 누적 합, 행렬, 조합론
정답자
아직 제출이 없습니다

문제

블롭 세계에는 이러한 전설이 있다.

100년 전, 천재 인간 채완이는 에너지를 글자 세 개로 저장할 수 있고, 자신이 원하는 형태로 바꿔 쓸 수 있는 "ENERGY SYNERGY MATRIX"를 개발하였다. 이후 블롭 세계의 블롭들은 에너지를 원하는 형태로 자유롭게 쓸 수 있게 되었고, 블롭 세계는 에너지 기술에서 엄청난 발전을 이룩하게 되었다.

ESMESM을 오늘 알게 된 블롭 주환이는 이 전설을 듣고 놀라 자신이 구경하던 ENERGY SYNERGY MATRIX를 살펴보았다.

"ENERGY SYNERGY MATRIX"는 문자 E, S, M으로 구성된 N×MN×M 크기의 2차원 행렬이다. 이를 줄여서 ESMESM이라고 하자.

주환이는 ESMESM을 켜려고 한다. ESMESM은 ESMx1,y1=ESM_{x1, y1} = E, ESMx2,y2=ESM_{x2, y2} = S, ESMx3,y3=ESM_{x3, y3} = M (1≤x1≤x2≤x3≤N,1≤y1≤y2≤y3≤M1 \leq x1 \leq x2 \leq x3 \leq N, 1 \leq y1 \leq y2 \leq y3 \leq M)인 임의의 세 칸 (x1,y1)(x1, y1), (x2,y2)(x2, y2), (x3,y3)(x3, y3)을 차례로 누르면 켜진다.

주환이는 ESMESM을 켤 수 있는 경우의 수가 궁금해졌다. 주환이를 도와 경우의 수를 구해 주자.

경우의 수가 커질 수 있으므로 109+710^9+7로 나눈 나머지를 출력한다.

입력

첫째 줄에 NN과 MM이 공백으로 구분되어 주어진다.

다음 NN개의 줄에 걸쳐, 각 줄마다 MM개의 문자가 공백 없이 주어진다.

출력

주환이가 조건에 맞게 고를 수 있는 경우의 수를 109+710^9+7로 나눈 나머지를 출력한다.

제한

  • 1≤N,M≤3 0001 \leq N, M \leq 3\,000
  • 모든 i,ji, j (1≤i≤N,1≤j≤M)(1 \leq i \leq N, 1 \leq j \leq M)에 대해서 ESMi,jESM_{i, j}은 E, S, M 중 하나이다.

예제1

  1. 예제 1

    입력
    3 2
    EM
    SS
    MM
    
    예상 출력
    3