만드는 중입니다

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

식을 평가해 봅시다!

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

요약
2차원 아스키 아트로 그려진 수식을 읽고 그 값을 10^9+7로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

유형
구현, 재귀, 정수론
정답자
아직 제출이 없습니다

문제

먼저 두 그림을 정의합니다.

  • S(r,c)S(r,c)는 너비 cc, 높이 rr인 공백으로만 이루어진 그림입니다.
  • VhV_h는 너비 1, 높이 hh인 |로만 이루어진 그림입니다.

표현식 EE는 다음 다섯 가지 중 하나입니다.

  1. 수. EE는 다음과 같은 형태이며, eval(E)=n mod p\mathrm{eval}(E) = n \bmod p로 정의합니다. n≥0n \ge 0이 주어집니다. h1,h2≥0h_1, h_2 \ge 0이고, EE의 너비는 LL, 높이는 h1+h2+1h_1+h_2+1입니다.
S(h1,L)S(h_1,L)
nn (길이 LL)
S(h2,L)S(h_2,L)
  1. 괄호. eval(E)=eval(E′)\mathrm{eval}(E) = \mathrm{eval}(E')로 정의합니다.

E′E'의 높이가 1이면, EE는 다음과 같으며 너비는 L+2L+2, 높이는 1입니다.

(E' (너비 LL))

E′E'의 높이가 H≥2H \ge 2이면, EE는 다음과 같으며 너비는 L+2L+2, 높이는 HH입니다.

| / | E' (너비 LL) | \ | | VH−2V_{H-2} | | VH−2V_{H-2} | | \ | | / |

  1. 루트. EE는 다음과 같으며 eval(E)=min⁡{0≤x<p:x4=eval(E′)2 mod p}\mathrm{eval}(E) = \min\{0 \le x < p : x^4 = \mathrm{eval}(E')^2 \bmod p\}로 정의합니다. EE의 너비는 L+3L+3, 높이는 H+1H+1입니다.
S(H,2)S(H,2)+길이 LL의 -로만 이루어진 문자열
VH−1V_{H-1}E' (너비 LL, 높이 HH)
/\|
  1. 연산. EE는 다음과 같으며, op는 +, -, *, / 중 하나입니다. eval(E)=(eval(E1)opeval(E2)) mod p\mathrm{eval}(E) = (\mathrm{eval}(E_1) \mathrm{op} \mathrm{eval}(E_2)) \bmod p로 정의합니다. 이때 eval(E1)/0=19981204\mathrm{eval}(E_1) / 0 = 19981204로 정의합니다. EE의 너비는 L1+L2+3L_1+L_2+3, 높이는 HH입니다.
E1 (너비 L1L_1, 높이 HH)S(H,1)S(H,1)S(⌊H/2⌋,1)S(\lfloor H/2 \rfloor,1)S(H,1)S(H,1)E2 (너비 L2L_2, 높이 HH)
op
S(⌊(H−1)/2⌋,1)S(\lfloor (H-1)/2 \rfloor,1)
  1. 분수. EE는 다음과 같으며 eval(E)=(eval(E1)/eval(E2)) mod p\mathrm{eval}(E) = (\mathrm{eval}(E_1) / \mathrm{eval}(E_2)) \bmod p로 정의합니다. EE의 너비는 L+2L+2, 높이는 H1+H2+1H_1+H_2+1입니다.
S(H1,1)S(H_1,1)E1 (너비 LL, 높이 H1H_1)S(H1,1)S(H_1,1)
길이 L+2L+2의 -로만 이루어진 문자열
S(H2,1)S(H_2,1)E2 (너비 LL, 높이 H2H_2)S(H2,1)S(H_2,1)

입력은 위 규칙으로 둘 이상의 parse tree가 생성되지 않도록 주어집니다. 위의 모든 식에서 p=109+7p = 10^9 + 7은 소수입니다.

입력

첫 줄에 행의 개수 RR와 열의 개수 CC가 주어집니다. 둘째 줄부터 RR개의 줄에 각각 CC개의 문자로 표현식 E0E_0가 주어집니다. E0E_0의 너비는 CC, 높이는 RR입니다.

출력

eval(E0E_0)를 출력합니다.

예제1

  1. 예제 1

    입력
    6 10
    /   +--- \
    |   | 6  |
    |   |--- |
    | /\| 3  |
    |--------|
    \ 12 - 9 /
    
    예상 출력
    353237869