벤더
시간 제한2초메모리 제한512 MB
선형 합동 수열의 계수 a, b, c를 정해 n번의 인접한 컵 교환이 공을 위치 r에서 l로 옮기도록 만들고, 불가능하면 Impossible을 출력한다.
문제
로봇 벤더는 돈을 벌기 위해 <<돌리고 돌리기>>라는 오락을 열기로 했다. 오락은 다음과 같다. 벤더는 1번부터 번 위치에 놓인 똑같은 컵 개 중 하나 아래에 공을 숨기고, 번 재빠르게 어떤 두 컵의 위치를 바꾼 뒤, 지금 공이 어느 컵 아래에 있는지 맞혀 보라고 한다.
벤더는 로봇이므로 정해진 프로그램에 따라 움직인다. 벤더는 정수열 를 만드는데, 이고 에 대해 이다.
번째 단계에서 벤더는 번 위치와 번 위치의 컵을 바꾼다.
처음에 로봇은 번 위치의 컵 아래에 공을 숨긴다. 벤더는 번 교환한 뒤 공이 번 위치의 컵 아래에 있기를 원한다.
공이 든 컵이 번 위치에서 번 위치로 이동하도록 , , 를 찾아라.
입력
입력 파일의 유일한 줄에 정수 네 개 , , , 이 주어진다 (; ; ).
출력
그런 수가 없으면 출력 파일에 <<Impossible>>이라는 단어 하나를 출력한다. 그렇지 않으면 음이 아닌 정수 세 개 , , 를 출력한다. 수는 을 넘지 않아야 한다.