1390: 刻章

内存限制:128 MB 时间限制:1.000 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述

    苏苏的每一位老师都有一个英文名字。假设他们的英文名字都由两部分组成,前一部分是名,后一部分是姓。比如 Jack Zhang 就是一位老师的英文名字,其中 Jack 是名,Zhang 是姓。我们暂且称每一部分为一个单词。
    苏苏最近迷上了刻章,他准备以所有老师的英文名字来刻章,他决定一个单词刻一个章,相同单词只刻一个。现在给出老师人数及每个老师的英文名字,请你求出苏苏至少要刻多少个章,并按字典序从小到大输出这些章上的单词。

输入格式

    第一行,一个正整数 n,代表老师的人数。
    接下来 n 行,每行一个英文名字,前一部分是名,后一部分是姓,中间用空格分隔。
    英文名字仅由大写字母和小写字母组成。

输出格式

    第一行,一个正整数,代表需要雕刻的章的数目。
    第二行,若干个单词,相邻两个单词之间用一个空格分隔,代表按字典序从小到大排好序的所有章上的单词。

输入样例 复制

3
Jack Li 
Jack Zhang 
Fang Ling

输出样例 复制

5
Fang Jack Li Ling Zhang

数据范围与提示

数据范围:
    对于 60%的数据,1≤n≤1000,1≤单词长度≤10 。
    对于 100%的数据,1≤n≤105,1≤单词长度≤10 。