//完全背包
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
const int N = 500+5;
const int M = 10000+5;
const int inf = 0x3f3f3f3f;
struct Node {
int v, w;
} A[N];
int dp[M];
int main() {
int T, s, e, n;
cin >> T;
while(T--) {
cin >> s >> e;
int MAX = e-s;
cin >> n;
for(int i=0; i<n; i++) {
cin >> A[i].v >> A[i].w;
}
memset(dp, inf, sizeof(dp));
dp[0] = 0;
for(int i=0; i<n; i++) {
for(int j=A[i].w; j<=MAX; j++) {
dp[j] = min(dp[j], dp[j-A[i].w]+A[i].v);
}
}
if(dp[MAX] == inf)
printf("This is impossible.\n");
else printf("The minimum amount of money in the piggy-bank is %d.\n", dp[MAX]);
}
return 0;
}