#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { long long n, m; cin >> n >> m; for (int i = 1; i <= m; i++) { long long x, y, ans; long long n1 = n; if (n <= i * 2 - 2) { cout << "0" << endl; } else { long long ans3 = 1; n1 -= i * 2 - 1; x = 2 + n1 / i; y = i - n1 % i; ans = 1; while (y > 0) { if ((y & 1) == 1) { ans = ans * x % 1000000007; } x = x * x % 1000000007; y >>= 1; } x = 2 + n1 / i + 1; y = n1 % i; long long ans1 = 1; while (y > 0) { if ((y & 1) == 1) { ans1 = ans1 * x % 1000000007; } x = x * x % 1000000007; y >>= 1; } x= 2 + n1 / i; y = i - n1 % i - 1; long long ans2 = 1; while (y > 0) { if ((y & 1) == 1) { ans2 = ans2 * x % 1000000007; } x = x * x % 1000000007; y >>= 1; } ans3 = (ans * ans1) % 1000000007; ans3 = ans3 - ((ans1 * ans2) % 1000000007); ans3 %= 1000000007; if (ans3 < 0) { ans3 += 1000000007; } cout << ans3 << endl; } } }