// 完全背包
f[j]=min(f[j],f[j-v[i]]+w[i]);
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 10000+10
using namespace std;
#define INF 0xfffffff
int f[N];
int v[N],w[N];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int V1,V2,n;
scanf("%d%d",&V1,&V2);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&v[i],&w[i]);
for(int i=1;i<=10000;i++)
f[i]=INF;
f[0]=0;
for(int i=1;i<=n;i++)
{
for(int j=w[i];j<=V2-V1;j++)
{
f[j]=min(f[j],f[j-w[i]]+v[i]);
}
}
if(f[V2-V1]==INF)
puts("This is impossible.");
else
printf("The minimum amount of money in the piggy-bank is %d.\n",f[V2-V1]);
}
return 0;
}