한 열쇠 수리공이 냉장고 문에 달린 화면에 표시된 특이한 자물쇠를 열어 달라는 부탁을 받았다.
이 자물쇠는 $K$개의 동심원(고리)으로 이루어져 있다. 각 고리에는 양의 정수 여러 개가 표시되어 있다. 각 고리에서 정확히 하나씩 수를 골라, 고른 $K$개의 수가 $K$개의 단서를 모두 만족시키면 문이 열린다.
고리를 바깥쪽부터 $R_1$, 안쪽으로 갈수록 $R_2, \ldots, R_K$로 번호를 매기고, $R_i$는 고리 $i$에서 고른 수도 함께 나타낸다고 하자. 각 단서는 이 고른 값들에 대한 일차방정식이다.
$$c_1 R_1 + c_2 R_2 + \cdots + c_K R_K = b$$
각 단서는 이미 정수 계수 $c_1, c_2, \ldots, c_K$와 우변 $b$로 분해되어 주어지며, 바깥 고리부터 안쪽 고리 순서로 나열된다. 예를 들어 (고리가 3개일 때) "바깥 고리에서 가운데 고리의 두 배를 뺀 값이 $0$이다"라는 단서는 계수 줄 1 -2 0 = 0으로 표현된다.
계수는 음수, $0$, 양수 모두 될 수 있다. 단서들은 언제나 자물쇠를 여는 선택을 정확히 하나로 확정한다.
고리들과 단서들을 읽어, 자물쇠를 여는 유일한 선택을 바깥 고리부터 안쪽 고리 순서로 출력하여라.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 다음과 같이 주어진다.
=, 그다음 정수 우변으로 이루어진다: c_1 c_2 ... c_K = b.고리에 표시되는 각 수는 $1$ 이상 $99$ 이하이다. 한 줄에 0 하나만 있으면 입력의 끝을 뜻하며 처리하지 않는다.
각 테스트 케이스마다, 고른 수들을 바깥 고리부터 안쪽 고리 순서로 공백 하나로 구분하여 한 줄에 출력한다.