C - Carretillas

Languages: C, C++, Java, Tiger, Python, Pascal, JavaScript, Haskell, C#
Time & Memory limits: (details)

Un número de carretillas de tiendas llenas con explosivos están sobre un sistema de coordenadas moviéndose en una de las cuatro direcciones principales ( up, down, left, right ). Todas las carretillas se están moviendo a una velocidad de una unidad por segundo . El movimiento es continuo, por ejemplo: en un tercio de segundo una carretilla viaja un tercio de una  unidad.  Cuando dos o más carretillas colisionan (están en el mismo lugar en el mismo tiempo), hay una explosión y  todas las carretillas que toman parte en la explosión dejan de existir. Escriba un programa que, dadas los puntos iniciales y las direcciones del movimiento de todas las carretillas, determine cuáles carretillas nunca estallan.

Input

La primera línea de la entrada contiene un entero N (2 ≤ N ≤ 500), el número de carretillas. Cada una de las siguientes N líneas contienen dos enteros y una cadena. Cada par de enteros describe las coordenadas de inicio de una carretilla (entre 0 y 100 000 000, inclusive), y la cadena describe la dirección en la  cual las carretillas se mueven. Dos carretillas no comienzan en la misma coordenada.

Output

Se escribirán los índices de todas las carretillas las cuales nunca explotan, ordenados ascendentemente, un índice por línea. La primera carretilla de la entrada está identificada por 1, la segunda por 2, etc. Si no hay  carretillas que sobrevivan, escribir "none".

Sample test(s)

Input
4 5 5 down 5 6 left 5 7 right 5 8 up
Output
1 2 3 4
Input
5 3 3 down 1 1 right 5 1 left 100000 500000 right 900000 500000 left
Output
none
Input
3 10 0 up 0 10 right 15 5 left
Output
2