The Total is Right

시간 제한2초메모리 제한512 MB

요약
여섯 개 이하의 정수를 각각 한 번만 써서 덧셈, 뺄셈, 곱셈, 정확히 나누어떨어지는 나눗셈으로 N을 만들 수 있는지 판정한다.
난이도

보통10점 중 6점

유형
완전 탐색, 재귀, 수학, 구현
정답자
아직 제출이 없습니다

문제

The Total is Right는 여러 나라에서 방영된 인기 TV 게임이다. 이 게임의 목표는 주어진 여섯 개의 정수 mim_i (1≤i≤61 \le i \le 6)와 사칙연산(+, −, ×, ÷)을 사용해 정해진 수 NN에 도달하는 것이다. 모든 중간 계산 결과는 양수여야 하며, 나눗셈은 나누어떨어져야 한다. 예를 들어 5를 2로 나눌 수는 없다. 입력으로 주어진 수 mim_i와 모든 중간 계산 결과는 각각 많아야 한 번 사용할 수 있지만, 입력으로 주어진 수를 모두 사용할 필요는 없다.

예를 들어 N=888N = 888이고 m1=100m_1 = 100, m2=6m_2 = 6, m3=75m_3 = 75, m4=3m_4 = 3, m5=1m_5 = 1, m6=6m_6 = 6이라고 하자. 그러면 다음과 같이 계산해 N=888N = 888을 얻을 수 있다.

  • 75 − 1 = 74 (m3m_3과 m5m_5 사용)
  • 6 + 6 = 12 (m2m_2와 m6m_6 사용)

그리고 마지막으로

  • 74 × 12 = 888. (각각 m3m_3/m5m_5와 m2m_2/m6m_6 사용)

따라서 이 예에서 The Total is Right가 성립한다.

입력

입력 파일은 여러 테스트 케이스로 이루어진다. 입력 파일의 첫 번째 줄에는 테스트 케이스의 수를 나타내는 정수 하나가 주어진다. 그다음 각 테스트 케이스가 한 줄씩 주어지며, 각 줄에는 일곱 개의 정수 N,m1,m2,m3,m4,m5,m6N, m_1, m_2, m_3, m_4, m_5, m_6이 공백 하나를 사이에 두고 주어진다. 정수 101≤N≤999101 \le N \le 999는 도달해야 하는 수이고, 정수 mim_i는 NN에 도달하는 데 사용할 수 있는 수이다. 각 1≤i≤61 \le i \le 6에 대해 mi∈{1,2,3,4,5,6,7,8,9,10,25,50,75,100}m_i \in \{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 50, 75, 100\}이다.

출력

입력의 각 테스트 케이스에 대해, 게임의 규칙에 따라 mim_i (1≤i≤61 \le i \le 6) 가운데 일부 또는 전부를 사용해 정확히 NN을 얻을 수 있는지에 따라 문자열 The total is right(뒤에 줄바꿈) 또는 문자열 Impossible(뒤에 줄바꿈)을 한 줄에 출력한다. 출력에는 빈 줄이 있어서는 안 된다.

예제1

  1. 예제 1

    입력
    2
    888 100 6 75 3 1 6
    449 2 6 100 10 2 8
    
    예상 출력
    The total is right
    Impossible