#include<iostream>
#define SIZE 1000
#define READ(array,n) int i;for(i=0;i<n;i++) cin>>array[i];
#define MAX(array,n) int max=array[0],pos=0;for(i=1;i<n;i++) if(array[i] >max) {max=array[i]; pos=i;}
using namespace std;
int main()
{
int t,s=1,l,n,count,c;
int array[SIZE];
cin>>t;
while(t--)
{
cin>>l>>n;
READ(array,n);
cout<<"Scenario #"<<s++<<endl;
c=n;
count=0;
while(l>0)
{
--c;
//if(!c)break;
MAX(array,n);
array[pos]=0;
l-=max;
++count;
}
if(l<=0)
cout<<count<<endl<<endl;
else
cout<<"impossible"<<endl<<endl;
}
return 1;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNkZWZpbmUgU0laRSAxMDAwCiNkZWZpbmUgUkVBRChhcnJheSxuKSBpbnQgaTtmb3IoaT0wO2k8bjtpKyspIGNpbj4+YXJyYXlbaV07CiNkZWZpbmUgTUFYKGFycmF5LG4pICBpbnQgbWF4PWFycmF5WzBdLHBvcz0wO2ZvcihpPTE7aTxuO2krKykgaWYoYXJyYXlbaV0gPm1heCkge21heD1hcnJheVtpXTsgcG9zPWk7fQp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpCnsKCWludCB0LHM9MSxsLG4sY291bnQsYzsKCWludCBhcnJheVtTSVpFXTsKCWNpbj4+dDsKCXdoaWxlKHQtLSkKCXsKCQljaW4+Pmw+Pm47CgkJUkVBRChhcnJheSxuKTsKICAgICAgICBjb3V0PDwiU2NlbmFyaW8gIyI8PHMrKzw8ZW5kbDsKCQljPW47CgkJY291bnQ9MDsKCQl3aGlsZShsPjApCgkJewoJCQktLWM7CgkJCS8vaWYoIWMpYnJlYWs7CgkJCU1BWChhcnJheSxuKTsKCQkJYXJyYXlbcG9zXT0wOwoJCQlsLT1tYXg7CgkJCSsrY291bnQ7CgkJfQoJCWlmKGw8PTApCgkJCWNvdXQ8PGNvdW50PDxlbmRsPDxlbmRsOwoJCWVsc2UKCQkJY291dDw8ImltcG9zc2libGUiPDxlbmRsPDxlbmRsOwoJfQoJcmV0dXJuIDE7Cn0K