시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB2831207544.379%

문제

암산의 달인 동호는 친구들에게 양의 정수 몇 개를 불러달라고 해 암산으로 그 수들의 곱을 구하는 놀이를 매우 좋아한다.

친구들이 수를 부르는 속도는 매우 느리기 때문에 동호는 친구들이 부른 모든 양의 정수를 곱하는 것이 아닌, 친구들이 부르지 않은 1 이상 N 이하의 모든 정수들의 곱을 구하기로 했다.

친구들은 동호의 계산을 최대한 어렵게 만들기 위해 큰 정수들을 부르기 시작했고, 이에 동호도 컴퓨터를 이용하여 수들을 곱하기로 했다. 동호를 도와 친구들이 부르지 않은 1 이상 N 이하의 모든 정수들의 곱을 구해보자!

입력

첫째 줄에는 친구들이 정한 정수 N과 친구들이 부른 수들의 개수 M이 공백을 사이에 두고 주어진다.

둘째 줄부터 1+M번째 줄까지는 한 줄에 하나씩 친구들이 부른 정수인 k1 , k2, ..., kM이 주어진다.

출력

첫째 줄에 친구들이 부르지 않은 모든 정수들의 곱을 109+7로 나눈 나머지를 출력한다.

제한

  • 1 ≤ kiN ≤ 109
  • 0 ≤ M ≤ 106
  • M < N
  • 친구들이 부르지 않은 1 이상 N 이하의 정수는 적어도 한 개 존재한다.
  • ki 는 중복될 수 있다.

예제 입력 1

10 8
1
4
5
7
8
2
2
4

예제 출력 1

1620

친구들이 부르지 않은 숫자들은 3, 6, 9, 10 이다.

예제 입력 2

1000000000 0

예제 출력 2

698611116

출처

채점 및 기타 정보

  • 이 문제의 채점 우선 순위는 2이다.