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

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

좋아하는 배열 2

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

요약
1부터 K까지의 값을 갖는 길이 N 배열 중에서, 인접한 두 수 A, B가 A > B이면서 A가 B로 나누어떨어지는 경우가 없는 배열의 개수를 1,000,000,007로 나눈 나머지로 구한다.
난이도

어려움10점 중 8점

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

문제

성관이는 다음 조건을 모두 만족하는 배열을 좋아한다.

  • 배열의 길이는 NN이다.
  • 배열의 모든 원소는 11 이상 KK 이하의 자연수이다.
  • 이웃한 두 원소를 앞에서부터 차례로 AA, BB라고 하면 A≤BA \le B 이거나 A mod B≠0A \bmod B \ne 0이다.

예를 들어 N=4N = 4, K=7K = 7일 때 배열 [1,7,7,2][1, 7, 7, 2]는 성관이가 좋아하는 배열이다. 이웃한 세 쌍이 각각 1≤71 \le 7, 7≤77 \le 7, 7 mod 2≠07 \bmod 2 \ne 0을 만족하기 때문이다.

NN과 KK가 주어지면 성관이가 좋아하는 배열의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 NN과 KK가 공백으로 구분되어 주어진다. (1≤N≤500001 \le N \le 50000, 1≤K≤500001 \le K \le 50000)

출력

첫째 줄에 성관이가 좋아하는 배열의 개수를 1,000,000,007로 나눈 나머지를 출력한다.

예제6

  1. 예제 1

    입력
    2 2
    
    예상 출력
    3
    
  2. 예제 2

    입력
    9 1
    
    예상 출력
    1
    
  3. 예제 3

    입력
    3 3
    
    예상 출력
    15
    
  4. 예제 4

    입력
    1 107
    
    예상 출력
    107
    
  5. 예제 5

    입력
    2 10
    
    예상 출력
    83
    
  6. 예제 6

    입력
    42 23
    
    예상 출력
    301026516