#include <bits/stdc++.h>
using namespace std;
 long long n,k;
int main(){
	cin >> n >> k;
	if (k == 0){
		cout << n;
		return 0;
	}
	unsigned long long mau = pow(10,9) + 7;
	unsigned long long t = 2*k + 1;
	unsigned long long A[t];
	A[0] = 1;
	A[1] = 1;
	for (unsigned long long i = 2; i < t; i++){
		A[i] = (A[i - 1] + A[i - 2]) % mau;
	}
	cout << (A[t - 1] * n) % mau;
}
