RLE Inversion Counting

아직 제출이 없습니다시간 제한3초메모리 제한1024 MB

문제

배열 AA가 있습니다. 처음에 AA는 빈 배열입니다. 다음과 같은 조작을 MM번 해서 배열 AA를 채웁니다.

  • KK와 정수열 B_1,,B_NB\_1, \cdots, B\_N이 주어집니다. AA의 가장 뒤에 B_1,B_2,,B_NB\_1, B\_2, \cdots, B\_N을 차례로 이어붙이는 것을 KK 번 반복합니다.

이렇게 만들어진 배열 A_1,A_2,,A_AA\_1, A\_2, \cdots, A\_{\lvert A \rvert}에 대해 다음 조건을 만족시키는 (i,j)(i, j) 정수쌍의 개수를 출력하세요.

  • 1i<jA1 \le i < j \le \lvert A \rvert
  • A_i>A_jA\_i > A\_j

입력

첫 줄에 조작의 횟수 MM이 주어집니다. (1M500,000)(1 \le M \le 500\\,000)

다음 줄부터 MM번의 조작에 관한 정보가 두 줄에 걸쳐 차례대로 MM번 들어옵니다.

각 조작의 첫 줄에는 조작의 횟수 KK와 배열의 길이 NN이 공백으로 구분되어 주어집니다. (1K109;(1 \le K \le 10^9; 1N500,000)1 \le N \le 500\\,000)

다음 줄에는 배열의 원소를 의미하는 B_1,B_2,,B_NB\_1, B\_2, \cdots, B\_N이 공백으로 구분되어 주어집니다. (1B_i109)(1 \le B\_i \le 10^9)

입력에서 주어지는 모든 NN의 합은 500,000500\\,000 이하입니다.

출력

문제의 조건을 만족시키는 (i,j)(i, j) 정수쌍의 개수를 출력하세요. 단, 수가 매우 커질 수 있으니 1,000,000,007(=109+7)1\\,000\\,000\\,007 (= 10^9+7)로 나눈 나머지를 출력하세요. 1,000,000,0071\\,000\\,000\\,007은 소수입니다.