시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB92820417128.885%

문제

서울과기대 학생들은 실험을 하다가 처음보는 생물의 유전자를 발견했다. 이 유전자는 형질 두 개로 나타낼 수 있고 형질은 대문자 알파벳으로 나타낼 수 있다. 유전자는 다른 유전자와 조합할 수 있는데, 두 유전자를 조합하면 첫 번째 유전자의 첫 번째 형질과 두 번째 유전자의 두 번째 형질이 붙은 다음 세대 유전자가 생긴다. 유전자의 두 형질에 있는 알파벳 중 사전순으로 같거나 큰 알파벳을 유전자의 표현형이라고 하자.

$N$개의 1세대 유전자가 주어졌을 때 이들은 서로 다른 모든 1세대 유전자들과 조합할 수 있다. 조합을 통해 생긴 2세대 유전자의 표현형으로 가능한 알파벳의 수와 그 알파벳을 구해보자.

입력

첫 번째 줄에 유전자의 개수 $N$이 주어진다. ($2 \le N \le 100\,000$)

두 번째 줄에는 1세대 유전자 $N$개가 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 2세대 유전자의 표현형으로 가능한 알파벳 수를 출력한다.

두 번째 줄에는 2세대 유전자의 표현형을 알파벳 순서대로 정렬 후 공백으로 구분하여 출력한다.

예제 입력 1

3
AB DC XP

예제 출력 1

4
C D P X

AB와 DC를 조합하면 AC가 되고 표현형은 C다.

DC와 AB를 조합하면 DB가 되고 표현형은 D다.

같은 방법으로 6개의 모든 조합을 만들었을 때 가능한 표현형은 C D P X다.