시장에서 투자하기

12개월 가격에서 매수 월과 이후 매도 월을 정해 정수 단위로 살 수 있는 수량의 매매 차익을 가장 크게 합니다.

쉬움2완전 탐색배열면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

투자할 돈 MM이 있고, 다가오는 1년 동안 매달 초의 상품 가격을 예측한 자료 P1,P2,,P12P_1, P_2, \dots, P_{12}가 있다. 언제 사서 언제 팔아야 이익이 가장 커지는지 구한다.

상품은 쪼개서 살 수 없고 정수 개수로만 산다. 매수는 한 번만 한다. BB번째 달에 사서 SS번째 달에 판다고 하면(B<SB < S), 가진 돈으로 살 수 있는 만큼 최대한 사서 그 전부를 판다. 즉 k=M/PBk = \lfloor M / P_B \rfloor개를 사고, 이익은 k×(PSPB)k \times (P_S - P_B)이다.

한 테스트 케이스 안의 가격 12개는 모두 다르다. 이익이 같은 계획이 둘 이상이면 단위 가격이 더 낮은 쪽, 즉 PBP_B가 더 작은 쪽을 고른다. 어떻게 사고팔아도 이익을 낼 수 없으면 IMPOSSIBLE을 출력한다.

입력

첫 줄에 테스트 케이스의 개수 NN이 주어진다. 각 테스트 케이스는 두 줄이다.

  • 첫 줄에 투자할 금액 MM이 주어진다.
  • 둘째 줄에 각 달 초의 가격 P1P_1부터 P12P_{12}까지 정수 12개가 공백으로 구분되어 주어진다.

제한

  • 1N101 \le N \le 10
  • 100M500100 \le M \le 500
  • 1Pi2501 \le P_i \le 250
  • 한 테스트 케이스 안의 가격 12개는 서로 다르다.

출력

각 테스트 케이스마다 한 줄을 출력한다. 줄은 Case #x:로 시작하고 공백 하나를 둔다. xx는 1부터 세는 테스트 케이스 번호다. 그 뒤에 이익을 낼 수 없으면 IMPOSSIBLE을 출력하고, 그렇지 않으면 정수 세 개를 공백으로 구분해 출력한다.

  • 상품을 사는 달의 번호 BB. 1 이상 11 이하의 정수다.
  • 상품을 파는 달의 번호 SS. B+1B + 1 이상 12 이하의 정수다.
  • 그 계획으로 얻는 이익.