저항은 무의미하지 (않다)!

아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

Acme Circuit Manufacturers(ACM)는 대량 생산하는 전자 회로에 들어가는 저항의 개수를 줄여 제조 원가를 낮추려고 한다. 이 회사가 그 일을 맡기려고 당신을 고용했다.

저항은 모든 전자 회로에 들어가는 작은 부품이다. 전기 에너지를 열로 바꾸고 그 열을 정해진 양만큼 흘려보내면서 회로에 흐르는 전자의 흐름, 즉 전류를 조절한다. 이 에너지 변환의 정도를 저항이라고 부르고, 저항을 재는 단위는 옴이다. 옴 값이 클수록 저항이 크다.

어떤 저항을 몇 개 쓸지 정하려면 먼저 회로의 한 경로에 얼마만큼의 전류를 흘릴지, 그리고 그 경로의 한 지점에서 다른 지점으로 전자를 옮기는 데 필요한 위치 에너지, 즉 전압이 얼마인지를 정해야 한다. 전류와 전압과 저항은 옴의 법칙이라는 아주 간단한 식으로 이어진다.

V=IRV = IR

여기서 VV는 전압, II는 전류, RR은 저항이다.

예를 들어 회로의 어떤 경로에 44558볼트를 걸고 그 경로에 10암페어를 흘리고 싶다고 하자. 옴의 법칙을 RR에 대해 정리하면 그 경로에 4455.8옴짜리 저항을 놓아야 한다는 결론이 나온다. 이것으로 끝일까?

아니다.

ACM은 회로를 조립하기만 하고 부품을 직접 만들지는 않는다. 저항도 마찬가지다. 대부분의 전자 회사가 이미 만들어진 저항을 사서 쓰기 때문에 저항 값을 표준으로 정할 필요가 생겼다. ACM은 E-12 계열 저항을 쓴다. 이 계열의 저항 값이 모두 다음 12개의 기본 값에서 나오기 때문에 붙은 이름이다.

10, 12, 15, 18, 22, 27, 33, 39, 47, 56, 68, 82

이 12개가 E-12 저항 값의 첫 번째 구간이다. 단위는 옴이다. 두 번째 구간은 다음과 같다.

100, 120, 150, 180, 220, 270, 330, 390, 470, 560, 680, 820

세 번째 이후의 구간은 각 기본 값에 10의 거듭제곱을 곱해서 얻는다.

E-12 저항의 실제 저항 값은 보통 표시된 값과 근사하게만 일치하지만, ACM은 저항 값이 정확히 일치한다고 보장하는 공급처를 찾았다. ACM은 이 저항들을 조합해서 원하는 저항 값에 가깝게 맞추면서 저항 개수는 가장 적게 쓰려고 한다. 저항은 항상 직렬로 연결하므로 저항 여러 개의 저항 값은 각 저항 값의 합이다. 근사가 얼마나 정확한지는 오차로 잰다. 목표 저항 값을 RR, 고른 저항 값의 합을 SS라고 할 때, 오차는 목표값과 근사값의 차이를 근사값에 대한 백분율로 나타낸 값, 즉 RS×100/S|R - S| \times 100 / S 퍼센트이다. 이 오차가 1% 이하여야 한다.

예를 들어 4455.8옴을 근사한다면 다음 저항을 고를 수 있다.

3900, 470, 82

이 저항들의 합은 4452옴이고 오차는 4455.84452×100/4452=0.085%|4455.8 - 4452| \times 100 / 4452 = 0.085\%라서 요구되는 1%보다 훨씬 작다. 하지만 다음 선택이 더 낫다.

3900, 560

합이 4460옴이라 앞의 선택만큼 정확하지는 않지만 오차는 여전히 1%보다 훨씬 작고, 저항을 하나 덜 쓴다. 대량 생산에서는 저항 하나의 원가도 계속 쌓인다.

전압과 전류가 주어졌을 때, 위에서 정의한 1% 오차 안에서 필요한 저항 값을 만드는 가장 좋은 저항 집합을 고르는 프로그램을 작성하라.

입력

입력은 테스트 케이스 하나로 이루어진다.

첫째 줄에 전압 VV와 전류 II가 정수로 주어진다. (1V1091 \le V \le 10^9, 1I1071 \le I \le 10^7)

출력

오차가 1% 이하가 되도록 목표 저항 값을 근사하면서 저항을 가장 적게 쓰는 E-12 저항 값을 큰 값부터 작은 값 순으로 공백으로 구분해 한 줄에 출력한다.

같은 저항 값을 여러 번 쓸 수 있다. 오차 조건을 만족하면서 저항 개수가 가장 적은 집합이 둘 이상이면 합이 목표값에 가장 가까운 집합을 출력한다. 목표값에서 같은 거리에 있는 집합이 둘 있으면 합이 더 작은 집합을 출력한다. 그래도 결정되지 않으면 큰 값부터 작은 값 순으로 나열했을 때 사전순으로 가장 앞서는 집합을 출력한다.

조건을 만족하는 저항 집합이 없으면 대신 Impossible을 출력한다.