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

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

색칠

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

요약
서로 다른 색 i와 j를 고른 뒤 N개의 칸을 두 종류의 크레파스로 칠하는 방법의 수를 모두 더해 구한다.
난이도

어려움10점 중 8점

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

문제

배열 게임 파티를 위해 11번부터 NN번까지 번호가 붙은 NN개의 칸으로 이루어진 배열을 색칠하려고 한다.

다락방에는 A와 B 두 종류의 크레파스가 있고, 각 종류마다 MM개의 봉지가 있으며 ii번째 봉지에는 색 ii의 크레파스가 들어 있다.

각 봉지에는 두께가 서로 다른 여러 크레파스가 들어 있다.

다음과 같은 방식으로 칸을 색칠해야 한다.

  • 먼저 A 종류에서 하나, B 종류에서 하나씩 두 개의 크레파스 봉지를 고른다. A 종류와 B 종류에서 고른 봉지의 크레파스 색은 서로 달라야 한다.
  • 다음으로 두 봉지를 열고 그 안의 크레파스로 NN개의 칸을 1, 2, ⋯ , N1, \, 2, \, \cdots, \, N 순서대로 색칠한다. 어떤 칸을 건너뛰거나 한 칸을 여러 크레파스로 색칠하는 것은 금지된다. 같은 크레파스를 여러 번 사용할 수 있다.

NN개의 칸을 색칠하는 방법은 몇 가지인가? 고른 두 봉지 중 하나라도 다르거나, 어떤 칸을 색칠하는 데 사용한 크레파스의 종류, 색, 두께 중 하나라도 다르면 다른 방법으로 센다.

입력

첫째 줄에 두 정수 NN과 MM이 주어진다. NN은 칸의 수, MM은 크레파스 종류마다 있는 봉지의 수이다.

둘째 줄에 MM개의 정수 A_1, A_2, ⋯ , A_MA\_1, \, A\_2, \, \cdots, \, A\_M이 주어진다. A_iA\_i는 A 종류의 ii번째 봉지에 들어 있는 크레파스의 수이다.

셋째 줄에 MM개의 정수 B_1, B_2, ⋯ , B_MB\_1, \, B\_2, \, \cdots, \, B\_M이 주어진다. B_jB\_j는 B 종류의 jj번째 봉지에 들어 있는 크레파스의 수이다.

출력

NN개의 칸을 색칠하는 방법의 수를 109+710^9+7로 나눈 나머지를 출력한다.

제한

  • 1≤N≤3×1021 \le N \le 3 \times 10^2
  • 1≤M≤1051 \le M \le 10^5
  • 1≤A_i, B_j≤1091 \le A\_i, \, B\_j \le 10^9 (1≤i, j≤M1 \le i, \, j \le M)
  • 입력으로 주어지는 모든 값은 정수이다.

예제1

  1. 예제 1

    입력
    1 3
    1 2 3
    2 3 1
    
    예상 출력
    24