Coding is the closest thing we have to superpower !

3481 : 字符串-练习-构建防火墙
描述

现在要建立有效的防火墙,阻止用户访问特定的网站。

防火墙可以访问N个网站,其中一些是需要被屏蔽的。网站的名字仅包含小写英文字母。

防火墙的屏蔽功能通过若干过滤器实现。一个过滤器是一个字符串,它可以屏蔽所有名字以该字符串作为前缀的网站。

你需要最小化过滤器的串长之和,使得防火墙可以屏蔽所有应当被屏蔽的网站,但不会屏蔽掉不该被屏蔽的网站。

输入

输入的第一行包含一个整数N(1 \le N \le 1 \cdot 10^5),代表网络中的网站数。

接下来N行,每行描述一个网站。每行包含一个字符C和一个字符串S,其中C代表网站的状态,S代表网站的名字。

如果C是‘+’则代表网站不应当被屏蔽;如果C是‘-’,则代表网站应当被屏蔽。

所有网站为非空字符串。

输入字符串的长度\le 10

任意两个网站的名字不同。

输出

如果不存在满足要求的过滤器,则输出一行-1。

否则,首先输出一个整数K,代表使用的过滤器的数量。

接下来输出K行,每行包含一个字符串,代表过滤器。

请按照字典序输出这些过滤器。

样例

输入

4
- codeforces
+ codechef
- youtube
+ google

输出

2
codef
y
标签
语言:
主题: