## allocation

### Problem

There are N houses for sale. The i-th house costs Ai dollars to buy. You have a budget of B dollars to spend.

What is the maximum number of houses you can buy?

### Input

The first line of the input gives the number of test cases, T. T test cases follow. Each test case begins with a single line containing the two integers N and B. The second line contains N integers. The i-th integer is Ai, the cost of the i-th house.

### Output

For each test case, output one line containing `Case #x: y`, where `x` is the test case number (starting from 1) and `y` is the maximum number of houses you can buy.

### Limits

Time limit: 15 seconds per test set.
Memory limit: 1GB.
1 <= T <= 100.
1 <= B <= 105.
1 <= Ai <= 1000, for all i.

1 <= N <= 100.

1 <= N <= 105.

## Sample Input & Output

```3
4 100
20 90 40 90
4 50
30 30 10 10
3 300
999 999 999
```
```Case #1: 2
Case #2: 3
Case #3: 0
```

## Rust Solution

``````use rustgym_util::*;
use std::fmt::Write;
use std::io::*;

fn solve(case_no: usize, reader: &mut impl BufRead, writer: &mut impl Write) {
let n = args[0];
let b = args[1] as i32;
let mut houses: Vec<i32> = reader.parse_vec();
houses.sort_unstable();
let mut sum = 0;
let mut res = 0;
for i in 0..n {
if houses[i] + sum <= b {
sum += houses[i];
res += 1;
}
}
writeln!(writer, "Case #{}: {}", case_no, res).unwrap();
}