atcoder#ABC300G. [ABC300G] P-smooth number

[ABC300G] P-smooth number

配点 : 600600

問題文

kk 以下の素数のみを素因数に持つ正整数を kk-smooth number と呼びます。 整数 NN および 100100 以下の素数 PP が与えられるので、 NN 以下の PP-smooth number の個数を求めてください。

制約

  • NN1N10161 \le N \le 10^{16} を満たす整数
  • PP2P1002 \le P \le 100 を満たす素数

入力

入力は以下の形式で標準入力から与えられる。

NN PP

出力

答えを整数として出力せよ。

36 3
14

3636 以下の 33-smooth number は 1,2,3,4,6,8,9,12,16,18,24,27,32,361,2,3,4,6,8,9,12,16,18,24,27,32,361414 個です。 11 は任意の素数 kk に対して kk-smooth number であることに注意してください。

10000000000000000 97
2345134674