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

문제

K리그를 좋아하는 상근이는 요즘 들떠있다. 바로 K리그 클래식과 챌린지를 TV에서 중계해주기 때문이다. 어느 날 전반전이 끝나고 TV광고를 보는 동안 순위표를 이용한 수학 게임을 생각했다.

순위표는 각 팀의 정보 다섯 개를 가지고 있다. 팀의 정보는 팀의 경기 수, 이긴 경기의 수, 진 경기의 수, 비긴 경기의 수, 얻은 승점으로 총 다섯 가지이다. 경기에서 이겼을 경우에는 승점 3점을 가져가고, 비겼을 경우에는 1점을 가져간다.

상근이는 순위표의 일부 숫자가 없다고 하더라도, 다른 정보를 통해서 유추할 수 있다는 사실을 알아냈다.

일부 숫자가 지워진 순위표가 주어졌을 때, 지워진 숫자를 알아내는 프로그램을 작성하시오.

각 팀의 정보는 서로 연관이 없다. 예를 들어, 실제 경기에서는 일어나지 않겠지만, 모든 팀이 모든 게임을 이겼을 수도 있다.

각 팀은 최대 100경기를 소화했다.

입력

첫째 줄에 팀의 수 N이 주어진다. (1 ≤ N ≤ 1000)

다음 N개 줄에는 각 팀의 정보 다섯 개가 공백으로 구분되어져서 주어진다. 정보는 정수 또는 물음표이며, 물음표인 경우에는 그 정보의 값을 알 수 없는 경우이다.

항상 빈 칸을 채우는 방법의 수가 유일한 경우만 입력으로 주어진다.

출력

지워진 칸을 채운 순위표를 출력한다. 순위표는 입력으로 주어진 순서대로 출력해야 한다.

예제 입력 1

5
27 21 3 3 66
27 18 6 3 ?
? 15 5 7 50
? 14 7 5 ?
? 14 ? 8 47

예제 출력 1

27 21 3 3 66
27 18 6 3 60
27 15 5 7 50
26 14 7 5 49
27 14 5 8 47
W3sicHJvYmxlbV9pZCI6IjMwMzEiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWI5YWNcdWFkZjgiLCJkZXNjcmlwdGlvbiI6IjxwPktcdWI5YWNcdWFkZjhcdWI5N2MgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0IFx1YzBjMVx1YWRmY1x1Yzc3NFx1YjI5NCBcdWM2OTRcdWM5OTggXHViNGU0XHViNWEwXHVjNzg4XHViMmU0LiBcdWJjMTRcdWI4NWMgS1x1YjlhY1x1YWRmOCBcdWQwNzRcdWI3OThcdWMyZGRcdWFjZmMgXHVjYzRjXHViOWIwXHVjOWMwXHViOTdjIFRWXHVjNWQwXHVjMTFjIFx1YzkxMVx1YWNjNFx1ZDU3NFx1YzhmY1x1YWUzMCBcdWI1NGNcdWJiMzhcdWM3NzRcdWIyZTQuIFx1YzViNFx1YjI5MCBcdWIwYTAgXHVjODA0XHViYzE4XHVjODA0XHVjNzc0IFx1YjA1ZFx1YjA5OFx1YWNlMCBUVlx1YWQxMVx1YWNlMFx1Yjk3YyBcdWJjZjRcdWIyOTQgXHViM2Q5XHVjNTQ4IFx1YzIxY1x1YzcwNFx1ZDQ1Y1x1Yjk3YyBcdWM3NzRcdWM2YTlcdWQ1NWMgXHVjMjE4XHVkNTU5IFx1YWM4Y1x1Yzc4NFx1Yzc0NCBcdWMwZGRcdWFjMDFcdWQ1ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzIxY1x1YzcwNFx1ZDQ1Y1x1YjI5NCBcdWFjMDEgXHVkMzAwXHVjNzU4IFx1YzgxNVx1YmNmNCBcdWIyZTRcdWMxMmYgXHVhYzFjXHViOTdjIFx1YWMwMFx1YzljMFx1YWNlMCBcdWM3ODhcdWIyZTQuIFx1ZDMwMFx1Yzc1OCBcdWM4MTVcdWJjZjRcdWIyOTQgXHVkMzAwXHVjNzU4IFx1YWNiZFx1YWUzMCBcdWMyMTgsIFx1Yzc3NFx1YWUzNCBcdWFjYmRcdWFlMzBcdWM3NTggXHVjMjE4LCBcdWM5YzQgXHVhY2JkXHVhZTMwXHVjNzU4IFx1YzIxOCwgXHViZTQ0XHVhZTM0IFx1YWNiZFx1YWUzMFx1Yzc1OCBcdWMyMTgsIFx1YzViYlx1Yzc0MCBcdWMyYjlcdWM4MTBcdWM3M2NcdWI4NWMgXHVjZDFkIFx1YjJlNFx1YzEyZiBcdWFjMDBcdWM5YzBcdWM3NzRcdWIyZTQuIFx1YWNiZFx1YWUzMFx1YzVkMFx1YzExYyBcdWM3NzRcdWFjYmNcdWM3NDQgXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IFx1YzJiOVx1YzgxMCAzXHVjODEwXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YWMwMFx1YWNlMCwgXHViZTQ0XHVhY2JjXHVjNzQ0IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCAxXHVjODEwXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YWMwNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMGMxXHVhZGZjXHVjNzc0XHViMjk0IFx1YzIxY1x1YzcwNFx1ZDQ1Y1x1Yzc1OCBcdWM3N2NcdWJkODAgXHVjMjJiXHVjNzkwXHVhYzAwIFx1YzVjNlx1YjJlNFx1YWNlMCBcdWQ1NThcdWIzNTRcdWI3N2NcdWIzYzQsIFx1YjJlNFx1Yjk3OCBcdWM4MTVcdWJjZjRcdWI5N2MgXHVkMWI1XHVkNTc0XHVjMTFjIFx1YzcyMFx1Y2Q5NFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0XHViMjk0IFx1YzBhY1x1YzJlNFx1Yzc0NCBcdWM1NGNcdWM1NDRcdWIwYzhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc3Y1x1YmQ4MCBcdWMyMmJcdWM3OTBcdWFjMDAgXHVjOWMwXHVjNmNjXHVjOWM0IFx1YzIxY1x1YzcwNFx1ZDQ1Y1x1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWM5YzBcdWM2Y2NcdWM5YzQgXHVjMjJiXHVjNzkwXHViOTdjIFx1YzU0Y1x1YzU0NFx1YjBiNFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVkMzAwXHVjNzU4IFx1YzgxNVx1YmNmNFx1YjI5NCBcdWMxMWNcdWI4NWMgXHVjNWYwXHVhZDAwXHVjNzc0IFx1YzVjNlx1YjJlNC4gXHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCwgXHVjMmU0XHVjODFjIFx1YWNiZFx1YWUzMFx1YzVkMFx1YzExY1x1YjI5NCBcdWM3N2NcdWM1YjRcdWIwOThcdWM5YzAgXHVjNTRhXHVhY2EwXHVjOWMwXHViOWNjLCBcdWJhYThcdWI0ZTAgXHVkMzAwXHVjNzc0IFx1YmFhOFx1YjRlMCBcdWFjOGNcdWM3ODRcdWM3NDQgXHVjNzc0XHVhY2JjXHVjNzQ0IFx1YzIxOFx1YjNjNCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMwMSBcdWQzMDBcdWM3NDAgXHVjZDVjXHViMzAwIDEwMFx1YWNiZFx1YWUzMFx1Yjk3YyBcdWMxOGNcdWQ2NTRcdWQ1ODhcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1ZDMwMFx1Yzc1OCBcdWMyMTggTlx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgxICZsZTsgTiAmbGU7IDEwMDApPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyBOXHVhYzFjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWFjMDEgXHVkMzAwXHVjNzU4IFx1YzgxNVx1YmNmNCBcdWIyZTRcdWMxMmYgXHVhYzFjXHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjRcdWM4MzhcdWMxMWMgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWM4MTVcdWJjZjRcdWIyOTQgXHVjODE1XHVjMjE4IFx1YjYxMFx1YjI5NCBcdWJiM2NcdWM3NGNcdWQ0NWNcdWM3NzRcdWJhNzAsIFx1YmIzY1x1Yzc0Y1x1ZDQ1Y1x1Yzc3OCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHVhZGY4IFx1YzgxNVx1YmNmNFx1Yzc1OCBcdWFjMTJcdWM3NDQgXHVjNTRjIFx1YzIxOCBcdWM1YzZcdWIyOTQgXHVhY2JkXHVjNmIwXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWQ1NmRcdWMwYzEgXHViZTQ4IFx1Y2U3OFx1Yzc0NCBcdWNjNDRcdWM2YjBcdWIyOTQgXHViYzI5XHViYzk1XHVjNzU4IFx1YzIxOFx1YWMwMCBcdWM3MjBcdWM3N2NcdWQ1NWMgXHVhY2JkXHVjNmIwXHViOWNjIFx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjOWMwXHVjNmNjXHVjOWM0IFx1Y2U3OFx1Yzc0NCBcdWNjNDRcdWM2YjQgXHVjMjFjXHVjNzA0XHVkNDVjXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVjMjFjXHVjNzA0XHVkNDVjXHViMjk0IFx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzQgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1Y2Q5Y1x1YjgyNVx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiMzAzMSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkxJR0EiLCJkZXNjcmlwdGlvbiI6IjxwPldoaWxlIHRoZSBwbGF5ZXJzIGFyZSByZXN0aW5nIGJldHdlZW4gc2V0cywgdGhlIHN0YXRpb24gcHV0cyBvbiB0ZWRpb3VzIGNvbW1lcmNpYWxzLiBadm9ua28gZmlyZXMgdXAgdGhlIHRlbGV0ZXh0IGZlYXR1cmUgb24gaGlzIFRWIHNldCBhbmQgaXMgcmV2aWV3aW5nIHRoZSBsYXRlc3Qgc2NvcmVzIGFuZCBzdGFuZGluZ3MgaW4gdGhlIGZvb3RiYWxsIGxlYWd1ZS4gQWx3YXlzIHNoYXJwLCBoZSBoYXMgY29tZSB1cCB3aXRoIGEgbmV3IG1hdGhlbWF0aWNhbCBnYW1lLiZuYnNwOzxcL3A+XHJcblxyXG48cD5UaGUgc3RhbmRpbmdzIHRhYmxlIGNvbnRhaW5zIGZpdmUgc3RhdGlzdGljcyBmb3IgZWFjaCB0ZWFtOiB0aGUgdG90YWwgbnVtYmVyIG9mIGdhbWVzIHBsYXllZCwgaG93IG1hbnkgb2YgdGhvc2UgZ2FtZXMgdGhlIHRlYW0gd29uLCBkcmV3IGFuZCBsb3N0LCBhbmQgcG9pbnRzIGVhcm5lZC4gQSB0ZWFtIGVhcm5zIDMgcG9pbnRzIGZvciBldmVyeSB3aW4gYW5kIDEgcG9pbnQgZm9yIGV2ZXJ5IGRyYXcuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlp2b25rbyBub3RpY2VkIHRoYXQgdGhlIHZhbHVlcyBvZiBzb21lIGZpZWxkcyBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9tIHRoZSBvdGhlcnMuJm5ic3A7PFwvcD5cclxuXHJcbjxwPldyaXRlIGEgcHJvZ3JhbSB0aGF0IHRha2VzIGluIGEgdGFibGUgaW4gd2hpY2ggdGhlIHZhbHVlcyBvZiBzb21lIGZpZWxkcyBhcmUgdW5rbm93biwgYW5kIGZpbGxzIGluIHRoZSBtaXNzaW5nIGZpZWxkcy4mbmJzcDs8XC9wPlxyXG5cclxuPHA+VGhlIGRhdGEgZm9yIGRpZmZlcmVudCB0ZWFtcyBpcyBub3QgcmVsYXRlZC4gRm9yIGV4YW1wbGUsIGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIHRhYmxlIHNheXMgYWxsIHRlYW1zIGhhdmUgd29uIGFsbCB0aGVpciBnYW1lcyAoYWx0aG91Z2ggdGhhdCBpcyBub3QgcG9zc2libGUgaW4gYSByZWFsIGxlYWd1ZSkuJm5ic3A7PFwvcD5cclxuXHJcbjxwPkVhY2ggdGVhbSB3aWxsIGhhdmUgcGxheWVkIGF0IG1vc3QgMTAwIGdhbWVzIChldmVuIHRob3VnaCB0aGF0IGNhbiBiZSBvbmUgb2YgdGhlIG1pc3NpbmcgZmllbGRzKS48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIGFuIGludGVnZXIgTiAoMSAmbGU7IE4gJmxlOyAxMDAwKSwgdGhlIG51bWJlciBvZiB0ZWFtcyBpbiB0aGUgbGVhZ3VlLiZuYnNwOzxcL3A+XHJcblxyXG48cD5FYWNoIG9mIHRoZSBmb2xsb3dpbmcgTiBsaW5lcyBjb250YWlucyB0aGUgNSBmaWVsZHMgZm9yIG9uZSB0ZWFtIHNlcGFyYXRlZCBieSBzaW5nbGUgc3BhY2VzLCBjb250YWluaW5nIHRoZSA1IHBpZWNlcyBvZiBkYXRhIGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJvYmxlbSBzdGF0ZW1lbnQuIEVhY2ggZmllbGQgY29udGFpbnMgYW4gaW50ZWdlciAoYXQgbGVhc3QgMCksIG9yIHRoZSBjaGFyYWN0ZXIgJiMzOTs/JiMzOTsgKHF1ZXN0aW9uIG1hcmspIGlmIHRoZSB2YWx1ZSBpcyBub3Qga25vd24uJm5ic3A7PFwvcD5cclxuXHJcbjxwPlRoZSBpbnB1dCB3aWxsIGJlIGNvbnNpc3RlbnQgYW5kIHRoZXJlIHdpbGwgYmUgYSB1bmlxdWUgd2F5IHRvIGRldGVybWluZSB0aGUgdmFsdWVzIG9mIHRoZSBtaXNzaW5nIGZpZWxkcy4mbmJzcDs8XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5PdXRwdXQgdGhlIHRhYmxlIHdpdGggdGhlIG1pc3NpbmcgZmllbGRzIGZpbGxlZCBpbi48XC9wPlxyXG5cclxuPHA+Tm90ZTogRm9yIGVhY2ggdGVzdCBjYXNlLCB5b3VyIHByb2dyYW0gd2lsbCByZWNlaXZlIGEgc2NvcmUgbGluZWFybHkgcHJvcG9ydGlvbmFsIHRvIHRoZSBudW1iZXIgb2YgY29ycmVjdGx5IHNvbHZlZCB0ZWFtcywgcm91bmRlZCBkb3duLiBJZiB5b3VyIHByb2dyYW0gZXhjZWVkcyB0aGUgdGltZSBsaW1pdCBvciBhbm90aGVyIGVycm9yIG9jY3VycywgdGhlIHNjb3JlIGZvciB0aGF0IHRlc3QgY2FzZSB3aWxsIGJlIDAuJm5ic3A7PFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==

출처

Contest > Croatian Open Competition in Informatics > COCI 2006/2007 > Contest #5 4번