#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned int ui; const ll mod = 1000000007; const ll INF = (ll)1000000007 * 1000000007; typedef pair P; #define stop char nyaa;cin>>nyaa; #define rep(i,n) for(int i=0;i=0;i--) #define Rep(i,sta,n) for(int i=sta;i=sta;i--) #define rep1(i,n) for(int i=1;i<=n;i++) #define per1(i,n) for(int i=n;i>=1;i--) #define Rep1(i,sta,n) for(int i=sta;i<=n;i++) typedef long double ld; typedef complex Point; const ld eps = 1e-8; const ld pi = acos(-1.0); typedef pair LP; void ans(int m,int n1,int n2,vector as){ vector> dp(m+1,vector(n1+1,0)); vector S(m+1,0); dp[0][0]=true; sort(as.begin(),as.end()); rep(i,m){ S[i+1]=S[i]+as[i]; rep(j,n1+1){ if(dp[i][j]){ if(j+as[i]<=n1){ dp[i+1][j+as[i]]=true; } dp[i+1][j]=true; } } } per(i,m+1){ Rep(j,max(0,S[i]-n2),n1+1){ //cout << i << " " << j << " " << dp[i][j] << endl; if(dp[i][j]){ cout << i << endl; return; } } } } void solve(){ int d; cin >> d; rep(i,d){ int n1,n2,m; cin >> n1 >> n2 >> m; vector as(m,0); rep(j,m){ cin >> as[j]; } ans(m,n1,n2,as); } } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout << fixed << setprecision(50); solve(); }