#include<bits/stdc++.h>
using namespace std;
#define scan(x) scanf("%d",&x)
#define print(x) printf("%d\n",x)
int main(){
int t;
scan(t);
while(t--){
int p1,p2;
scan(p1),scan(p2);
p2-=p1;
int n;
scan(n);
int P[n],W[n];
for(int i=0;i<n;i++)
scan(P[i]),scan(W[i]);
bool V[p2+1];
int val[p2+1];
memset(V,0,sizeof(V));
V[0]=1;
val[0]=0;
for(int i=1;i<=p2;i++)
val[i]=INT_MAX;
for(int i=1;i<=p2;i++){
for(int j=0;j<n;j++){
if(i>=W[j]&&V[i-W[j]]){
V[i]=1;
val[i]=min(val[i],val[i-W[j]]+P[j]);
}
}
}
if(V[p2]){
printf("The minimum amount of money in the piggy-bank is %d.\n",val[p2]);
}else{
printf("This is impossible.\n");
}
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBzY2FuKHgpIHNjYW5mKCIlZCIsJngpCiNkZWZpbmUgcHJpbnQoeCkgcHJpbnRmKCIlZFxuIix4KQogCmludCBtYWluKCl7CiAKCWludCB0OwoJc2Nhbih0KTsKCXdoaWxlKHQtLSl7CgkJaW50IHAxLHAyOwoJCXNjYW4ocDEpLHNjYW4ocDIpOwoJCXAyLT1wMTsKCQlpbnQgbjsKCQlzY2FuKG4pOwoJCWludCBQW25dLFdbbl07CgkJZm9yKGludCBpPTA7aTxuO2krKykKCQkJc2NhbihQW2ldKSxzY2FuKFdbaV0pOwoJCQlib29sIFZbcDIrMV07CgkJCWludCB2YWxbcDIrMV07CgkJCW1lbXNldChWLDAsc2l6ZW9mKFYpKTsKCQkJVlswXT0xOwoJCQl2YWxbMF09MDsKCQkJZm9yKGludCBpPTE7aTw9cDI7aSsrKQoJCQkJdmFsW2ldPUlOVF9NQVg7CiAKCQkJZm9yKGludCBpPTE7aTw9cDI7aSsrKXsKCQkJCWZvcihpbnQgaj0wO2o8bjtqKyspewoJCQkJCWlmKGk+PVdbal0mJlZbaS1XW2pdXSl7CgkJCQkJCVZbaV09MTsKCQkJCQkJdmFsW2ldPW1pbih2YWxbaV0sdmFsW2ktV1tqXV0rUFtqXSk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCWlmKFZbcDJdKXsKCQkJCXByaW50ZigiVGhlIG1pbmltdW0gYW1vdW50IG9mIG1vbmV5IGluIHRoZSBwaWdneS1iYW5rIGlzICVkLlxuIix2YWxbcDJdKTsKCQkJfWVsc2V7CgkJCQlwcmludGYoIlRoaXMgaXMgaW1wb3NzaWJsZS5cbiIpOwoJCQl9CiAKCX0KCXJldHVybiAwOwp9CiAK