원점에서 실제로 보이는 점

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

문제

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

Si={(x1,x2,,xN)1x1x2xN=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=S1S2SMS = S_1 \cup S_2 \cup \dots \cup S_M이라고 하자. 좌표계에 놓인 점은 SS에 속한 점이 전부다.

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

입력

첫째 줄에 자연수 NNMM이 공백으로 구분되어 주어진다. (2N1000002 \le N \le 100000, 1M1000001 \le M \le 100000)

둘째 줄부터 MM개 줄에 걸쳐 자연수 XiX_i가 한 줄에 하나씩 주어진다. (1Xi1000001 \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에 없으므로 네 점이 모두 보인다.