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

문제

젊은 제다이 이반의 임무는 데스스타에 침투하여 파괴하는 일이다. 데스스타를 파괴하기 위해서는 길이 N의 음이 아닌 정수 수열 ai가 필요하다. 그러나 이반은 이 수열을 가지고 있지 않다. 대신 그에게는 오랜 친구 다스 베이더에게 받은 쪽지가 하나 있다. 이 쪽지에는 그 수열이 만족해야 하는 조건이 적혀 있다.

이 쪽지에는 크기 N의 정사각 행렬이 있는데, i번째 행 j번째 열에 적힌 숫자는 ai와 aj에 비트연산 and를 수행한 결과값이다. 하지만 안타깝게도 광선검에 의해 쪽지가 손상되었고 이반은 행렬의 주 대각선에 있는 숫자를 읽을 수 없게 되었다. 원래 배열을 재구성하여 임무를 수행해야 하는 이반을 도와주자.

답은 유일하지 않을 수 있지만, 항상 존재하도록 주어진다.

입력

입력의 첫 번째 줄에는 행렬의 크기 N (1 ≤ N ≤ 1 000)이 주어진다.

다음 N개의 줄에는 행렬의 각 원소인 N개의 숫자 mij (1 ≤ mij ≤ 109)가 주어진다.

출력

정확히 한 줄에 문제의 조건을 만족하는 N개의 음이 아닌 정수를 출력한다. 각 정수는 109보다 같거나 작아야 한다. 답이 여러 개인 경우 아무거나 출력한다.

예제 입력 1

3
0 1 1
1 0 1
1 1 0

예제 출력 1

1 1 1

예제 입력 2

5
0 0 1 1 1
0 0 2 0 2
1 2 0 1 3
1 0 1 0 1
1 2 3 1 0

예제 출력 2

1 2 3 1 11

힌트

첫 번째 예제에서 [1 1 1]이 조건을 만족함은 쉽게 알 수 있다. 이것이 유일한 답은 아니다.

W3sicHJvYmxlbV9pZCI6IjExODExIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViMzcwXHVjMmE0XHVjMmE0XHVkMGMwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWM4MGFcdWM3NDAgXHVjODFjXHViMmU0XHVjNzc0IFx1Yzc3NFx1YmMxOFx1Yzc1OCBcdWM3ODRcdWJiMzRcdWIyOTQgXHViMzcwXHVjMmE0XHVjMmE0XHVkMGMwXHVjNWQwIFx1Y2U2OFx1ZDIyY1x1ZDU1OFx1YzVlYyBcdWQzMGNcdWFkMzRcdWQ1NThcdWIyOTQgXHVjNzdjXHVjNzc0XHViMmU0LiBcdWIzNzBcdWMyYTRcdWMyYTRcdWQwYzBcdWI5N2MgXHVkMzBjXHVhZDM0XHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NFx1YzExY1x1YjI5NCBcdWFlMzhcdWM3NzQgTlx1Yzc1OCBcdWM3NGNcdWM3NzQgXHVjNTQ0XHViMmNjIFx1YzgxNVx1YzIxOCBcdWMyMThcdWM1ZjQgYTxzdWI+aTxcL3N1Yj5cdWFjMDAgXHVkNTQ0XHVjNjk0XHVkNTU4XHViMmU0LiBcdWFkZjhcdWI3ZWNcdWIwOTggXHVjNzc0XHViYzE4XHVjNzQwIFx1Yzc3NCBcdWMyMThcdWM1ZjRcdWM3NDQgXHVhYzAwXHVjOWMwXHVhY2UwIFx1Yzc4OFx1YzljMCBcdWM1NGFcdWIyZTQuIFx1YjMwMFx1YzJlMCBcdWFkZjhcdWM1ZDBcdWFjOGNcdWIyOTQgXHVjNjI0XHViNzljIFx1Y2U1Y1x1YWQ2YyBcdWIyZTRcdWMyYTQgXHViY2EwXHVjNzc0XHViMzU0XHVjNWQwXHVhYzhjIFx1YmMxYlx1Yzc0MCBcdWNhYmRcdWM5YzBcdWFjMDAgXHVkNTU4XHViMDk4IFx1Yzc4OFx1YjJlNC4gXHVjNzc0IFx1Y2FiZFx1YzljMFx1YzVkMFx1YjI5NCBcdWFkZjggXHVjMjE4XHVjNWY0XHVjNzc0IFx1YjljY1x1Yzg3MVx1ZDU3NFx1YzU3YyBcdWQ1NThcdWIyOTQgXHVjODcwXHVhYzc0XHVjNzc0IFx1YzgwMVx1ZDYwMCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc3NCBcdWNhYmRcdWM5YzBcdWM1ZDBcdWIyOTQgXHVkMDZjXHVhZTMwIE5cdWM3NTggXHVjODE1XHVjMGFjXHVhYzAxIFx1ZDU4OVx1YjgyY1x1Yzc3NCBcdWM3ODhcdWIyOTRcdWIzNzAsIGlcdWJjODhcdWM5ZjggXHVkNTg5IGpcdWJjODhcdWM5ZjggXHVjNWY0XHVjNWQwIFx1YzgwMVx1ZDc4YyBcdWMyMmJcdWM3OTBcdWIyOTQgYTxzdWI+aTxcL3N1Yj5cdWM2NDAgYTxzdWI+ajxcL3N1Yj5cdWM1ZDAgXHViZTQ0XHVkMmI4XHVjNWYwXHVjMGIwIGFuZFx1Yjk3YyBcdWMyMThcdWQ1ODlcdWQ1NWMgXHVhY2IwXHVhY2ZjXHVhYzEyXHVjNzc0XHViMmU0LiBcdWQ1NThcdWM5YzBcdWI5Y2MgXHVjNTQ4XHVkMGMwXHVhZTVkXHVhYzhjXHViM2M0IFx1YWQxMVx1YzEyMFx1YWM4MFx1YzVkMCBcdWM3NThcdWQ1NzQgXHVjYWJkXHVjOWMwXHVhYzAwIFx1YzE5MFx1YzBjMVx1YjQxOFx1YzVjOFx1YWNlMCBcdWM3NzRcdWJjMThcdWM3NDAgXHVkNTg5XHViODJjXHVjNzU4IFx1YzhmYyBcdWIzMDBcdWFjMDFcdWMxMjBcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YzIyYlx1Yzc5MFx1Yjk3YyBcdWM3N2RcdWM3NDQgXHVjMjE4IFx1YzVjNlx1YWM4YyBcdWI0MThcdWM1YzhcdWIyZTQuIFx1YzZkMFx1Yjc5OCBcdWJjMzBcdWM1ZjRcdWM3NDQgXHVjN2FjXHVhZDZjXHVjMTMxXHVkNTU4XHVjNWVjIFx1Yzc4NFx1YmIzNFx1Yjk3YyBcdWMyMThcdWQ1ODlcdWQ1NzRcdWM1N2MgXHVkNTU4XHViMjk0IFx1Yzc3NFx1YmMxOFx1Yzc0NCBcdWIzYzRcdWM2NDBcdWM4ZmNcdWM3OTAuPFwvcD5cclxuXHJcbjxwPlx1YjJmNVx1Yzc0MCBcdWM3MjBcdWM3N2NcdWQ1NThcdWM5YzAgXHVjNTRhXHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWM5YzBcdWI5Y2MsIFx1ZDU2ZFx1YzBjMSBcdWM4NzRcdWM3YWNcdWQ1NThcdWIzYzRcdWI4NWQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjNzg1XHViODI1XHVjNzU4IFx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1ZDU4OVx1YjgyY1x1Yzc1OCBcdWQwNmNcdWFlMzAgTiAoMSAmbGU7IE4gJmxlOyAxIDAwMClcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgTlx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVkNTg5XHViODJjXHVjNzU4IFx1YWMwMSBcdWM2ZDBcdWMxOGNcdWM3NzggTlx1YWMxY1x1Yzc1OCBcdWMyMmJcdWM3OTAgbTxzdWI+aWo8XC9zdWI+ICgxICZsZTsgbTxzdWI+aWo8XC9zdWI+ICZsZTsgMTA8c3VwPjk8XC9zdXA+KVx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjODE1XHVkNjU1XHVkNzg4IFx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHViYjM4XHVjODFjXHVjNzU4IFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWI5Y2NcdWM4NzFcdWQ1NThcdWIyOTQgTlx1YWMxY1x1Yzc1OCBcdWM3NGNcdWM3NzQgXHVjNTQ0XHViMmNjIFx1YzgxNVx1YzIxOFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YWMwMSBcdWM4MTVcdWMyMThcdWIyOTQgMTA8c3VwPjk8XC9zdXA+XHViY2Y0XHViMmU0IFx1YWMxOVx1YWM3MFx1YjA5OCBcdWM3OTFcdWM1NDRcdWM1N2MgXHVkNTVjXHViMmU0LiBcdWIyZjVcdWM3NzQgXHVjNWVjXHViN2VjIFx1YWMxY1x1Yzc3OCBcdWFjYmRcdWM2YjAgXHVjNTQ0XHViYjM0XHVhYzcwXHViMDk4IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPiIsImhpbnQiOiI8cD5cdWNjYWIgXHViYzg4XHVjOWY4IFx1YzYwOFx1YzgxY1x1YzVkMFx1YzExYyBbMSAxIDFdXHVjNzc0IFx1Yzg3MFx1YWM3NFx1Yzc0NCBcdWI5Y2NcdWM4NzFcdWQ1NjhcdWM3NDAgXHVjMjdkXHVhYzhjIFx1YzU0YyBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWM3NzRcdWFjODNcdWM3NzQgXHVjNzIwXHVjNzdjXHVkNTVjIFx1YjJmNVx1Yzc0MCBcdWM1NDRcdWIyYzhcdWIyZTQuPFwvcD5cclxuIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIxMTgxMSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkRFQVRIU1RBUiIsImRlc2NyaXB0aW9uIjoiPHA+WW91bmcgamVkaSBJdmFuIGhhcyBpbmZpbHRyYXRlZCBpbiBUaGUgRGVhdGggU3RhciBhbmQgaGlzIHRhc2sgaXMgdG8gZGVzdHJveSBpdC4gSW4gb3JkZXIgdG8gZGVzdHJveSBUaGUgRGVhdGggU3RhciwgaGUgbmVlZHMgYW4gYXJyYXkgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIGE8c3ViPmk8XC9zdWI+IG9mIGxlbmd0aCBOIHRoYXQgcmVwcmVzZW50cyB0aGUgY29kZSBmb3IgaW5pdGlhdGluZyB0aGUgc2VsZi1kZXN0cnVjdGlvbiBvZiBUaGUgRGVhdGggU3Rhci4gSXZhbiBkb2VzbiZyc3F1bzt0IGhhdmUgdGhlIGFycmF5LCBidXQgaGUgaGFzIGEgcGllY2Ugb2YgcGFwZXIgd2l0aCByZXF1aXJlbWVudHMgZm9yIHRoYXQgYXJyYXksIGdpdmVuIHRvIGhpbSBieSBoaXMgZ29vZCBvbGQgZnJpZW5kIERhcnRoIFZhZGVyLjxcL3A+XHJcblxyXG48cD5PbiB0aGUgcGFwZXIsIGEgc3F1YXJlIG1hdHJpeCBvZiB0aGUgc2l6ZSBOIGlzIHdyaXR0ZW4gZG93bi4gSW4gdGhhdCBtYXRyaXggbSBpbiB0aGUgaXRoIHJvdyBhbmQganRoIGNvbHVtbiB0aGVyZSBpcyBhIG51bWJlciB0aGF0IGlzIGVxdWFsIHRvIGJpdHdpc2UgYW5kIGJldHdlZW4gbnVtYmVycyBhPHN1Yj5pPFwvc3ViPiBhbmQgYTxzdWI+ajxcL3N1Yj4uIFVuZm9ydHVuYXRlbHksIGEgbGlnaHRzYWJlciBoYXMgZGVzdHJveWVkIGFsbCB0aGUgZmllbGRzIG9uIHRoZSBtYXRyaXgmcnNxdW87cyBtYWluIGRpYWdvbmFsIGFuZCBJdmFuIGNhbm5vdCByZWFkIHdoYXQgaXMgb24gdGhlc2UgZmllbGRzLiBIZWxwIEl2YW4gdG8gcmVjb25zdHJ1Y3QgYW4gYXJyYXkgZm9yIHRoZSBzZWxmLWRlc3RydWN0aW9uIG9mIFRoZSBEZWF0aCBTdGFyIHRoYXQgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgbWF0cml4LjxcL3A+XHJcblxyXG48cD5UaGUgc29sdXRpb24gZG9lc24mcnNxdW87dCBuZWVkIHRvIGJlIHVuaXF1ZSwgYnV0IHdpbGwgYWx3YXlzIGV4aXN0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgY29udGFpbnMgdGhlIGludGVnZXIgTiAoMSAmbGU7IE4gJmxlOyAxIDAwMCksIHNpemUgb2YgdGhlIG1hdHJpeC48XC9wPlxyXG5cclxuPHA+RWFjaCBvZiB0aGUgZm9sbG93aW5nIE4gbGluZXMgY29udGFpbnMgTiBudW1iZXJzIG08c3ViPmlqPFwvc3ViPiAoMSAmbGU7IG08c3ViPmlqPFwvc3ViPiAmbGU7IDEwPHN1cD45PFwvc3VwPiksIHRoZSBlbGVtZW50cyBvZiB0aGUgbWF0cml4LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlRoZSBmaXJzdCBhbmQgb25seSBsaW5lIG9mIG91dHB1dCBtdXN0IGNvbnRhaW4gYW55IGFycmF5IG9mIE4gbm9uLW5lZ2F0aXZlIGludGVnZXJzIGxlc3MgdGhhbiAxMDxzdXA+OTxcL3N1cD4gdGhhdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgZnJvbSB0aGUgdGFzay48XC9wPlxyXG4iLCJoaW50IjoiPHA+Q2xhcmlmaWNhdGlvbiBvZiB0aGUgZmlyc3QgZXhhbXBsZTogSXQgaXMgY2xlYXIgdGhhdCBvbmUgb2YgdGhlIGFycmF5cyB0aGF0IG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZnJvbSB0aGUgbWF0cml4IGlzIFsxIDEgMV0uIE5vdGljZSB0aGF0IHRoaXMgaXMgbm90IHRoZSBvbmx5IHBvc3NpYmxlIHNvbHV0aW9uLjxcL3A+XHJcbiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==

출처

Contest > Croatian Open Competition in Informatics > COCI 2015/2016 > Contest #4 3번