- V = []
- for r in range(501):
- for b in range(501):
- red_cost = (b + 1) * ((1 + r) / 2) * r
- blue_cost = (r + 1) * ((1 + b) / 2) * b
- if red_cost <= 500 and blue_cost <= 500:
- V += [(r, b)]
- M = [[0] * 501 for n in range(501)]
- for R, B in V:
- for r in range(500 - R, -1, -1):
- for b in range(500 - B, r - 1, -1):
- if M[r][b] >= M[r + R][b + B]:
- v = M[r][b] + 1
- M[r + R][b + B] = v
- M[b + B][r + R] = v
- T = int(input())
- for _case in range(1, T + 1):
- R, B = map(int, input().split())
- answer = M[R][B] - 1
- print('Case #%i:' % _case, answer)