printРабочее место участника

printЗадачи

1257. Bureaucracy

Ограничения: время – 3s/6s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Long ago, in a kingdom far, far away the king decided to keep a record of all laws of his kingdom. From that moment whenever a new law was passed, a corresponding record was added to the law archive.
Many centuries later lawyers discovered that there were only two types of laws in the kingdom:
  • direct law, that states a new norm;
  • canceling law, that cancels one of the previous laws.
The law is considered active if and only if there is no active law that cancels it.
You are to write program that finds out which laws are still active.
Input
The first line of the input file contains an integer number `n` (`1\ ≤\ n\ ≤\ 100\ 000`) – the number of passed laws.
The following `n` lines describe one law each. Each description has one of the following formats:
  • "declare", meaning that a direct law was passed.
  • "cancel `i`", where `i` is the number of law being cancelled by this one.
The laws are numbered from one.
Output
The first line of the output file must contain the number of active laws. Following lines must contain numbers of these laws listed in increasing order.

Sample Input

5
declare
cancel 1
declare
cancel 2
cancel 3

Sample Output

3
1 4 5
Source: ACM ICPC NEERC Northern Subregional 2009
loading