div.2 A
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

定义 f(n,k) 表示将 n 拆分成 k 个有序正整数乘积的方案数。

给定 n,k,,求 f第一行两个正整数 n,k 。(i,k) 。

举个例子,假设要求 f(4,3) ,因为



所以 f(4,3)=6 。

输入描述:

第一行两个正整数 n,k 。

输出描述:

,且gi ≥ 0,且gi尽可能的小



你只需要输出T就行了
示例1

输入

复制
4 3

输出

复制
11

说明

f1,3=1,f2,3=3,f3,3=3,f4,3=6

备注:

数据范围

对于 的数据,保证 k=1 。

对于额外 的数据,保证 n ≤ 1000,且 k = 2 。

对于额外 的数据,保证 n ≤ 106,且 k = 2 。

对于额外 的数据,保证 n ≤ 1000,且 k=3 。

对于额外 的数据,保证 n ≤ 106,且 k=3 。

对于额外 的数据,保证 n ≤ 1000,且 k ≤ 1000 。

对于额外 的数据,保证 n ≤ 5000,且 k ≤ 1000 。

对于额外 的数据,保证 1 ≤ n ≤ 107 ,且 k ≤ 107

对于所有 数据,保证 1 ≤ n ≤ 107,且1 ≤ k ≤ 1018