Había una vez un niño llamado Kino al que le encantaba viajar y que había visitado muchos lugares extraños. Un día llegó junto a un gran puente y descubrió que había muchos coches descapotables detenidos sobre él. Por desgracia, el puente era tan estrecho que solo podía pasar un descapotable a lo ancho. Como los coches no se cedían el paso, los que venían de ambas direcciones quedaron atascados sin poder avanzar.
Más tarde, el constructor añadió una nueva función al puente: hacer girar uno de sus tramos $180$ grados, de modo que los descapotables de ese tramo cambiaran de orientación, como muestra la siguiente figura:
Figura 1. Los descapotables $321$ pasan a formar $123$ después del giro.
Como muestra la figura, los descapotables $321$ se encuentran con los descapotables $45$ sobre el puente y provocan un atasco. En ese momento podemos girar el tramo que contiene $321$: el orden de los coches pasa a ser $12345$ y todos avanzan en la misma dirección, de modo que pueden salir del puente. Naturalmente, este es solo un ejemplo sencillo; en el puente real la situación es mucho más compleja y hacen falta varios giros para obtener una disposición de la forma $12345$.
Sin embargo, después de diseñar el puente, el diseñador también se fue de viaje, y ninguno de los habitantes que quedaron sabía manejar aquel puente mágico. Por eso, el tráfico sobre el puente se volvió cada vez más caótico, hasta que finalmente se llegó a la situación actual. Para cruzar el puente, Kino encontró junto a él los controles y el manual, y volvió a descubrir cómo manejarlo. Con ayuda de los habitantes de los alrededores, consiguió ordenar los descapotables como $1,2,3,\ldots$, todos orientados en la misma dirección. ¿Sabes cómo lo hizo?
Entrada
Esta es una tarea de entrega de archivos de respuesta. Los archivos de entrada de convertible1.in a convertible10.in ya están en el directorio del usuario. La primera línea contiene el número $n$ de descapotables sobre el puente, numerados $1,2,\ldots,n$. La segunda línea describe sus posiciones y orientaciones mediante una secuencia de $+i$ o $-i$. Un $-i$ en la posición $j$ indica que el descapotable $i$ ocupa la posición $j$ del puente y está orientado hacia la derecha; un $+i$ en la posición $j$ indica que el descapotable $i$ ocupa esa posición y está orientado hacia la izquierda.
Salida
Debes colocar los archivos de salida de convertible1.out a convertible10.out en el directorio del usuario; no tienes que entregar un programa. La primera línea contiene el número de giros $m$. Cada una de las siguientes $m$ líneas describe un giro mediante las posiciones de su límite izquierdo y su límite derecho. Tu salida debe garantizar que la secuencia final sea $1,2,3,\ldots,n$, y no $-1,-2,-3,\ldots,-n$ ni ninguna otra.
Ejemplos
Entrada 1
5 -3 -2 -1 4 5
Salida 1
1 1 3
Subtareas
Cada caso de prueba vale un máximo de $10$ puntos. La puntuación depende de la relación entre la calidad de tu respuesta y la de la respuesta de referencia.
Cómo probar tu programa
Esta tarea proporciona el comprobador de datos de salida convertible_c, que se ejecuta de la siguiente manera:
#./convertible_c 3
Esto comprueba si convertible3.out es válido.