문제
목성의 위성 이오(Io)에서 열린 개발자 컨퍼런스에 참석자들을 맞이하기 위해,
주최 측은 거대한 비치볼을 많이 불어 놓았다.
각 공은 대략
컨퍼런스는 무한한 수평선 위에서 열렸고,
가운데에 정거장(station)
BALL-E에는 저장 칸(storage compartment)이 두 개 있고,
각 칸에는 비치볼 하나만 담을 수 있다.
한 칸은
BALL-E는 처음에
- 왼쪽으로 한 정거장 또는 오른쪽으로 한 정거장 이동한다. 이는 전력 1을 소모한다.
- 현재 정거장에 공이 있고, BALL-E가 그 모양의 공을 아직 보관하고 있지 않다면, 그 공을 해당 칸에 넣을 수 있다. 이는 전력을 0 소모한다.
- 현재 정거장에 공이 있다면, 그 공을 압축하여 반대 모양으로 바꿀 수 있다.
즉
1 모양 공은0 모양 공이 되고, 그 반대도 가능하다. 이를 수행하는 데 전력\mathbf{C} 를 소모한다. 단, BALL-E가 이미 자신의 칸에 넣어 둔 공의 모양은 바꿀 수 없다. - BALL-E가 정거장 0에 있고 하나 이상의 공을 보관 중이라면, 보관 중인 모든 공을 창고에 한 번에 내려놓을 수 있다. 이는 전력을 0 소모하며 두 칸을 모두 비운다.
BALL-E가 어떤 정거장으로 이동했을 때 공이 그곳에 있더라도, 해당 모양의 빈 칸이 있다고 해서 즉시 집어야 하는 것은 아니다. 또한 BALL-E가 창고가 있는 정거장에 도착하더라도, 보관 중인 공을 반드시 내려놓아야 하는 것은 아니다.
위에서 설명한 행동들만 사용하여 모든 공을 창고로 옮기기 위해 필요한 전력 소모량의 최솟값을 구하라.
입력
입력의 첫 줄에는 테스트 케이스 수
각 테스트 케이스의 첫 줄에는 정수 두 개
그 다음
출력
각 테스트 케이스마다 Case # 형식의 한 줄을 출력하라.
여기서
예제
4
5 0
3 0
6 0
8 0
10 1
15 1
5 10
3 0
6 0
8 0
10 1
15 1
5 1
3 0
6 0
8 0
10 1
15 1
2 0
1000000000 0
-1000000000 1
Case #1: 52
Case #2: 56
Case #3: 54
Case #4: 4000000000