문제
알고스팟어는 알고스팟 커뮤니티에서 사용하는 언어다. 이 언어는 영어 알파벳을 사용하지만, 영어와 알파벳 순서는 다르다.
알고스팟어의 알파벳 사전 순으로 정렬되어 있는 단어의 목록이 주어졌을 때, 알고스팟어의 알파벳 순서를 구하는 프로그램을 작성하시오.
출력
첫째 줄에 알고스팟어의 알파벳 순서를 출력한다. 만약, 올바른 순서가 없다면 "!"를, 가능한 순서가 두 개 이상이라면 "?"를 출력한다.
W3sicHJvYmxlbV9pZCI6IjI4NDgiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM1NGNcdWFjZTBcdWMyYTRcdWQzMWZcdWM1YjQiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzU0Y1x1YWNlMFx1YzJhNFx1ZDMxZlx1YzViNFx1YjI5NCBcdWM1NGNcdWFjZTBcdWMyYTRcdWQzMWYgXHVjZWU0XHViYmE0XHViMmM4XHVkMmYwXHVjNWQwXHVjMTFjIFx1YzBhY1x1YzZhOVx1ZDU1OFx1YjI5NCBcdWM1YjhcdWM1YjRcdWIyZTQuIFx1Yzc3NCBcdWM1YjhcdWM1YjRcdWIyOTQgXHVjNjAxXHVjNWI0IFx1YzU0Y1x1ZDMwY1x1YmNiM1x1Yzc0NCBcdWMwYWNcdWM2YTlcdWQ1NThcdWM5YzBcdWI5Y2MsIFx1YzYwMVx1YzViNFx1YzY0MCBcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMjFjXHVjMTFjXHViMjk0IFx1YjJlNFx1Yjk3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNTRjXHVhY2UwXHVjMmE0XHVkMzFmXHVjNWI0XHVjNzU4IFx1YzU0Y1x1ZDMwY1x1YmNiMyBcdWMwYWNcdWM4MDQgXHVjMjFjXHVjNzNjXHViODVjIFx1YzgxNVx1YjgyY1x1YjQxOFx1YzViNCBcdWM3ODhcdWIyOTQgXHViMmU4XHVjNWI0XHVjNzU4IFx1YmFhOVx1Yjg1ZFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWM1NGNcdWFjZTBcdWMyYTRcdWQzMWZcdWM1YjRcdWM3NTggXHVjNTRjXHVkMzBjXHViY2IzIFx1YzIxY1x1YzExY1x1Yjk3YyBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHViMmU4XHVjNWI0XHVjNzU4IFx1YWMxY1x1YzIxOCBOIChOICZsZTsgMTAwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjJlNFx1Yzc0YyBOXHVhYzFjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWM1NGNcdWFjZTBcdWMyYTRcdWQzMWZcdWM1YjQgXHViMmU4XHVjNWI0XHVhYzAwIFx1ZDU1OFx1YjA5OFx1YzUyOSBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjJlOFx1YzViNFx1Yzc1OCBcdWFlMzhcdWM3NzRcdWIyOTQgXHVjZDVjXHViMzAwIDEwXHVjNzc0XHViYTcwLCBcdWMxOGNcdWJiMzhcdWM3OTBcdWI4NWNcdWI5Y2MgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YzU0Y1x1YWNlMFx1YzJhNFx1ZDMxZlx1YzViNFx1Yzc1OCBcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMjFjXHVjMTFjXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViOWNjXHVjNTdkLCBcdWM2MmNcdWJjMTRcdWI5NzggXHVjMjFjXHVjMTFjXHVhYzAwIFx1YzVjNlx1YjJlNFx1YmE3NCAmcXVvdDshJnF1b3Q7XHViOTdjLCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVjMjFjXHVjMTFjXHVhYzAwIFx1YjQ1MCBcdWFjMWMgXHVjNzc0XHVjMGMxXHVjNzc0XHViNzdjXHViYTc0ICZxdW90Oz8mcXVvdDtcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjI4NDgiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJBQkVDRURBIiwiZGVzY3JpcHRpb24iOiI8cD5BIGxpc3Qgb2Ygd29yZHMgd3JpdHRlbiBpbiBzb21lIHVua25vd24gYWxwaGFiZXQgd2FzIGZvdW5kLiBJdCBpcyBrbm93biwgaG93ZXZlciwgdGhhdCB0aGVzZSB3b3JkcyBhcmUgaW4gYWxwaGFiZXRpYyBvcmRlci48XC9wPlxyXG5cclxuPHA+V3JpdGUgYSBwcm9ncmFtIHRoYXQgd2lsbCBmaW5kIHRoZSB1bmlxdWUgYWxwaGFiZXRpYyBvcmRlcmluZyBvZiB1c2VkIGxldHRlcnMsIG9yIGRldGVybWluZSB0aGF0IG5vIHN1Y2ggb3JkZXJpbmcgZXhpc3RzIG9yIHRoYXQgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBzb2x1dGlvbi48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIGlucHV0IGNvbnRhaW5zIGEgcG9zaXRpdmUgaW50ZWdlciBOIChOICZsZTsgMTAwKSwgdGhlIG51bWJlciBvZiB3b3Jkcy48XC9wPlxyXG5cclxuPHA+VGhlIGZvbGxvd2luZyBOIGxpbmVzIGNvbnRhaW4gdGhlIGxpc3Qgb2Ygd29yZHMgZm91bmQsIG9uZSB3b3JkIHBlciBsaW5lLiBFYWNoIHdvcmQgY29uc2lzdHMgb2YgYXQgbW9zdCAxMCBsb3dlcmNhc2UgbGV0dGVycy48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5UaGUgZmlyc3QgYW5kIG9ubHkgbGluZSBvZiBvdXRwdXQgc2hvdWxkIGNvbnRhaW4gYWxsIGxldHRlcnMgaW4gYWxwaGFiZXRpYyBvcmRlci4gSWYgbm8gc3VjaCBvcmRlcmluZyBleGlzdHMsIG91dHB1dCAmbHNxdW87ISZyc3F1bzsuIElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgc29sdXRpb24sIG91dHB1dCAmbHNxdW87PyZyc3F1bzsuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==