만드는 중입니다

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

중국 여행

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

요약
3행 m열 격자의 도시 비용으로 서로 다른 도시 쌍마다 최소 경로 비용을 구해 모두 더한 값을 10^9+7로 나눈 나머지를 출력합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 최단 경로, 행렬
정답자
아직 제출이 없습니다

문제

Rikka는 부유한 소녀이다.

그녀는 중국의 아름다운 도시들을 방문하고 싶어 한다. 중국의 도시 위치는 nn행 mm열로 이루어진 격자로 단순하게 볼 수 있다. 행은 북쪽에서 남쪽으로 11번부터 nn번까지, 열은 서쪽에서 동쪽으로 11번부터 mm번까지 번호가 매겨진다. ii행 jj열의 도시를 (i,j)(i, j)라고 한다.

도시 (i,j)(i, j)에서 도시 (x,y)(x, y)로 바로 가는 고속도로는 ∣i−x∣+∣j−y∣=1|i - x| + |j - y| = 1을 만족할 때에만 존재한다. 새해를 맞아 고속도로는 무료로 일반에 개방되었다.

Rikka가 도시 (i,j)(i, j)에서 (x,y)(x, y)로 이동할 때는 고속도로만 이용할 수 있다. 경로의 비용은 출발 도시와 도착 도시를 포함하여 경로가 방문하는 모든 도시의 비용을 합한 값이다. 경로가 도시 (i,j)(i, j)를 지나면 ai,ja_{i, j}원을 쓴다. 같은 도시를 총 kk번 방문하면 k⋅ai,jk \cdot a_{i, j}원을 쓴다. 돈을 쓸 상점이 항상 충분하기 때문이다.

Rikka는 엉뚱한 소녀라서 출발 도시와 도착 도시조차 정하지 않는다. f(i,j,x,y)f(i, j, x, y)를 도시 (i,j)(i, j)에서 (x,y)(x, y)까지 가는 경로의 최소 비용이라고 하자. 그녀가 구하려는 값은 다음과 같다.

∑i=1n∑x=1n∑j=1m∑y=1m[(i,j)≠(x,y)]f(i,j,x,y)\sum_{i=1}^{n} \sum_{x=1}^{n} \sum_{j=1}^{m} \sum_{y=1}^{m} [(i, j) \neq (x, y)] f(i, j, x, y)

답이 매우 클 수 있으므로 109+710^9 + 7로 나눈 나머지를 구한다.

입력

첫 줄에 정수 nn과 mm이 주어진다.

이어서 nn개의 줄에 각각 mm개의 정수가 주어진다. ii번째 줄의 jj번째 수는 ai,ja_{i, j}이다.

n=3n = 3, 1≤m≤1.5⋅1051 \le m \le 1.5 \cdot 10^5, 1≤ai,j≤1091 \le a_{i, j} \le 10^9이 보장된다.

출력

답을 109+710^9 + 7로 나눈 나머지를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3 3
    1 1 1
    1 100 1
    1 1 1
    
    예상 출력
    1808