새 언어의 알파벳 순서

면접 대비

시간 제한1초메모리 제한128 MB

요약
정렬된 단어 목록을 보고 알 수 없는 알파벳 순서를 복원하되, 순서가 없으면 !를, 여러 개면 ?를 출력합니다.
난이도

보통10점 중 6점

유형
위상 정렬, 그래프, 문자열
정답자
아직 제출이 없습니다

문제

어떤 언어는 영어 소문자 알파벳을 사용하지만, 사전순은 일반적인 영어 알파벳 순서와 다르다.

이 언어의 사전순으로 이미 정렬된 단어 목록이 주어진다. 주어진 단어들에 등장하는 서로 다른 문자의 순서를 구하라.

입력

첫째 줄에 단어의 개수 N (N <= 100)이 주어진다. 다음 N개 줄에는 단어가 한 줄에 하나씩 주어진다.

각 단어의 길이는 최대 10이며, 영어 소문자로만 이루어져 있다.

출력

입력 단어들에 등장하는 서로 다른 문자의 알파벳 순서를 출력한다.

올바른 순서가 없다면 !를 출력한다. 가능한 순서가 두 개 이상이라면 ?를 출력한다.

예제3

  1. 예제 1

    입력
    5
    ula
    uka
    klua
    kula
    al
    
    예상 출력
    luka
    
  2. 예제 2

    입력
    4
    jaja
    baba
    baja
    beba
    
    예상 출력
    !
    
  3. 예제 3

    입력
    3
    marko
    darko
    zarko
    
    예상 출력
    ?