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

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

Fancy 배열

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

요약
모든 원소가 m의 약수이고 인접한 두 원소가 서로소가 아닌 길이 n의 배열 개수를 10^9+7로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 정수론, 비트 연산, 행렬
정답자
아직 제출이 없습니다

문제

정수 mm을 하나 정하자. 양의 정수 nn개로 이루어진 배열 aa를 생각한다. aa의 모든 원소가 mm의 약수이고, 이웃한 두 원소가 서로소가 아니면 aa를 fancy 배열이라고 한다.

길이가 nn인 fancy 배열의 개수를 구하라. 개수가 클 수 있으므로 109+710^{9} + 7로 나눈 나머지를 구한다.

입력

첫 줄에 정수 mm과 qq가 주어진다. mm은 위에서 정의한 수이고, qq는 질의의 개수이다 (1≤m≤10161 \le m \le 10^{16}, 1≤q≤1501 \le q \le 150).

이어지는 qq개의 줄에 각각 정수 nn이 하나씩 주어진다 (1≤n≤10181 \le n \le 10^{18}).

출력

각 질의마다 주어진 mm과 nn에 대한 길이 nn의 fancy 배열 개수를 109+710^{9} + 7로 나눈 나머지로 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    12 3
    1
    2
    3
    
    예상 출력
    6
    21
    91