시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB73115611922.119%

문제

세 변수 \(x_1\), \(x_2\), \(x_3\)로 이루어진 일차 방정식 세 개가 있다. \(a_{ij}\)와 \(b_i\)가 주어졌을 때, 다음과 같이 표현할 수 있다.

\(\begin{vmatrix} a_{ 11 }x_{ 1 }+a_{ 12 }x_{ 2 }+a_{ 13 }x_{ 3 }=b_{ 1 } \\ a_{ 21 }x_{ 1 }+a_{ 22 }x_{ 2 }+a_{ 23 }x_{ 3 }=b_{ 2 } \\ a_{ 31 }x_{ 1 }+a_{ 32 }x_{ 2 }+a_{ 33 }x_{ 3 }=b_{ 3 } \end{vmatrix}\)

행렬과 벡터를 이용하면 다음과 같이 나타낼 수 있다.

\(A\cdot x=b\), where \(A=\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix}\), \(b=\begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix}\), x=\(\begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix}\)

크래머의 공식을 이용하면 방정식의 해는 행렬식(determinant)를 이용해 다음과 같이 구할 수 있다.

\(x_i = \frac {det~A_i}{det~A}\)

\(A_i\) 는 행렬 \(A\)의 \(i\)번째 열을 벡터 \(b\)로 대체한 것이다. 예를 들어, \(3 \times 3\) 행렬의 행렬식은 아래와 같이 구할 수 있다.

\(det\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix} = a_{11}(a_{22}a_{33} - a_{23}a_{32}) - a_{12}(a_{21}a_{33} - a_{23}a_{31}) + a_{13}(a_{21}a_{32}-a_{22}a_{31})\)

크래머의 공식은 \(det~A \ne 0\)인 경우에만 해를 구할 수 있다. \(det~A \ne 0\)인 경우에 방정식의 해는 유일하고, 그렇지 않은 경우에는 해가 없거나 무수히 많은 해를 가진다.

방정식이 많은 경우에는 행렬식을 구하는데 시간이 너무 많이 걸린다. 따라서, 이런 경우에는 다른 방법을 사용하는 것이 더 효율적이다.

세 변수로 이루어진 일차 방정식 세 개가 주어진다. 크래머의 공식을 이용해서 해를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 세 줄로 이루어져 있고, 아래와 같은 순서로 주어진다.

\(\begin{matrix} a_{11} & a_{12} & a_{13} & b_1 \\ a_{21} & a_{22}  & a_{23} & b_{2}  \\ a_{31}  & a_{32} & a_{33} & b_{3}  \end{matrix}\)

모든 숫자는 -1000보다 크거나 같고, 1000보다 작거나 같은 정수이며, 공백 한 칸으로 구분되어져 있다. 

출력

각 테스트 케이스마다 두 줄을 출력한다.

첫째 줄에는 행렬 \(A_1\), \(A_2\), \(A_3\), \(A\)의 행렬식을 출력한다. 

방정식의 해가 존재하지 않는 경우에는 둘째 줄에 "No unique solution"을 출력하고, 해가 존재하는 경우에는 "Unique solution: "와 \(x_1\), \(x_2\), \(x_3\) 값을 소수점 셋째자리까지 출력한다.

방정식의 해 \(x_i\)가 -0.0005 < \(x_i\) < 0.0005 인 경우에는 "-0.000" 대신에 "0.000"을 출력한다.

각 테스트 케이스 사이에는 빈 줄을 하나 출력한다.

예제 입력 1

3
4 0 0 1
0 2 0 2
0 0 1 4
1 2 3 1
1 1 1 2
2 2 2 3
1 0 0 1
0 1 0 0
0 0 -1 0

예제 출력 1

2 8 32 8
Unique solution: 0.250 1.000 4.000

1 -2 1 0
No unique solution

-1 0 0 -1
Unique solution: 1.000 0.000 0.000
W3sicHJvYmxlbV9pZCI6Ijc1NjEiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQwNmNcdWI3OThcdWJhMzhcdWM3NTggXHVhY2Y1XHVjMmRkIiwiZGVzY3JpcHRpb24iOiI8cD5cdWMxMzggXHViY2MwXHVjMjE4IFxcKHhfMVxcKSwgXFwoeF8yXFwpLCBcXCh4XzNcXClcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1Yzc3Y1x1Y2MyOCBcdWJjMjlcdWM4MTVcdWMyZGQgXHVjMTM4IFx1YWMxY1x1YWMwMCBcdWM3ODhcdWIyZTQuIFxcKGFfe2lqfVxcKVx1YzY0MCBcXChiX2lcXClcdWFjMDAgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc3NCBcdWQ0NWNcdWQ2MDRcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XFwoXFxiZWdpbnt2bWF0cml4fSBhX3sgMTEgfXhfeyAxIH0rYV97IDEyIH14X3sgMiB9K2FfeyAxMyB9eF97IDMgfT1iX3sgMSB9IFxcXFwgYV97IDIxIH14X3sgMSB9K2FfeyAyMiB9eF97IDIgfSthX3sgMjMgfXhfeyAzIH09Yl97IDIgfSBcXFxcIGFfeyAzMSB9eF97IDEgfSthX3sgMzIgfXhfeyAyIH0rYV97IDMzIH14X3sgMyB9PWJfeyAzIH0gXFxlbmR7dm1hdHJpeH1cXCk8XC9wPlxyXG5cclxuPHA+XHVkNTg5XHViODJjXHVhY2ZjIFx1YmNhMVx1ZDEzMFx1Yjk3YyBcdWM3NzRcdWM2YTlcdWQ1NThcdWJhNzQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc3NCBcdWIwOThcdWQwYzBcdWIwYmMgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XFwoQVxcY2RvdCB4PWJcXCksIHdoZXJlIFxcKEE9XFxiZWdpbntwbWF0cml4fSBhX3sxMX0gJmFtcDsgYV97MTJ9ICZhbXA7IGFfezEzfSBcXFxcIGFfezIxfSAmYW1wOyBhX3syMn0gJmFtcDsgYV97MjN9IFxcXFwgYV97MzF9ICZhbXA7IGFfezMyfSAmYW1wOyBhX3szM30gXFxlbmR7cG1hdHJpeH1cXCksIFxcKGI9XFxiZWdpbntwbWF0cml4fSBiXzEgXFxcXCBiXzIgXFxcXCBiXzMgXFxlbmR7cG1hdHJpeH1cXCksIHg9XFwoXFxiZWdpbntwbWF0cml4fSB4XzEgXFxcXCB4XzIgXFxcXCB4XzMgXFxlbmR7cG1hdHJpeH1cXCk8XC9wPlxyXG5cclxuPHA+XHVkMDZjXHViNzk4XHViYTM4XHVjNzU4IFx1YWNmNVx1YzJkZFx1Yzc0NCBcdWM3NzRcdWM2YTlcdWQ1NThcdWJhNzQgXHViYzI5XHVjODE1XHVjMmRkXHVjNzU4IFx1ZDU3NFx1YjI5NCBcdWQ1ODlcdWI4MmNcdWMyZGQoZGV0ZXJtaW5hbnQpXHViOTdjIFx1Yzc3NFx1YzZhOVx1ZDU3NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzc0IFx1YWQ2Y1x1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cXCh4X2kgPSBcXGZyYWMge2RldH5BX2l9e2RldH5BfVxcKTxcL3A+XHJcblxyXG48cD5cXChBX2lcXCkgXHViMjk0IFx1ZDU4OVx1YjgyYyBcXChBXFwpXHVjNzU4IFxcKGlcXClcdWJjODhcdWM5ZjggXHVjNWY0XHVjNzQ0IFx1YmNhMVx1ZDEzMCBcXChiXFwpXHViODVjIFx1YjMwMFx1Y2NiNFx1ZDU1YyBcdWFjODNcdWM3NzRcdWIyZTQuIFx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsIFxcKDMgXFx0aW1lcyAzXFwpIFx1ZDU4OVx1YjgyY1x1Yzc1OCBcdWQ1ODlcdWI4MmNcdWMyZGRcdWM3NDAgXHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1Yzc3NCBcdWFkNmNcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XFwoZGV0XFxiZWdpbntwbWF0cml4fSBhX3sxMX0gJmFtcDsgYV97MTJ9ICZhbXA7IGFfezEzfSBcXFxcIGFfezIxfSAmYW1wOyBhX3syMn0gJmFtcDsgYV97MjN9IFxcXFwgYV97MzF9ICZhbXA7IGFfezMyfSAmYW1wOyBhX3szM30gXFxlbmR7cG1hdHJpeH0gPSBhX3sxMX0oYV97MjJ9YV97MzN9IC0gYV97MjN9YV97MzJ9KSZuYnNwOy0gYV97MTJ9KGFfezIxfWFfezMzfSAtIGFfezIzfWFfezMxfSkgKyBhX3sxM30oYV97MjF9YV97MzJ9LWFfezIyfWFfezMxfSlcXCk8XC9wPlxyXG5cclxuPHA+XHVkMDZjXHViNzk4XHViYTM4XHVjNzU4IFx1YWNmNVx1YzJkZFx1Yzc0MCBcXChkZXR+QSBcXG5lIDBcXClcdWM3NzggXHVhY2JkXHVjNmIwXHVjNWQwXHViOWNjIFx1ZDU3NFx1Yjk3YyBcdWFkNmNcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gXFwoZGV0fkEgXFxuZSAwXFwpXHVjNzc4IFx1YWNiZFx1YzZiMFx1YzVkMCBcdWJjMjlcdWM4MTVcdWMyZGRcdWM3NTggXHVkNTc0XHViMjk0IFx1YzcyMFx1Yzc3Y1x1ZDU1OFx1YWNlMCwgXHVhZGY4XHViODA3XHVjOWMwIFx1YzU0YVx1Yzc0MCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHVkNTc0XHVhYzAwIFx1YzVjNlx1YWM3MFx1YjA5OCBcdWJiMzRcdWMyMThcdWQ3ODggXHViOWNlXHVjNzQwIFx1ZDU3NFx1Yjk3YyBcdWFjMDBcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmMyOVx1YzgxNVx1YzJkZFx1Yzc3NCBcdWI5Y2VcdWM3NDAgXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IFx1ZDU4OVx1YjgyY1x1YzJkZFx1Yzc0NCBcdWFkNmNcdWQ1NThcdWIyOTRcdWIzNzAgXHVjMmRjXHVhYzA0XHVjNzc0IFx1YjEwOFx1YmIzNCBcdWI5Y2VcdWM3NzQgXHVhYzc4XHViOWIwXHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMsIFx1Yzc3NFx1YjdmMCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHViMmU0XHViOTc4IFx1YmMyOVx1YmM5NVx1Yzc0NCBcdWMwYWNcdWM2YTlcdWQ1NThcdWIyOTQgXHVhYzgzXHVjNzc0IFx1YjM1NCBcdWQ2YThcdWM3MjhcdWM4MDFcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzEzOCBcdWJjYzBcdWMyMThcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1Yzc3Y1x1Y2MyOCBcdWJjMjlcdWM4MTVcdWMyZGQgXHVjMTM4IFx1YWMxY1x1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1ZDA2Y1x1Yjc5OFx1YmEzOFx1Yzc1OCBcdWFjZjVcdWMyZGRcdWM3NDQgXHVjNzc0XHVjNmE5XHVkNTc0XHVjMTFjIFx1ZDU3NFx1Yjk3YyBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVjNzU4IFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWIyOTQgXHVjMTM4IFx1YzkwNFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHVhY2UwLCBcdWM1NDRcdWI3OThcdWM2NDAgXHVhYzE5XHVjNzQwIFx1YzIxY1x1YzExY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlxcKFxcYmVnaW57bWF0cml4fSBhX3sxMX0gJmFtcDsgYV97MTJ9ICZhbXA7IGFfezEzfSAmYW1wOyBiXzEgXFxcXCBhX3syMX0gJmFtcDsgYV97MjJ9ICZuYnNwOyZhbXA7IGFfezIzfSAmYW1wOyBiX3syfSAmbmJzcDtcXFxcIGFfezMxfSAmbmJzcDsmYW1wOyBhX3szMn0gJmFtcDsgYV97MzN9ICZhbXA7IGJfezN9ICZuYnNwO1xcZW5ke21hdHJpeH1cXCk8XC9wPlxyXG5cclxuPHA+XHViYWE4XHViNGUwIFx1YzIyYlx1Yzc5MFx1YjI5NCAtMTAwMFx1YmNmNFx1YjJlNCBcdWQwNmNcdWFjNzBcdWIwOTggXHVhYzE5XHVhY2UwLCAxMDAwXHViY2Y0XHViMmU0IFx1Yzc5MVx1YWM3MFx1YjA5OCBcdWFjMTlcdWM3NDAgXHVjODE1XHVjMjE4XHVjNzc0XHViYTcwLCBcdWFjZjVcdWJjMzEgXHVkNTVjIFx1Y2U3OFx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LiZuYnNwOzxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViOWM4XHViMmU0IFx1YjQ1MCBcdWM5MDRcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1ZDU4OVx1YjgyYyBcXChBXzFcXCksIFxcKEFfMlxcKSwgXFwoQV8zXFwpLCBcXChBXFwpXHVjNzU4IFx1ZDU4OVx1YjgyY1x1YzJkZFx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlx1YmMyOVx1YzgxNVx1YzJkZFx1Yzc1OCBcdWQ1NzRcdWFjMDAgXHVjODc0XHVjN2FjXHVkNTU4XHVjOWMwIFx1YzU0YVx1YjI5NCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHViNDU4XHVjOWY4IFx1YzkwNFx1YzVkMCAmcXVvdDtObyB1bmlxdWUgc29sdXRpb24mcXVvdDtcdWM3NDQgXHVjZDljXHViODI1XHVkNTU4XHVhY2UwLCBcdWQ1NzRcdWFjMDAgXHVjODc0XHVjN2FjXHVkNTU4XHViMjk0IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCAmcXVvdDtVbmlxdWUgc29sdXRpb246ICZxdW90O1x1YzY0MCBcXCh4XzFcXCksIFxcKHhfMlxcKSwgXFwoeF8zXFwpIFx1YWMxMlx1Yzc0NCBcdWMxOGNcdWMyMThcdWM4MTAgXHVjMTRiXHVjOWY4XHVjNzkwXHViOWFjXHVhZTRjXHVjOWMwIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViYzI5XHVjODE1XHVjMmRkXHVjNzU4IFx1ZDU3NCBcXCh4X2lcXClcdWFjMDAgLTAuMDAwNSAmbHQ7IFxcKHhfaVxcKSAmbHQ7IDAuMDAwNSBcdWM3NzggXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0ICZxdW90Oy0wLjAwMCZxdW90OyBcdWIzMDBcdWMyZTBcdWM1ZDAgJnF1b3Q7MC4wMDAmcXVvdDtcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNCBcdWMwYWNcdWM3NzRcdWM1ZDBcdWIyOTQgXHViZTQ4IFx1YzkwNFx1Yzc0NCBcdWQ1NThcdWIwOTggXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6Ijc1NjEiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJDcmFtZXJcdTIwMTlzIFJ1bGUiLCJkZXNjcmlwdGlvbiI6IjxwPkNvbnNpZGVyIGEgc3lzdGVtIG9mIGxpbmVhciBlcXVhdGlvbnMsIGhlcmUgdGhyZWUgZXF1YXRpb25zIG9mIHRocmVlIHZhcmlhYmxlcyBcXCh4XzFcXCksIFxcKHhfMlxcKSwgXFwoeF8zXFwpLiBUaGUgZ2VuZXJhbCBmb3JtIGxvb2tzIHNvbWV0aGluZyBsaWtlIHRoaXMsIHdpdGggZ2l2ZW4gbnVtYmVycyBcXChhX3tpan1cXCkgYW5kIFxcKGJfaVxcKTxcL3A+XHJcblxyXG48cD5cXChcXGJlZ2lue3ZtYXRyaXh9IGFfeyAxMSB9eF97IDEgfSthX3sgMTIgfXhfeyAyIH0rYV97IDEzIH14X3sgMyB9PWJfeyAxIH0gXFxcXCBhX3sgMjEgfXhfeyAxIH0rYV97IDIyIH14X3sgMiB9K2FfeyAyMyB9eF97IDMgfT1iX3sgMiB9IFxcXFwgYV97IDMxIH14X3sgMSB9K2FfeyAzMiB9eF97IDIgfSthX3sgMzMgfXhfeyAzIH09Yl97IDMgfSBcXGVuZHt2bWF0cml4fVxcKTxcL3A+XHJcblxyXG48cD5PciwgdXNpbmcgbWF0cmljZXMgYW5kIHZlY3RvcnM6PFwvcD5cclxuXHJcbjxwPlxcKEFcXGNkb3QgeD1iXFwpLCB3aGVyZSBcXChBPVxcYmVnaW57cG1hdHJpeH0gYV97MTF9ICZhbXA7IGFfezEyfSAmYW1wOyBhX3sxM30gXFxcXCBhX3syMX0gJmFtcDsgYV97MjJ9ICZhbXA7IGFfezIzfSBcXFxcIGFfezMxfSAmYW1wOyBhX3szMn0gJmFtcDsgYV97MzN9IFxcZW5ke3BtYXRyaXh9XFwpLCBcXChiPVxcYmVnaW57cG1hdHJpeH0gYl8xIFxcXFwgYl8yIFxcXFwgYl8zIFxcZW5ke3BtYXRyaXh9XFwpLCB4PVxcKFxcYmVnaW57cG1hdHJpeH0geF8xIFxcXFwgeF8yIFxcXFwgeF8zIFxcZW5ke3BtYXRyaXh9XFwpPFwvcD5cclxuXHJcbjxwPkFjY29yZGluZyB0byBDcmFtZXImcnNxdW87cyBydWxlLCB0aGUgc29sdXRpb24gY2FuIGJlIGdpdmVuIGluIHRlcm1zIG9mIGRldGVybWluYW50cywgaS5lLjxcL3A+XHJcblxyXG48cD5cXCh4X2kgPSBcXGZyYWMge2RldH5BX2l9e2RldH5BfVxcKTxcL3A+XHJcblxyXG48cD53aGVyZSBcXChBX2lcXCkgaXMgdGhlIG1hdHJpeCBvYnRhaW5lZCBmcm9tIFxcKEFcXCkgYnkgcmVwbGFjaW5nIHRoZSBcXChpXFwpLXRoIGNvbHVtbiB3aXRoIHRoZSB2ZWN0b3IgXFwoYlxcKS4gRm9yIFxcKDMgXFx0aW1lcyAzXFwpIGRldGVybWluYW50cywgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBzaW1wbGUgZm9ybXVsYXIgdG8gY2FsY3VsYXRlIHRoZSBkZXRlcm1pbmFudDo8XC9wPlxyXG5cclxuPHA+XFwoZGV0XFxiZWdpbntwbWF0cml4fSBhX3sxMX0gJmFtcDsgYV97MTJ9ICZhbXA7IGFfezEzfSBcXFxcIGFfezIxfSAmYW1wOyBhX3syMn0gJmFtcDsgYV97MjN9IFxcXFwgYV97MzF9ICZhbXA7IGFfezMyfSAmYW1wOyBhX3szM30gXFxlbmR7cG1hdHJpeH0gPSBhX3sxMX0oYV97MjJ9YV97MzN9IC0gYV97MjN9YV97MzJ9IC0gYV97MTJ9KGFfezIxfWFfezMzfSAtIGFfezIzfWFfezMxfSkgKyBhX3sxM30oYV97MjF9YV97MzJ9LWFfezIyfWFfezMxfSlcXCk8XC9wPlxyXG5cclxuPHA+T2J2aW91c2x5LCBDcmFtZXImcnNxdW87cyBydWxlIG9ubHkgd29ya3MgZm9yIFxcKGRldH5BIFxcbmUgMFxcKS4gT25lIGNhbiBzaG93IHRoYXQgdGhlIHN5c3RlbSBoYXMgYSB1bmlxdWUgc29sdXRpb24gaWYgYW5kIG9ubHkgaWYgXFwoZGV0fkEgXFxuZSAwXFwpLiBPdGhlcndpc2UsIHRoZSBzeXN0ZW0gaGFzIGVpdGhlciBubyBzb2x1dGlvbiBvciBpblx1ZmIwMW5pdGVseSBtYW55IHNvbHV0aW9ucy48XC9wPlxyXG5cclxuPHA+UGxlYXNlIG5vdGUgdGhhdCBvbmUgd291bGQgbm90IHVzZSBDcmFtZXImcnNxdW87cyBydWxlIHRvIHNvbHZlIGEgbGFyZ2Ugc3lzdGVtIG9mIGxpbmVhciBlcXVhdGlvbnMsIHNpbXBseSBiZWNhdXNlIGNhbGN1bGF0aW5nIGEgc2luZ2xlIGRldGVybWluYW50IGlzIGFzIHRpbWUtY29uc3VtaW5nIGFzIHNvbHZpbmcgdGhlIGNvbXBsZXRlIHN5c3RlbSBieSBhIG1vcmUgZWZcdWZiMDFjaWVudCBhbGdvcml0aG0uPFwvcD5cclxuXHJcbjxwPkdpdmVuIGEgc3lzdGVtIG9mIHRocmVlIGxpbmVhciBlcXVhdGlvbnMgaW4gdGhyZWUgdmFyaWFibGVzLCB1c2UgQ3JhbWVyJnJzcXVvO3MgcnVsZSB0byBcdWZiMDFuZCB0aGUgdW5pcXVlIHNvbHV0aW9uIGlmIGl0IGV4aXN0cy4gTW9yZSBwcmVjaXNlbHksIGNhbGN1bGF0ZSB0aGUgZGV0ZXJtaW5hbnRzIG9mIHRoZSBcXChBX2lcXCkgYW5kIG9mIFxcKEFcXCkgYW5kIGRlY2lkZSBieSBsb29raW5nIGF0IFxcKGRldH5BXFwpIHdoZXRoZXIgdGhlIHN5c3RlbSBoYXMgYSB1bmlxdWUgc29sdXRpb24uIElmIGl0IGRvZXMsIGNhbGN1bGF0ZSB0aGUgc29sdXRpb24gYWNjb3JkaW5nIHRvIENyYW1lciZyc3F1bztzIHJ1bGUuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgXHVmYjAxcnN0IGxpbmUgY29udGFpbnMgdGhlIG51bWJlciBvZiBzY2VuYXJpb3MuPFwvcD5cclxuXHJcbjxwPkZvciBlYWNoIHNjZW5hcmlvLCB5b3UgYXJlIGdpdmVuIHRocmVlIGxpbmVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHRocmVlIGVxdWF0aW9ucywgd2l0aCB0aGUgY29lZlx1ZmIwMWNpZW50cyBvZiB0aGUgbWF0cml4IFxcKEFcXCkgYW5kIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgdmVjdG9yIFxcKGJcXCkgYXJyYW5nZWQgYXMgZm9sbG93czo8XC9wPlxyXG5cclxuPHA+XFwoXFxiZWdpbnttYXRyaXh9IGFfezExfSAmYW1wOyBhX3sxMn0gJmFtcDsgYV97MTN9ICZhbXA7IGJfMSBcXFxcIGFfezIxfSAmYW1wOyBhX3syMn0gJm5ic3A7JmFtcDsgYV97MjN9ICZhbXA7IGJfezJ9ICZuYnNwO1xcXFwgYV97MzF9ICZuYnNwOyZhbXA7IGFfezMyfSAmYW1wOyBhX3szM30gJmFtcDsgYl97M30gJm5ic3A7XFxlbmR7bWF0cml4fVxcKTxcL3A+XHJcblxyXG48cD5BbGwgbnVtYmVycyBhcmUgaW50ZWdlcnMgaW4gdGhlIHJhbmdlIHsmbWludXM7MTAwMCwgLi4uICwxMDAwfS4gVGhleSBhcmUgc2VwYXJhdGVkIGJ5IHNpbmdsZSBibGFua3MuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggc2NlbmFyaW8gcHJpbnQgdGhyZWUgbGluZXMuIEluIHRoZSBcdWZiMDFyc3QgbGluZSwgcHJpbnQgdGhlIGRldGVybWluYW50cyBvZiBcXChBXzFcXCksIFxcKEFfMlxcKSwgXFwoQV8zXFwpLCBhbmQgXFwoQVxcKSwgYXMgaW50ZWdlcnMgYW5kIHNlcGFyYXRlZCBieSBzaW5nbGUgYmxhbmtzLiBJbiB0aGUgc2Vjb25kIGxpbmUsIHByaW50IChkZXBlbmRpbmcgb24gXFwoZGV0fkFcXCkpIGVpdGhlciAmbGRxdW87Tm8gdW5pcXVlIHNvbHV0aW9uJnJkcXVvOyBvciAmbGRxdW87VW5pcXVlIHNvbHV0aW9uOiAmcmRxdW87LCBmb2xsb3dlZCBieSB0aGUgdmFsdWVzIG9mIFxcKHhfMVxcKSwgXFwoeF8yXFwpLCBcXCh4XzNcXCkgd2l0aCB0aHJlZSBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQsIGFnYWluIHNlcGFyYXRlZCBmcm9tIGVhY2ggb3RoZXIgYnkgYSBzaW5nbGUgYmxhbmsuIEZvciBzb2x1dGlvbnMgXFwoeF9pXFwpIHdpdGggJm1pbnVzOzAuMDAwNSAmbHQ7IFxcKHhfaVxcKSAmbHQ7IDAuMDAwNSBhbHdheXMgcHJpbnQgJmxkcXVvOzAuMDAwJnJkcXVvOyBpbnN0ZWFkIG9mIHRoZSAmbGRxdW87LTAuMDAwJnJkcXVvOyB0aGF0IHlvdXIgcHJpbnQgY29tbWFuZCBtaWdodCBjb21lIHVwIHdpdGguIFRoZSB0aGlyZCBsaW5lIGlzIGVtcHR5LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=

출처

University > Tu-Darmstadt Programming Contest > TUD Contest 2001 2번