Goran מחלים מניתוח בברך ועורך ניסויים בכרטיס חכם המשמש לאחסון מפתחות הצפנה. בבעיה זו, מפתח הוא מחרוזת סיביות באורך $3n$, כאשר $n$ הוא מספר שלם חיובי. סיביות המפתח ממוספרות באמצעות המספרים השלמים מ-$1$ עד $3n$, משמאל לימין. משקלו של מפתח הוא מספר זוגות הסיביות הסמוכות השונות זו מזו, בתוספת אחת. לדוגמה, משקלו של המפתח 000 הוא $1$, ואילו משקלו של המפתח 011010100 הוא $7$.
הוא גילה שביכולתו לשבש את המפתח באמצעות שליחת פולסים חשמליים קטנים דרך מעגלי הכרטיס החכם. בפרט, הוא יכול לבצע באופן אמין את הפעולה הבאה: לבחור שתי סיביות סמוכות כלשהן במפתח ולהפוך את שתיהן. לדוגמה, פעולה אחת יכולה לשנות את המפתח 000 ל-110.
בהינתן מפתח באורך $3n$, מצאו רצף כלשהו של לכל היותר $n$ פעולות שהופך את המפתח הנתון למפתח שמשקלו לפחות $2n$. ניתן להניח שתמיד קיים פתרון.
קלט
השורה הראשונה מכילה מחרוזת המורכבת מהספרות 0 ו-1 — המפתח ההתחלתי. אורך המפתח הוא $3n$, כאשר $n$ הוא מספר שלם חיובי המקיים $1 \le n \le 100\,000$.
פלט
השורה הראשונה צריכה להכיל מספר שלם $m$ המקיים $0 \le m \le n$ — מספר הפעולות בפתרון שלכם. השורה הבאה צריכה להכיל $m$ מספרים שלמים $a_1,a_2,\ldots,a_m$ המתארים את הפתרון. המספר $a_k$ הוא האינדקס של הסיבית השמאלית מבין שתי הסיביות שהופכים בצעד ה-$k$.
אם משקלו של המפתח ההתחלתי כבר לפחות $2n$, אפשר להדפיס רק את המספר השלם 0.
דוגמאות
קלט 1
000000000
פלט 1
3 2 5 6
קלט 2
111001000111
פלט 2
2 3 9
קלט 3
010101
פלט 3
0