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

문제

알고스팟어는 알고스팟 커뮤니티에서 사용하는 언어다. 이 언어는 영어 알파벳을 사용하지만, 영어와 알파벳 순서는 다르다.

알고스팟어의 알파벳 사전 순으로 정렬되어 있는 단어의 목록이 주어졌을 때, 알고스팟어의 알파벳 순서를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 단어의 개수 N (N ≤ 100)이 주어진다. 다음 N개 줄에는 알고스팟어 단어가 하나씩 주어진다. 단어의 길이는 최대 10이며, 소문자로만 이루어져 있다.

출력

첫째 줄에 알고스팟어의 알파벳 순서를 출력한다. 만약, 올바른 순서가 없다면 "!"를, 가능한 순서가 두 개 이상이라면 "?"를 출력한다.

예제 입력 1

5
ula
uka
klua
kula
al

예제 출력 1

luka

예제 입력 2

4
jaja
baba
baja
beba

예제 출력 2

!

예제 입력 3

3
marko
darko
zarko

예제 출력 3

?
W3sicHJvYmxlbV9pZCI6IjI4NDgiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM1NGNcdWFjZTBcdWMyYTRcdWQzMWZcdWM1YjQiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzU0Y1x1YWNlMFx1YzJhNFx1ZDMxZlx1YzViNFx1YjI5NCBcdWM1NGNcdWFjZTBcdWMyYTRcdWQzMWYgXHVjZWU0XHViYmE0XHViMmM4XHVkMmYwXHVjNWQwXHVjMTFjIFx1YzBhY1x1YzZhOVx1ZDU1OFx1YjI5NCBcdWM1YjhcdWM1YjRcdWIyZTQuIFx1Yzc3NCBcdWM1YjhcdWM1YjRcdWIyOTQgXHVjNjAxXHVjNWI0IFx1YzU0Y1x1ZDMwY1x1YmNiM1x1Yzc0NCBcdWMwYWNcdWM2YTlcdWQ1NThcdWM5YzBcdWI5Y2MsIFx1YzYwMVx1YzViNFx1YzY0MCBcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMjFjXHVjMTFjXHViMjk0IFx1YjJlNFx1Yjk3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNTRjXHVhY2UwXHVjMmE0XHVkMzFmXHVjNWI0XHVjNzU4IFx1YzU0Y1x1ZDMwY1x1YmNiMyBcdWMwYWNcdWM4MDQgXHVjMjFjXHVjNzNjXHViODVjIFx1YzgxNVx1YjgyY1x1YjQxOFx1YzViNCBcdWM3ODhcdWIyOTQgXHViMmU4XHVjNWI0XHVjNzU4IFx1YmFhOVx1Yjg1ZFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWM1NGNcdWFjZTBcdWMyYTRcdWQzMWZcdWM1YjRcdWM3NTggXHVjNTRjXHVkMzBjXHViY2IzIFx1YzIxY1x1YzExY1x1Yjk3YyBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHViMmU4XHVjNWI0XHVjNzU4IFx1YWMxY1x1YzIxOCBOIChOICZsZTsgMTAwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjJlNFx1Yzc0YyBOXHVhYzFjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWM1NGNcdWFjZTBcdWMyYTRcdWQzMWZcdWM1YjQgXHViMmU4XHVjNWI0XHVhYzAwIFx1ZDU1OFx1YjA5OFx1YzUyOSBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjJlOFx1YzViNFx1Yzc1OCBcdWFlMzhcdWM3NzRcdWIyOTQgXHVjZDVjXHViMzAwIDEwXHVjNzc0XHViYTcwLCBcdWMxOGNcdWJiMzhcdWM3OTBcdWI4NWNcdWI5Y2MgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YzU0Y1x1YWNlMFx1YzJhNFx1ZDMxZlx1YzViNFx1Yzc1OCBcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMjFjXHVjMTFjXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViOWNjXHVjNTdkLCBcdWM2MmNcdWJjMTRcdWI5NzggXHVjMjFjXHVjMTFjXHVhYzAwIFx1YzVjNlx1YjJlNFx1YmE3NCAmcXVvdDshJnF1b3Q7XHViOTdjLCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVjMjFjXHVjMTFjXHVhYzAwIFx1YjQ1MCBcdWFjMWMgXHVjNzc0XHVjMGMxXHVjNzc0XHViNzdjXHViYTc0ICZxdW90Oz8mcXVvdDtcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjI4NDgiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJBQkVDRURBIiwiZGVzY3JpcHRpb24iOiI8cD5BIGxpc3Qgb2Ygd29yZHMgd3JpdHRlbiBpbiBzb21lIHVua25vd24gYWxwaGFiZXQgd2FzIGZvdW5kLiBJdCBpcyBrbm93biwgaG93ZXZlciwgdGhhdCB0aGVzZSB3b3JkcyBhcmUgaW4gYWxwaGFiZXRpYyBvcmRlci48XC9wPlxyXG5cclxuPHA+V3JpdGUgYSBwcm9ncmFtIHRoYXQgd2lsbCBmaW5kIHRoZSB1bmlxdWUgYWxwaGFiZXRpYyBvcmRlcmluZyBvZiB1c2VkIGxldHRlcnMsIG9yIGRldGVybWluZSB0aGF0IG5vIHN1Y2ggb3JkZXJpbmcgZXhpc3RzIG9yIHRoYXQgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBzb2x1dGlvbi48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIGlucHV0IGNvbnRhaW5zIGEgcG9zaXRpdmUgaW50ZWdlciBOIChOICZsZTsgMTAwKSwgdGhlIG51bWJlciBvZiB3b3Jkcy48XC9wPlxyXG5cclxuPHA+VGhlIGZvbGxvd2luZyBOIGxpbmVzIGNvbnRhaW4gdGhlIGxpc3Qgb2Ygd29yZHMgZm91bmQsIG9uZSB3b3JkIHBlciBsaW5lLiBFYWNoIHdvcmQgY29uc2lzdHMgb2YgYXQgbW9zdCAxMCBsb3dlcmNhc2UgbGV0dGVycy48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5UaGUgZmlyc3QgYW5kIG9ubHkgbGluZSBvZiBvdXRwdXQgc2hvdWxkIGNvbnRhaW4gYWxsIGxldHRlcnMgaW4gYWxwaGFiZXRpYyBvcmRlci4gSWYgbm8gc3VjaCBvcmRlcmluZyBleGlzdHMsIG91dHB1dCAmbHNxdW87ISZyc3F1bzsuIElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgc29sdXRpb24sIG91dHB1dCAmbHNxdW87PyZyc3F1bzsuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==

출처

Contest > Croatian Open Competition in Informatics > COCI 2010/2011 > Contest #6 4번