시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 256 MB2459128593652.496%

문제

매직 스타는 1부터 12까지 숫자가 헥사그램(hexagram)에 채워져 있는 모양으로 이루어져 있다.

매직 스타의 이름에 매직이 들어가는 이유는 숫자 네 개로 이루어진 줄의 숫자를 모두 합하면 26이 되기 때문이다. 위의 그림의 여섯 줄에 쓰여 있는 숫자는 다음과 같다.

  • 1 + 4 + 10 + 11
  • 11 + 5 + 3 + 7
  • 7 + 6 + 12 + 1
  • 2 + 10 + 5 + 9
  • 9 + 3 + 6 + 8
  • 8 + 12 + 4 + 2

매직 스타를 채우는 방법은 여러 가지가 있다. 일부만 채워진 매직 스타가 주어졌을 때, 수를 전부 다 채워서 매직 스타를 만드는 프로그램을 작성하시오.

입력

매직 스타의 모양이 주어진다. 수가 채워져 있지 않은 곳은 x로, 채워져 있는 곳은 'A'부터 'L'까지 알파벳으로 채워져 있다. i번째 알파벳은 숫자 i를 의미한다. '.'는 매직 스타의 형태를 만들기 위해서 사용하는 문자이다. 모든 입력은 예제 입력과 같은 형태로 주어진다.

출력

매직 스타를 만들 수 있는 방법 중에 사전 순으로 가장 앞서는 방법을 출력한다. (모든 줄을 순서대로 붙여서 하나의 문자열로 만든 뒤, 사전 순으로 비교한다.) 항상 정답이 존재하는 경우만 입력으로 주어진다.

예제 입력 1

....x....
.A.I.D.x.
..x...x..
.x.x.x.x.
....x....

예제 출력 1

....F....
.A.I.D.L.
..H...E..
.C.J.B.K.
....G....
W3sicHJvYmxlbV9pZCI6IjM5NjciLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWI5ZTRcdWM5YzEgXHVjMmE0XHVkMGMwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWI5ZTRcdWM5YzEgXHVjMmE0XHVkMGMwXHViMjk0IDFcdWJkODBcdWQxMzAgMTJcdWFlNGNcdWM5YzAgXHVjMjJiXHVjNzkwXHVhYzAwIFx1ZDVlNVx1YzBhY1x1YWRmOFx1YjdhOChoZXhhZ3JhbSlcdWM1ZDAgXHVjYzQ0XHVjNmNjXHVjODM4IFx1Yzc4OFx1YjI5NCBcdWJhYThcdWM1OTFcdWM3M2NcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvdXBsb2FkXC9pbWFnZXNcL21hZ2ljc3Rhci5wbmdcIiBzdHlsZT1cImhlaWdodDoyMzlweDsgd2lkdGg6MjMwcHhcIiBcLz48XC9wPlxyXG5cclxuPHA+XHViOWU0XHVjOWMxIFx1YzJhNFx1ZDBjMFx1Yzc1OCBcdWM3NzRcdWI5ODRcdWM1ZDAgXHViOWU0XHVjOWMxXHVjNzc0IFx1YjRlNFx1YzViNFx1YWMwMFx1YjI5NCBcdWM3NzRcdWM3MjBcdWIyOTQgXHVjMjJiXHVjNzkwIFx1YjEyNCBcdWFjMWNcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1YzkwNFx1Yzc1OCBcdWMyMmJcdWM3OTBcdWI5N2MgXHViYWE4XHViNDUwIFx1ZDU2OVx1ZDU1OFx1YmE3NCAyNlx1Yzc3NCBcdWI0MThcdWFlMzAgXHViNTRjXHViYjM4XHVjNzc0XHViMmU0LiBcdWM3MDRcdWM3NTggXHVhZGY4XHViOWJjXHVjNzU4IFx1YzVlY1x1YzEyZiBcdWM5MDRcdWM1ZDAgXHVjNGYwXHVjNWVjIFx1Yzc4OFx1YjI5NCBcdWMyMmJcdWM3OTBcdWIyOTQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4xICsgNCArIDEwICsgMTE8XC9saT5cclxuXHQ8bGk+MTEgKyA1ICsgMyArIDc8XC9saT5cclxuXHQ8bGk+NyArIDYgKyAxMiArIDE8XC9saT5cclxuXHQ8bGk+MiArIDEwICsgNSArIDk8XC9saT5cclxuXHQ8bGk+OSArIDMgKyA2ICsgODxcL2xpPlxyXG5cdDxsaT44ICsgMTIgKyA0ICsgMjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YjllNFx1YzljMSBcdWMyYTRcdWQwYzBcdWI5N2MgXHVjYzQ0XHVjNmIwXHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc0MCBcdWM1ZWNcdWI3ZWMgXHVhYzAwXHVjOWMwXHVhYzAwIFx1Yzc4OFx1YjJlNC4gXHVjNzdjXHViZDgwXHViOWNjIFx1Y2M0NFx1YzZjY1x1YzljNCBcdWI5ZTRcdWM5YzEgXHVjMmE0XHVkMGMwXHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YzIxOFx1Yjk3YyBcdWM4MDRcdWJkODAgXHViMmU0IFx1Y2M0NFx1YzZjY1x1YzExYyBcdWI5ZTRcdWM5YzEgXHVjMmE0XHVkMGMwXHViOTdjIFx1YjljY1x1YjRkY1x1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHViOWU0XHVjOWMxIFx1YzJhNFx1ZDBjMFx1Yzc1OCBcdWJhYThcdWM1OTFcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWMyMThcdWFjMDAgXHVjYzQ0XHVjNmNjXHVjODM4IFx1Yzc4OFx1YzljMCBcdWM1NGFcdWM3NDAgXHVhY2YzXHVjNzQwIHhcdWI4NWMsIFx1Y2M0NFx1YzZjY1x1YzgzOCBcdWM3ODhcdWIyOTQgXHVhY2YzXHVjNzQwICYjMzk7QSYjMzk7XHViZDgwXHVkMTMwICYjMzk7TCYjMzk7XHVhZTRjXHVjOWMwIFx1YzU0Y1x1ZDMwY1x1YmNiM1x1YzczY1x1Yjg1YyBcdWNjNDRcdWM2Y2NcdWM4MzggXHVjNzg4XHViMmU0LiBpXHViYzg4XHVjOWY4IFx1YzU0Y1x1ZDMwY1x1YmNiM1x1Yzc0MCBcdWMyMmJcdWM3OTAgaVx1Yjk3YyBcdWM3NThcdWJiZjhcdWQ1NWNcdWIyZTQuICYjMzk7LiYjMzk7XHViMjk0IFx1YjllNFx1YzljMSBcdWMyYTRcdWQwYzBcdWM3NTggXHVkNjE1XHVkMGRjXHViOTdjIFx1YjljY1x1YjRlNFx1YWUzMCBcdWM3MDRcdWQ1NzRcdWMxMWMgXHVjMGFjXHVjNmE5XHVkNTU4XHViMjk0IFx1YmIzOFx1Yzc5MFx1Yzc3NFx1YjJlNC4gXHViYWE4XHViNGUwIFx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWM2MDhcdWM4MWMgXHVjNzg1XHViODI1XHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWQ2MTVcdWQwZGNcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YjllNFx1YzljMSBcdWMyYTRcdWQwYzBcdWI5N2MgXHViOWNjXHViNGU0IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHViYzI5XHViYzk1IFx1YzkxMVx1YzVkMCBcdWMwYWNcdWM4MDQgXHVjMjFjXHVjNzNjXHViODVjIFx1YWMwMFx1YzdhNSBcdWM1NWVcdWMxMWNcdWIyOTQgXHViYzI5XHViYzk1XHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gKFx1YmFhOFx1YjRlMCBcdWM5MDRcdWM3NDQgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1YmQ5OVx1YzVlY1x1YzExYyBcdWQ1NThcdWIwOThcdWM3NTggXHViYjM4XHVjNzkwXHVjNWY0XHViODVjIFx1YjljY1x1YjRlMCBcdWI0YTQsIFx1YzBhY1x1YzgwNCBcdWMyMWNcdWM3M2NcdWI4NWMgXHViZTQ0XHVhZDUwXHVkNTVjXHViMmU0LikgXHVkNTZkXHVjMGMxIFx1YzgxNVx1YjJmNVx1Yzc3NCBcdWM4NzRcdWM3YWNcdWQ1NThcdWIyOTQgXHVhY2JkXHVjNmIwXHViOWNjIFx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiMzk2NyIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6Ik1hZ2ljIFN0YXIiLCJkZXNjcmlwdGlvbiI6IjxwPkEgbWFnaWMgc3RhciBjb25zaXN0cyBvZiBhbGwgdGhlIG51bWJlcnMgZnJvbSAxIHRvIDEyIGFycmFuZ2VkIGluIHRoZSBzaGFwZSBvZiBhIGhleGFncmFtOjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL21hZ2ljc3Rhci5wbmdcIiBzdHlsZT1cImhlaWdodDoyMzlweDsgd2lkdGg6MjMwcHhcIiBcLz48XC9wPlxyXG5cclxuPHA+VGhlIG1hZ2ljIGNvbWVzIGZyb20gdGhlIGZhY3QgdGhhdCBpbiBlYWNoIGxpbmUgb2YgNCBudW1iZXJzLCB0aGUgc3VtIG9mIHRoZSBudW1iZXJzIGlzIDI2LiBJbiB0aGUgZXhhbXBsZSBnaXZlbiBhYm92ZSwgdGhlIHNpeCBsaW5lcyBjb25zaXN0IG9mIHRoZSBmb2xsb3dpbmcgbnVtYmVyczo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4xICsgNCArIDEwICsgMTE8XC9saT5cclxuXHQ8bGk+MTEgKyA1ICsgMyArIDc8XC9saT5cclxuXHQ8bGk+NyArIDYgKyAxMiArIDE8XC9saT5cclxuXHQ8bGk+MiArIDEwICsgNSArIDk8XC9saT5cclxuXHQ8bGk+OSArIDMgKyA2ICsgODxcL2xpPlxyXG5cdDxsaT44ICsgMTIgKyA0ICsgMjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlRoZXJlIGFyZSBzZXZlcmFsIHBvc3NpYmxlIHdheXMgdG8gYXJyYW5nZSB0aGUgbnVtYmVycyB0byBnZXQgYSBtYWdpYyBzdGFyLiBHaXZlbiBhIHBhcnRpYWxseSBsYWJlbGxlZCBzdGFyLCB5b3VyIHRhc2sgaXMgdG8gZXh0ZW5kIHRoZSBzb2x1dGlvbiBzdWNoIHRoYXQgYSBtYWdpYyBzdGFyIGlzIGZvcm1lZC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBpbnB1dCBjb25zaXN0cyBvZiBhIHZpc3VhbGl6YXRpb24gb2YgdGhlIHN0YXI7IHRoZSB1bmxhYmVsbGVkIGZpZWxkcyBvZiB0aGUgc3RhciB3aWxsIGJlIHJlcHJlc2VudGVkIGJ5IGFuICYjMzk7eCYjMzk7IGNoYXJhY3RlciwgYW5kIGxhYmVsbGVkIGZpZWxkcyB3aWxsIGNvbnRhaW4gYSBsZXR0ZXIgYmV0d2VlbiAmIzM5O0EmIzM5OyBhbmQgJiMzOTtMJiMzOTssIHdoZXJlIHRoZSBpLXRoIGxldHRlciBpbiB0aGUgYWxwaGFiZXQgcmVwcmVzZW50cyBudW1iZXIgaS4gVGhlIGNoYXJhY3RlciAmIzM5Oy4mIzM5OyBpcyB1c2VkIHRvIGFsaWduIHRoZSBlbGRzIG9mIHRoZSBzdGFyIGluIHRoZSBzaGFwZSBvZiBhIGhleGFncmFtLiBZb3UgbWF5IGFzc3VtZSB0aGF0IGVhY2ggaW5wdXQgd2lsbCB1c2UgdGhlIHNhbWUgYWxpZ25tZW50IG9mIHRoZSBmaWVsZHMgYXMgdGhlIG9uZSBpbiB0aGUgc2FtcGxlIGlucHV0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlByaW50IHRoZSBsZXhpY29ncmFwaGljYWxseSBzbWFsbGVzdCBleHRlbnNpb24gb2YgdGhlIGdpdmVuIHBhcnRpYWwgc29sdXRpb24gd2hpY2ggaXMgYSBtYWdpYyBzdGFyIChsZXhpY29ncmFwaGljYWxseSBzbWFsbGVzdCBtZWFucyB0aGF0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSByb3dzIHNob3VsZCByZXN1bHQgaW4gYSBzdHJpbmcgd2hpY2ggaXMgbGV4aWNvZ3JhcGhpY2FsbHkgc21hbGxlciB0aGFuIG90aGVyIHBvdGVudGlhbCBzb2x1dGlvbnMpLiBZb3UgbWF5IGFzc3VtZSB0aGF0IHRoZXJlIGlzIGFsd2F5cyBhIHNvbHV0aW9uIGZvciB0aGUgZ2l2ZW4gaW5wdXQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==

출처

ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest > GCPC 2011 D번