Debug
Κατά τον εντοπισμό σφαλμάτων ενός προγράμματος, ο Mirko παρατήρησε ότι ένα σφάλμα στο πρόγραμμα μπορεί να συνδέεται με την ύπαρξη των λεγόμενων τετράγωνων δολοφόνων στη μνήμη του προγράμματος. Η μνήμη του προγράμματος είναι ένας πίνακας που αποτελείται από γραμμές και στήλες που αποτελείται μόνο από μηδενικά και ένα. Ένας τετράγωνος δολοφόνος είναι ένας τετράγωνος υποπίνκας στη μνήμη, που αποτελείται από περισσότερους από έναν χαρακτήρες, που όταν περιστρέφεται μοίρες φαίνεται ακριβώς το ίδιο. Για παράδειγμα, ο ακόλουθος πίνακας περιέχει τετράγωνους δολοφόνους:
101010 111001 101001 memory |
. . . . 10 . . . . 01 . . . . . . killer |
. . . . . . . . . 00. . . . 00. killer |
101. . . 101. . . 101. . . killer |
Ο Mirko αναρωτιέται αν υπάρχει σχέση μεταξύ του μεγέθους του μεγαλύτερου τετράγωνου δολοφόνου και του σφάλματος στο πρόγραμμα. Βοηθήστε τον Mirko γράφοντας ένα πρόγραμμα που, δεδομένης της διάταξης της μνήμης,εξάγει το μέγεθος του μεγαλύτερου τετράγωνου δολοφόνου. Το μέγεθος του τετράγωνου δολοφόνου είναι ο αριθμός των γραμμών (ή στήλων) που ο δολοφόνος αποτελείται από. Στο παραπάνω παράδειγμα τα μεγέθη των δολοφόνων είναι , και , αντίστοιχα.
Είσοδος
Η πρώτη θα περιέχει δύο ακέραιους αριθμούς, και , μικρότερους ή ίσους με .
Οι επόμενες γραμμές θα περιέχουν χαρακτήρες ('' ή '') χωρίς κενά.
Έξοδος
Εκτυπώστε το μέγεθος του μεγαλύτερου δολοφόνου σε μία γραμμή ή εκυπώστε εάν δεν υπάρχουν τετράγωνοι δολοφόνοι.
Παραδείγματα
input
3 6
101010
111001
101001
output
3
input
4 5
10010
01010
10101
01001
output
3
input
3 3
101
111
100
output
-1
Comments