[490A] Equipo de las olimpiadas
tiempo límite por test | 1 segundo |
memoria límite por test | 256 MB |
entrada | entrada estándar |
salida | salida estándar |
La Escuela Nº0 de la capital de Berland cuenta con niños estudiando en ella. Todos los niños de esta escuela tienen algún talento: algunos son buenos programando, algunos en matemáticas, y otros en educación física. Para cada niño conocemos un valor que describe su talento:
- , si el i-ésimo niño es bueno en programación
- , si el i-ésimo niño es bueno en matemáticas
- , si el i-ésimo niño es bueno en educación física
Cada niño tiene talento exactamente en sólo una de estas áreas.
Las Olimpiadas Científicas por Equipos exigen equipos de tres estudiantes. Los profesores de la escuela decidieron que los equipos estarán compuestos de tres niños que sean buenos en distintos temas. Es decir, que cada equipo debe tener a un matemático, a un programador y a un deportista. Por supuesto, cada niño no puede pertenecer a más de un equipo.
¿Cuál es el número máximo de equipos que la escuela será capaz de presentar en las Olimpiadas? y ¿Cómo deben estar formados los equipos para eso?
Entrada
La primera línea contiene un entero () - el número de niños en la escuela. La segunda línea contiene enteros (), donde describe la habilidad del i-ésimo niño.
Salida
En la primera línea imprime un entero - el mayor número posible de equipos.
Luego imprime líneas, cada una conteniendo tres números, con los índices de los niños que forman uno de los equipos. Puedes imprimir tanto los equipos como los índices de los estudiantes en cualquier orden. Lo niños están numerados de según su orden de aparición en la entrada. Cada niño debe pertenecer a lo más a un equipo. Si hay varias soluciones, imprime cualquiera.
Si no se puede formar ningún equipo, imprime una sóla línea con un 0.
Ejemplos
input:
7
1 3 1 3 2 1 2
output:
2
3 5 2
6 7 4
input:
4
2 1 1 2
output:
0