#include <iostream>
using namespace std;
void f(string &s, long long k){
int N = s.size();
int n = 0;
long long fac = 1;
while(n<N&&fac<=k)
fac *= ++n;
while(k){
fac /= n--;
// worst case maximum num of swaps = 19*20/2 = 190
for(int j=0; j<k/fac; j++)
swap(s[N-n-1],s[N-n+j]);
k %= fac;
}
}
int main() {
int t;
long long k;
string s;
cin>>t;
while(t--){
cin>>s>>k; // to avoid long long overflow, keep k < 20!
f(s,k);
cout<<s<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2b2lkIGYoc3RyaW5nICZzLCBsb25nIGxvbmcgayl7CglpbnQgTiA9IHMuc2l6ZSgpOwoJaW50IG4gPSAwOwoJbG9uZyBsb25nIGZhYyA9IDE7Cgl3aGlsZShuPE4mJmZhYzw9aykKCQlmYWMgKj0gKytuOwoJd2hpbGUoayl7CgkJZmFjIC89IG4tLTsKCQkvLyB3b3JzdCBjYXNlIG1heGltdW0gbnVtIG9mIHN3YXBzID0gMTkqMjAvMiA9IDE5MAoJCWZvcihpbnQgaj0wOyBqPGsvZmFjOyBqKyspCgkJCXN3YXAoc1tOLW4tMV0sc1tOLW4ral0pOwoJCWsgJT0gZmFjOwoJfQp9CmludCBtYWluKCkgewoJaW50IHQ7Cglsb25nIGxvbmcgazsKCXN0cmluZyBzOwoJY2luPj50OwoJd2hpbGUodC0tKXsKCQljaW4+PnM+Pms7CS8vIHRvIGF2b2lkIGxvbmcgbG9uZyBvdmVyZmxvdywga2VlcCBrIDwgMjAhCgkJZihzLGspOwoJCWNvdXQ8PHM8PGVuZGw7Cgl9CglyZXR1cm4gMDsKfQ==