Đường đều
Cho bảng \(T\) hình chữ nhật \(m*n\) ô (\(m\) hàng \(n\) cột), các hàng đánh số từ \(1\) tới \(m\) từ trên xuống dưới, các cột đánh số từ \(1\) tới \(n\) từ trái sang phải. Trong mỗi ô hàn \(i\) cột \(j\) của bảng có một số được kí hiệu là \(T[i][j]\). Đếm số dãy gồm \(m\) phần tử \(T[1][i_1], T[2][i_2], ... , T[m][i_m]\) sao cho \(n \ge i_1 \ge i_2 \ge ... \ge i_m \ge 1\) và \(T[1][i_1] = T[2][i_2] = ... = T[m][i_m]\).
Đầu vào
Dòng đầu tiên chứa hai số nguyên \(m\) và \(n\) \((2 \le m, n \le 2000)\).
\(m\) dòng tiếp theo, mỗi dòng gồm \(n\) số nguyên trong khoảng \([-10^9, 10^9]\) là các số trong bảng.
Đầu ra
Một số nguyên duy nhất là kết quả của bài toán, lấy chia dư cho \(10^9 + 7\).
Subtask
\(30\%\) số test có \(2 \le m, n \le 8\).
\(30\%\) số test có \(2 \le m, n \le 200\).
Ví dụ
Đầu vào:
3 3
1 1 2
2 1 1
1 2 1
Đầu ra:
1
Giải thích: Chỉ có dãy ở các vị trí \((1, 2), (2, 2), (3, 1)\) là thỏa mãn đề bài.
Comments