Farmer John רוצה עוד קישוטים לבית. בחנות חרסינה הוא מוצא פסלון פרה עדין מזכוכית ומחליט לקנותו למדף שמעל האח.
הצורה מתוארת ברשת $N \times M$ תווים ($3 \leq N, M \leq 500$), כמו למטה. אותיות קטנות הן חלקי הפסלון בצבעים שונים, ו־. אינם חלק ממנו.
............... ............... x..x........... xxxx........... xxxxaaaaaaa... .xx.aaaaaaaaa.. ....aaaaaaa.aa. ....ll...ll.... ....vv...vv.... ...............
לפני הקנייה שור רץ בחנות ושובר את הפסלון ועוד חפצי זכוכית רבים על המדפים! הפסלון נשבר ל־3 חלקים שנעלמו בין $K$ חלקים על הרצפה ($4 \leq K \leq 100$). כל אחד מ־$K$ החלקים מתואר ברשת כמו המקור.
ספרו את הקבוצות של 3 חלקים מתוך $K$ שאפשר להדביק כדי לתקן את הפסלון.
החלקים עשויים להיות הפוכים אנכית או אופקית או מסובבים בכפולה של 90 מעלות. בהינתן המקור ו־$K$ רשתות החלקים, מצאו קבוצות של 3 שיוצרות את המקור, תוך התרת הזזות, היפוכים וסיבובים בכפולות של 90 מעלות. בחפיפה, 3 החלקים חייבים ליצור בדיוק את המקור, וכל משבצת צבעונית בו מיוצגת בחלק אחד בדיוק.
קלט
השורה הראשונה מכילה $K$. אחריה $K + 1$ תיאורים: הראשון של הפסלון המקורי, ו־$K$ הבאים של החלקים.
כל תיאור מתחיל בשלמים $R$ ו־$C$ ($1 \le R, C \le 100$). $R$ השורות הבאות מכילות $C$ אותיות קטנות המתארות צבעים. כל חלק קשיר בשכנות אופקית או אנכית ויש בו לפחות משבצת לא ריקה אחת.
פלט
הדפיסו את מספר השלשות $i, j, k$ ($i < j < k$) שבהן החלקים $i$, $j$ ו־$k$ יכולים ליצור את הפרה המקורית.
דוגמאות
קלט 1
5 5 5 aaaaa ..a.. bbabb ..a.. aaaaa 3 5 ..abb ..a.. aaaaa 5 2 a. a. aa a. a. 1 2 bb 1 5 bbabb 2 5 aaaaa ..a..
פלט 1
3
הסבר
שלושת הפתרונות משתמשים ב־$(0, 1, 2)$, ב־$(0, 2, 4)$ וב־$(1, 3, 4)$.
מגבלת הזמן היא 6 שניות לכל מקרה בדיקה, וכפולה להגשות Java ו־Python.
מחבר הבעיה: Brian Dean