#include<iostream>usingnamespace std;typedeflonglong ll;constint N =1e4+10;const ll mod =1e9+7;
ll ans[6][N];
ll qmi(ll a, ll b, ll q){
ll res =1% q;while(b){if(b &1) res = res * a % q;
a = a *(ll)a % q;
b >>=1;}return res;}voidinit(){for(int k =1; k <=5; k ++){
ans[k][0]=0;for(int i =1; i < N; i ++)
ans[k][i]=(ans[k][i -1]+qmi((ll)i, k, mod))% mod;}}intmain(){
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int T;
cin >> T;init();while(T --){int n, k;
cin >> n >> k;if(k ==0) cout << n << endl;else cout << ans[k][n]<< endl;}return0;}
预处理先;特判k = 0#include <iostream>using namespace std;typedef long long ll;const int N = 1e4 + 10;const ll mod = 1e9 + 7;ll ans[6][N];ll qmi(ll a, ll b, ll q){ ll res = 1 % q; while (b) { if (b & 1) res = res * a ..