游客 Signup | Login
中文 | En

3533 - 缝合怪大军

如果以下的描述引起了你的不适,请不要尝试AC此题。
在斯坦索姆,无数的尸体被源源不断地运入屠宰场。侍僧,天灾军团最卑微的爪牙,一刻也没有停止他们的工作,不断地加工那些尸体。
这些尸块慢慢地,一点点地变成了缝合怪的身躯的一部分。当一个巨大的缝合怪组装完毕后,克尔苏加德出现了,他使用了黑暗的魔法,这句缝合怪站起来了,他挥舞着巨大的斧头,砍向刚才还在缝合他的侍僧。他的名字叫“帕奇维克”,巫妖王的新玩具,就这样诞生了。

天灾军团,每天都在制造无数的缝合怪,包括憎恶,血肉巨人等等。他们体型庞大,拥有灭世神力。


马洛加尔领主,被指派监督制造一只缝合怪小分队,包含n只缝合怪,负责打扫冰冠堡垒一楼的卫生。
他突然想到,n只缝合怪体型依次分别是a1,a2,...,an,如果任何一个缝合怪的体型都是之前1个体型的整数倍,也即(ai%aj=0,其中1<=j<=n-1 , i=j+1)那么巫妖王看到这样缝合怪卫生团队一定会非常高兴!
但是限于冰冠堡垒一楼天花板的高度,每只缝合怪的体型不能超过k。

现在请你计算有多少种序列(缝合怪的体型)a1,a2,...,an满足,后一只缝合怪的体型ai是前一只的体型ai-1的整数倍,且任意缝合怪的体型ai(1<=i<=n)不超过k。

Input

多组输入数据
每组输入数据为一行包含两个整数n和k

Output

每组数据输出序列的种数,由于答案可能非常大,所以你只需要输出答案对1000000007取模。

Examples

Input

2 3
4 6

Output

5
39

Solution C++

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <numeric>
#include <cassert>
#include <complex>
#include <ctime>

#define clr(x,a) memset(x,a,sizeof(x))
#define sz(x) (int)x.size()
#define rep(i,n) for(int i=0;i<n;i++)
#define repeat(i, a, b) for(int i=(a);i<=(b);i++)
#define all(v) (v).begin(), (v).end()
#define Unique(store) store.resize(unique(store.begin(),store.end())-store.begin())
#define X first
#define Y second



using namespace std;
const int N=1000+10;
int dp[N][N];
int main () {
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    int n,k;
    while (cin>>k>>n){
        int u=1;
        memset(dp,0,sizeof dp);
        for (int j=1;j<=n;j++) dp[1][j]=1;
        for (int i=1;i<k;i++){
            for (int j=1;j<=n;j++){
                for (int mul=1;mul*j<=n;mul++){
                    dp[i+1][mul*j]+=dp[i][j];
                    dp[i+1][mul*j]%=(int)1e9+7;
                }
            }
        }
        int sum=0;
        for (int j=1;j<=n;j++) {
            sum+=dp[k][j];
            sum%=(int)1e9+7;
        }
        cout<<sum<<endl;
    }
    return 0;
}

Time Limit 2 seconds
Memory Limit 128 MB
Discuss Stats
上一题 下一题