Countdown

시간 제한1초메모리 제한128 MB

문제

TV 프로그램 Countdown에는 여섯 개의 서로 다른 수를 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)으로 조합하여 어떤 수를 만드는 라운드가 있다. 기본 규칙은 다음과 같다.

  • 참가자는 잘 섞인 24개의 타일 중 여섯 개를 고른다. 타일은 두 그룹으로 나뉜다: "큰 수" 네 개($25, 50, 75, 100$)와, 나머지인 "작은 수"로 $1$부터 $10$까지 각각 두 개씩이다. 따라서 타일의 값은 ${1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 50, 75, 100}$에서 온다.
  • 참가자는 선택에 큰 수를 몇 개 포함할지 정하며, 하나도 포함하지 않을 수도 있다.
  • 그런 다음 참가자는 30초 안에, 고른 여섯 개의 수를 덧셈, 뺄셈, 곱셈, 나눗셈으로 조합하여 목표에 최대한 가까운 수를 만든다.
  • 모든 수를 반드시 사용할 필요는 없다.
  • 어떤 수는 등장하는 횟수만큼 사용할 수 있다.
  • 분수는 허용되지 않으며, 계산의 모든 단계에서 양의 정수만 나타날 수 있다.

여섯 개의 수와 목표 $T$가 주어질 때, $T$에 얼마나 가까이 갈 수 있는지 구하여라.

입력

첫째 줄에 케이스의 수 $C$ ($1 \le C \le 50$)가 주어진다. 이어지는 $C$개의 각 줄에는 집합 ${1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 50, 75, 100}$에 속하는 여섯 개의 자연수와, 목표를 나타내는 자연수 $T$ ($1 \le T \le 999$)가 주어진다.

출력

각 케이스에 대해, 규칙에 따라 여섯 개의 수로부터 얻을 수 있는 모든 값 $v$에 대한 $|v - T|$의 최솟값을 한 줄에 하나의 정수로 출력한다. 고른 각 수 자체도 얻을 수 있는 값이므로 이 값은 항상 정의되며, 목표를 정확히 만들 수 있을 때 정확히 $0$이 된다.