View problem - 피보나미얼 (kriii3_V)

Time limitMemory limit# of submissions# of submitted usersSolved #Accepted user ratio
2000 ms512 MiB309666.67%

피보나치 수열 $f_{n}$은 다음과 같이 정의되는 수열이다.

피보나미얼 $F_{n}$ ($n \ge 1$)은 $F_{n} = f_{1} \times f_{2} \times ... \times f_{n}$으로 정의된다. 즉 $f_{1}, f_{2}, ..., f_{n}$를 모두 곱한 값이다.

어떤 자연수 $k$에 대해, $F_{n}$을 $k$로 몇 번을 나누어야 $F_{n}$이 더 이상 $k$로 나누어 떨어지지 않는지를 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 두 자연수 $n$과 $p$ ($1 \le n \le 10^{9}$, $2 \le p \le 10^{3}$)이 공백을 사이로 두고 주어진다.

출력

$p - 1$줄에 걸쳐 답을 출력한다. 이 중 $i$($1 \le i \le p - 1$)번째 줄에는 $F_{n}$이 $(i + 1)$로 나누어 떨어지지 않도록 하기 위해 $F_{n}$을 $(i + 1)$로 나눠야 할 횟수를 출력해야 한다.

부분문제

부분문제 점수 n
1 32 ≤ 103
2 42 ≤ 109

입출력 예제

입력

12 6

출력

9
4
4
2
4

$F_{12} = 1,570,247,078,400 = 2^{9}\times3^{4}\times5^{2}\times...$