#include<iostream>#include<algorithm>#include<string>#include<cstdio>#include<cstring>using namespace std;const int inf=0xffffff;int n,c1,c2;int vis[1050],fur[20];int dp[1050],f[1050];int package(int x){int i,sum=0,j;memset(vis,0,sizeof(vis));vis[0]=1;for(i=0;i<n;i++) { if((1<<i)&x) { sum+=fur[i]; for(j=c1;j>=fur[i];j--) { if(vis[j-fur[i]])vis[j]=1; } } }if(sum>c1+c2)return 0;for(i=c1;i>=0;i--) if(vis[i]&&(sum-i<=c2))return 1;return 0;}int main(){int tot,c=0,t,i,j,k;cin>>t;while(t--){cin>>n>>c1>>c2;for(i=0;i<n;i++) cin>>fur[i];for(i=0;i<=(1<<n);i++) dp[i]=inf;dp[0]=0;tot=0;for(i=1;i<(1<<n);i++) { if(package(i))f[tot++]=i; }for(i=0;i<tot;i++) { for(j=(1<<n)-1;j>=0;j--) { if(dp[j]==inf) continue; if(!(j&f[i])) dp[j|f[i]]=min(dp[j|f[i]],dp[j]+1); } }cout<<"Scenario #"<<++c<<":"<<endl<<dp[(1<<n)-1]<<endl<<endl;}return 0;}