아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

종이 뭉치

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

요약
각각 K개의 정수가 오름차순으로 적힌 N장의 종이에서 하나씩 골라 만들 수 있는 비감소 수열의 개수를 10^9+7로 나눈 나머지를 구한다.
난이도

보통10점 중 6점

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

문제

정수 11부터 NN까지의 번호가 붙은 종이가 NN장 있다. 종이마다 KK개의 정수가 적혀 있어, ii번째 종이에는 vi,1,vi,2,…,vi,Kv_{i,1}, v_{i,2}, \ldots, v_{i,K}가 적혀 있다.

각 종이에서 정수를 하나씩 골라 수열 aia_i를 만든다. ii번째 종이에서 고른 정수가 aia_i가 된다. 이렇게 수열을 만드는 방법은 KNK^N가지다. 그중에서 감소하지 않는 수열은 몇 가지인가? 수열이 감소하지 않는다는 것은 모든 1≤i≤N−11 \le i \le N-1에 대해 ai≤ai+1a_i \le a_{i+1}이라는 뜻이다.

답이 너무 클 수 있으므로 109+710^9 + 7로 나눈 나머지를 출력한다.

입력

첫째 줄에 두 정수 NN과 KK가 주어진다. (1≤N≤1001 \le N \le 100, 1≤K≤1041 \le K \le 10^4) 다음 NN개 줄 중 ii번째 줄에 KK개의 정수 vi,1,vi,2,…,vi,Kv_{i,1}, v_{i,2}, \ldots, v_{i,K}가 주어진다. (1≤vi,1<vi,2<…<vi,K≤1091 \le v_{i,1} < v_{i,2} < \ldots < v_{i,K} \le 10^9)

출력

감소하지 않는 수열의 개수를 109+710^9 + 7로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    2 2
    2 4
    1 5
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2 3
    4 5 6
    1 2 3
    
    예상 출력
    0