#include <iostream>
#include<stdio.h>
using namespace std;
#define mod 1000000007
__int64 q_sort(__int64 a,__int64 b)
{
__int64 s=1;
while(b>0)
{
if(b&1)s=s*a%mod;
a=a*a%mod;
b/=2;
}
return s;
}
int main()
{
__int64 f,n,t,k,a[10005],i1,i,b[10005],j,i2;
__int64 k1=1000000007;
cin>>f;
while(f--)
{
cin>>n>>t>>k;
for(i=0;i<n;i++)
{
scanf("%I64d",&j);
a[(i+t)%n]=j;
}
int ys=q_sort(k,t);
for(i=0;i<n-1;i++)
cout<<ys*a[i]%mod<<" ";
cout<<ys*a[n-1]%mod<<endl;
}
return 0;
}
#include<stdio.h>
using namespace std;
#define mod 1000000007
__int64 q_sort(__int64 a,__int64 b)
{
__int64 s=1;
while(b>0)
{
if(b&1)s=s*a%mod;
a=a*a%mod;
b/=2;
}
return s;
}
int main()
{
__int64 f,n,t,k,a[10005],i1,i,b[10005],j,i2;
__int64 k1=1000000007;
cin>>f;
while(f--)
{
cin>>n>>t>>k;
for(i=0;i<n;i++)
{
scanf("%I64d",&j);
a[(i+t)%n]=j;
}
int ys=q_sort(k,t);
for(i=0;i<n-1;i++)
cout<<ys*a[i]%mod<<" ";
cout<<ys*a[n-1]%mod<<endl;
}
return 0;
}