Tablica
Ο Ivo έχει έναν πίνακα . Ο πίνακας έχει τους ακέραιους αριθμούς έως εγγεγραμμένους με τάξη μείζονος σειράς (row-major order). Οι ακόλουθες λειτουργίες μπορούν να γίνουν στον πίνακα:
- Περιστροφή σειράς – όλα τα κελιά σε μια γραμμή περιστρέφονται δεξιά, έτσι ώστε ο αριθμός στην τελευταία στήλη μετακινείται στην πρώτη.
- Περιστροφή στήλης – όλα τα κελιά μιας στήλης περιστρέφονται προς τα κάτω, έτσι ώστε ο αριθμός στην τελευταία σειρά μετακινείται στην πρώτη.
Ο Ivo αισθάνεται περιστασιακά την επιθυμία να μετακινήσει έναν αριθμό στο κελί και προχωρά ως εξής:
- Όσο το δεν βρίσκεται στη στήλη , περιστρέψτε τη σειρά στην οποία βρίσκεται.
- Όσο το δεν βρίσκεται στη σειρά , περιστρέψτε τη στήλη στην οποία βρίσκεται.
Ακολουθεί ένα παράδειγμα του τρόπου μετακίνησης του αριθμού στο κελί , ξεκινώντας από την αρχική διαμόρφωση:
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
1 | 2 | 3 | 4 |
8 | 5 | 6 | 7 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
1 | 2 | 3 | 4 |
7 | 8 | 5 | 6 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
1 | 2 | 3 | 16 |
7 | 8 | 5 | 4 |
9 | 10 | 11 | 6 |
13 | 14 | 15 | 12 |
Ο Ivo θέλει να μετακινήσει αριθμούς τον ένα μετά τον άλλο. Γράψτε ένα πρόγραμμα που να υπολογίζει τον αριθμό των απαιτούμενων περιστροφών.
Είσοδος
Η πρώτη γραμμή περιέχει δύο ακέραιους και , τη διάσταση του πίνακα και τον αριθμό των κινήσεων.
Κάθε μία από τις επόμενες γραμμές περιέχει τρεις ακέραιους αριθμούς , και , η περιγραφή μίας κίνησης που θέλει να κάνει ο Ivo. Ο Ivo κάνει τις κινήσεις με τη σειρά που δίνονται.
Έξοδος
Τυπώστε γραμμές · για κάθε κίνηση, τυπώστε τον αριθμό των περιστροφών που απαιτούνται.
Παραδείγματα
input
4 1
6 3 4
output
3
input
4 2
6 3 4
6 2 2
output
3
5
input
5 3
1 2 2
2 2 2
12 5 5
output
2
5
3
Comments