#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
long long f[20][21][21][10]={0};
int i,j,k,l,e;
long long tens[21];
long long P,Q;
int X,Y;
int cases;
long long a[110];
int n;
long long findpth(long long Q,int i,int x,int y)
{
if (i==0) return 0;
int e=(Q/tens[i])%10;
if (i==1) e++;
long long summ=0;
for (int j=0;j<e;++j)
summ+=f[i][x][y][j];
if (e==7)
return summ+findpth(Q,i-1,x,y-1);
else if (e==4)
return summ+findpth(Q,i-1,x-1,y);
return summ+findpth(Q,i-1,x,y);
}
long long summd[20];
int digits[30];
int nc;
int main()
{
tens[1]=1;
for (i=2;i<=19;++i)
tens[i]=tens[i-1]*10;
for (i=0;i<=9;++i)
if(i!=4 && i!=7) f[1][0][0][i]=1;
f[1][1][0][4]=1;
f[1][0][1][7]=1;
for (i=2;i<20;++i)
for (j=0;j<=i;++j)
for (k=0;j+k<=i;++k)
for (l=0;l<=9;++l)
if (l==4&&j)
{
f[i][j][k][l]=0;
for (e=0;e<=9;++e)
f[i][j][k][l]+=f[i-1][j-1][k][e];
}
else if (l==7&&k)
{
f[i][j][k][l]=0;
for (e=0;e<=9;++e)
f[i][j][k][l]+=f[i-1][j][k-1][e];
}
else if (l!=4&&l!=7)
{
f[i][j][k][l]=0;
for (e=0;e<=9;++e)
f[i][j][k][l]+=f[i-1][j][k][e];
}
scanf("%d",&cases);
for (nc=1;nc<=cases;++nc)
{
cin>>P>>Q>>X>>Y;
for (i=1;i<=19;++i)
{
summd[i]=0;
for (j=0;j<=9;++j)
summd[i]+=f[i][X][Y][j];
//printf("%d %lld\n",i,summd[i]);
}
int dip=0,diq=0;
long long tp=P,tq=Q;
while (tp)
{
dip++;
tp/=10;
}
while (tq)
{
diq++;
tq/=10;
}
long long nump=findpth(P,dip,X,Y);
long long numq=findpth(Q,diq,X,Y);
scanf("%d",&n);
for (i=0;i<n;++i)
cin>>a[i];
printf("Case #%d:\n",nc);
for (i=0;i<n;++i)
{
if (a[i]>numq-nump)
{
puts("Nya!");
continue;
}
long long fa=a[i]+nump;
for (j=1;j<=19;++j)
if (fa<=summd[j])
break;
int ej=j;
int tx=X,ty=Y;
while (j)
{
//printf("j=%d\n",j);
long long tsum=0;
for (k=0;k<=9;++k)
{
tsum+=f[j][tx][ty][k];
if (tsum>=fa)
{
tsum-=f[j][tx][ty][k];
fa-=tsum;
digits[j]=k;
j--;
if (k==4) tx--;
if (k==7) ty--;
break;
}
}
}
for (k=ej;k>=1;--k)
printf("%d",digits[k]);
puts("");
}
}
return 0;
}