היה היה ילד בשם Kino, שאהב מאוד לטייל וביקר במקומות מוזרים רבים. יום אחד הגיע לגשר וגילה שעליו חונות מכוניות רבות בעלות גג נפתח. למרבה הצער, הגשר היה צר ויכול היה להכיל לרוחבו רק מכונית אחת. המכוניות שעל הגשר לא פינו דרך זו לזו, ולכן המכוניות שהגיעו משני הכיוונים נתקעו יחד ולא יכלו לעבור.
לאחר מכן הוסיף בונה הגשר אפשרות חדשה: לסובב קטע כלשהו של הגשר ב־$180$ מעלות, כך שחזיתן ואחוריהן של המכוניות שבקטע יחליפו כיוון, כמתואר באיור הבא:
איור 1. סיבוב המכוניות 321 יוצר את הסדר 123.
כמתואר באיור, המכוניות בסדר $3,2,1$ פגשו על הגשר את המכוניות $4,5$ ויצרו פקק. אפשר לסובב את הקטע של $3,2,1$, ואז סדר המכוניות על הגשר הופך ל־$1,2,3,4,5$ וגם כיוון נסיעתן אחיד, כך שהן יכולות לרדת מהגשר. כמובן, זו רק דוגמה פשוטה; המצב על הגשר האמיתי מסובך הרבה יותר, ונדרשים סיבובים רבים כדי להגיע לסדר $1,2,3,4,5$.
אולם לאחר שתכנן את הגשר, גם המתכנן יצא לטייל, ואף אחד מהתושבים שנותרו לא ידע להפעיל את הגשר הקסום. לכן מצב המכוניות על הגשר נעשה מבולגן יותר ויותר, עד שלבסוף הגיע למצב הנוכחי. כדי לחצות את הגשר מצא Kino לידו את מתקן הבקרה ואת ספר ההוראות, וגילה מחדש כיצד להפעילו. בעזרת התושבים שבסביבה הצליח לסדר את המכוניות על הגשר בסדר $1,2,3,\ldots$, כשכולן פונות לאותו כיוון. האם אתם יודעים כיצד עשה זאת?
קלט
זוהי משימה שבה מגישים קובצי תשובות. קובצי הקלט convertible1.in עד convertible10.in כבר נמצאים בתיקיית המשתמש. השורה הראשונה בכל קובץ קלט מכילה את מספר המכוניות שעל הגשר, $n$, ומספרי המכוניות הם $1,2,\ldots,n$. השורה השנייה מתארת את מיקומי המכוניות וכיווניהן על הגשר באמצעות סדרה של $+i$ או $-i$. הערך $-i$ במקום ה־$j$ מציין שמכונית $i$ נמצאת במקום ה־$j$ על הגשר ופונה ימינה; הערך $+i$ במקום ה־$j$ מציין שמכונית $i$ נמצאת במקום ה־$j$ ופונה שמאלה.
פלט
יש לשים את קובצי הפלט convertible1.out עד convertible10.out בתיקיית המשתמש, ואין צורך להגיש תוכנית. השורה הראשונה בקובץ הפלט מכילה את מספר הסיבובים $m$. כל אחת מ־$m$ השורות הבאות מתארת סיבוב אחד, באמצעות מיקום הגבול השמאלי ומיקום הגבול הימני. הפלט שלכם חייב להבטיח שהסדרה הסופית תהיה $1,2,3,\ldots,n$, ולא $-1,-2,-3,\ldots,-n$ או סדרה אחרת.
דוגמאות
קלט 1
5 -3 -2 -1 4 5
פלט 1
1 1 3
ניקוד
הניקוד המרבי לכל מקרה בדיקה הוא $10$ נקודות. הניקוד תלוי ביחס שבין איכות התשובה שלכם לאיכות תשובת הייחוס.
כיצד לבדוק את התוכנית שלכם
למשימה מצורף בודק קובצי פלט בשם convertible_c. מפעילים אותו כך:
#./convertible_c 3
פקודה זו בודקת אם convertible3.out תקין.