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

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

원점에서 실제로 보이는 점

시간 제한1초메모리 제한256 MB

요약
원점과 각 점을 잇는 선분 위에 집합의 다른 점이 없는 단조 비감소 격자점의 개수를 1000000007로 나눈 나머지를 구합니다.
난이도

어려움10점 중 8점

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

문제

NN차원 좌표계에 점이 여러 개 놓여 있다. 이 점들은 MM개의 자연수 X1,X2,…,XMX_1, X_2, \dots, X_M으로 나타내며, XiX_i가 나타내는 점의 집합 SiS_i는 다음과 같다.

Si={(x1,x2,…,xN)∣1≤x1≤x2≤⋯≤xN=Xi}S_i = \{(x_1, x_2, \dots, x_N) \mid 1 \le x_1 \le x_2 \le \dots \le x_N = X_i\}

여기서 x1,x2,…,xNx_1, x_2, \dots, x_N은 모두 자연수다.

모든 SiS_i를 합한 집합을 S=S1∪S2∪⋯∪SMS = S_1 \cup S_2 \cup \dots \cup S_M이라고 하자. 좌표계에 놓인 점은 SS에 속한 점이 전부다.

원점 (0,0,…,0)(0, 0, \dots, 0)에서 보이는 점이 몇 개인지 구하라. 점 pp가 보인다는 것은 원점과 pp를 잇는 선분 위에 pp 자신을 뺀 SS의 점이 하나도 없다는 뜻이다. 선분 위에 있어도 SS에 속하지 않는 좌표는 시야를 가리지 않는다.

입력

첫째 줄에 자연수 NN과 MM이 공백으로 구분되어 주어진다. (2≤N≤1000002 \le N \le 100000, 1≤M≤1000001 \le M \le 100000)

둘째 줄부터 MM개 줄에 걸쳐 자연수 XiX_i가 한 줄에 하나씩 주어진다. (1≤Xi≤1000001 \le X_i \le 100000) XiX_i는 서로 다르다.

출력

원점에서 보이는 점의 개수를 10000000071000000007로 나눈 나머지를 출력한다.

힌트

N=2N = 2이고 XX가 1, 2, 3, 4일 때 SS의 점은 (1,1)(1,1), (1,2)(1,2), (2,2)(2,2), (1,3)(1,3), (2,3)(2,3), (3,3)(3,3), (1,4)(1,4), (2,4)(2,4), (3,4)(3,4), (4,4)(4,4)이다. 이 가운데 보이는 점은 (1,1)(1,1), (1,2)(1,2), (1,3)(1,3), (2,3)(2,3), (1,4)(1,4), (3,4)(3,4)로 모두 6개다. (4,4)(4,4)는 선분 위의 (3,3)(3,3)이 SS에 있어서 가려지고, (2,4)(2,4)는 (1,2)(1,2)에 가려진다.

XX가 4 하나뿐이면 결과가 달라진다. SS는 (1,4)(1,4), (2,4)(2,4), (3,4)(3,4), (4,4)(4,4)뿐이고 (2,4)(2,4)를 가릴 (1,2)(1,2)가 SS에 없으므로 네 점이 모두 보인다.

예제2

  1. 예제 1

    입력
    2 4
    1
    2
    3
    4
    
    예상 출력
    6
    
  2. 예제 2

    입력
    2 1
    4
    
    예상 출력
    4