만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

신촌 통폐합 계획

면접 대비

시간 제한2초메모리 제한1024 MB

요약
N개의 문자열과 한 문자열을 다른 문자열 뒤에 이어 붙이고 비우는 순서가 주어질 때, 최종 문자열을 출력합니다.
난이도

보통10점 중 5점

유형
연결 리스트, 문자열, 유니온 파인드
정답자
아직 제출이 없습니다

문제

극단적인 출산율 감소로 신촌 지역의 NN개 대학교가 하나의 학교로 통합되었다.

긴 회의 끝에 통합 학교의 이름은 NN개 대학교의 이름을 이어 붙여서 정해졌다. 회의에서 이름을 정한 방법은 다음과 같다.

NN개 대학교의 이름 s1,s2,⋯ ,sNs_1, s_2, \cdots, s_N을 일렬로 나열한다. 그다음 아래 과정을 N−1N - 1번 반복한다.

  1. sis_i와 sjs_j가 모두 빈 문자열이 아닌, 서로 다른 두 정수 i,ji, j를 고른다.
  2. sis_i의 뒤에 sjs_j를 이어 붙인다.
  3. sjs_j를 빈 문자열로 바꾼다.

모든 과정이 끝나면 빈 문자열이 아닌 sks_k가 하나 남는다. 이 sks_k가 통합 학교의 이름이 된다.

NN개 대학교의 이름 s1,s2,⋯ ,sNs_1, s_2, \cdots, s_N과 회의에서 순서대로 고른 i,ji, j가 주어질 때, 회의에서 정해진 통합 학교의 이름을 구하는 프로그램을 작성하시오.

입력

첫 번째 줄에 대학교의 개수 NN이 주어진다. (2≤N≤500 0002 \leq N \leq 500\,000)

다음 NN개 줄의 ii번째 줄에는 알파벳 소문자로 이루어진 대학교 이름 sis_i가 주어진다. 주어지는 대학교 이름의 길이 합은 500 000500\,000을 넘지 않는다.

다음 N−1N - 1개 줄에는 회의에서 고른 i,ji, j가 공백을 사이에 두고 차례로 주어진다. (1≤i,j≤N1 \leq i, j \leq N, i≠ji \neq j)

주어진 순서대로 회의를 진행하면 sis_i와 sjs_j는 항상 빈 문자열이 아니다.

출력

첫 번째 줄에 회의를 통해 정해진 통합 학교의 이름을 출력한다.

예제1

  1. 예제 1

    입력
    5
    sogang
    sookmyung
    yonsei
    ewha
    hongik
    2 3
    1 2
    4 5
    1 4
    
    예상 출력
    sogangsookmyungyonseiewhahongik