4655 - Clan

有这么一个人叫做农民王 Q,他有一个家谱,现在他在想自己和上古农民王 U 到底有 多大的关系, 关系式中有这么些个亲戚: “father, mother, son, daughter, husband, wife, brother, sister, grandfather, grandmother, grandson, granddaughter, uncle, aunt, nephew, niece” 中文意思分别是: “父亲,母亲,儿子,女儿,丈夫,妻子,兄弟,姐妹,爷爷,奶奶,孙子,孙女,叔 叔,阿姨,侄儿,侄女“ 对于亲戚关系,满足以下几点:

  1. Q 的兄弟等同于 Q 的父亲的或者母亲的儿子( Q 自己除外);
  2. Q 的爷爷等同于 Q 的父亲的或者母亲的父亲;
  3. Q 的孙子等同于 Q 的儿子的或者女儿的儿子;
  4. Q 的叔叔等同于 Q 的父亲的或者母亲的兄弟;
  5. Q 的侄儿等同于 Q 的兄弟的或者姐妹的儿子;
  6. 上述规则对于姐妹,奶奶,孙女,阿姨和侄女类似。 血缘关系的定义如下:
  7. Q 到 Q 的父亲, Q 的母亲, Q 的儿子或者 Q 的女儿的距离为 1;
  8. Q 到 Q 的丈夫(妻子)的距离为 0;
  9. Q 到 U 的距离等于在上述规则下推断出的 Q 到 U 的最短距离。 由于一条关系会出现很多种情况,所以农民王想知道他跟上古农民王的血缘关系距 离究竟有多少种?分别是多少?请你帮帮他好吗? 注明: 不会出现的关系包括收养,亲戚间结婚(家族树中无环),离婚,复婚,重婚, 同性恋等。

Input

第 1 行包括一个字符串表示氏族谱图上的关系式,格式如下: Q is U’s relation’s relation’s … relation 设关系式中出现的亲戚关系总个数为 l 100% 0 <= l <= 100, 不保证一定存在一种情况满足关系式

Output

第 1 行一个整数 c,表示一共有多少种情况 第 2 行 c 个数,表示每种情况的距离,空格隔开,按升序输出

Examples

Input

Q is U's father's brother's son's aunt

Output

2
3 5
Time Limit 1 second
Memory Limit 128 MB
Stats
上一题 下一题