禁止复读
题号:NC54602
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛是苏州大学icpc群的管理,他最讨厌的就是复读机,因此他决定将所有发起复读的人(即连续第二个说同一句话的人,若是一个人连续发同一句话发了两遍则该人也是发起复读的人)都禁言,牛牛今天白天没有时间看群,晚上他看到了今天全部的聊天记录,但是数据实在是太多了,你能帮他看一看需要禁言哪些人吗?

输入描述:

第一行输入为n和m,,n表示群里的人数(有些人可能没说过话),m表示聊天记录条数,聊天记录的时间顺序就是输入顺序
第2行到第m+1行为聊天记录,每行为一个数字p和一个字符串s,p表示发言的人的编号,s表示这个人说的话
,保证s只由小写字母组成

输出描述:

第一行输出一个数k, 表示被禁言的人数

第二行从小到大用空格隔开输出k个数,表示被禁言的人的编号(如果k=0则输出空行)
示例1

输入

复制
5 5
1 soochow
2 soochow
3 soochow
4 university
4 university

输出

复制
2
2 4

说明

2复读了1说的话发起了'soochow'的复读,3并没有发起复读,4一个人发起了'university'的复读,因此2和4将被禁言
示例2

输入

复制
4 8
1 welcome
2 to
1 the
3 welcome
4 soochow
1 soochow
4 university
1 university

输出

复制
1
1

说明

只有1会被禁言