Cho một bảng vuông kích thước ~N \times N~, ~N~ là số lẻ. Các hàng của bảng được đánh số từ ~1~ tới ~N~, từ trên xuống dưới; các cột của bảng được đánh số từ ~1~ tới ~N~, từ trái sang phải. Ban đầu, các số từ ~1~ đến ~N^2~ được ghi vào bảng này lần lượt từ trái sang phải, từ trên xuống dưới. Khi ~N = 5~ thì bảng vuông sẽ có dạng như Hình 1.
Luật chơi: Có ~Q~ lượt chơi, mỗi lượt chơi quản trò sẽ cấp cho người chơi thông tin là ba số nguyên ~P,\ X,\ Y~ ~(1 \le P \le N^2;\ 1 \le X, Y \le N)~. Người chơi cần đưa số nguyên ~P~ đến vị trí hàng ~X~ cột ~Y~ với số lần dịch bảng nhỏ nhất bằng cách sau:
- Dịch các số trên hàng chứa số ~P~ sang phải hoặc sang trái một ô theo vòng tròn cho đến khi số ~P~ nằm trên cột ~Y~;
- Dịch các số trên cột ~Y~ lên trên hoặc xuống dưới một ô theo vòng tròn cho đến khi số ~P~ nằm trên hàng ~X~;
- Mỗi thao tác dịch hàng hoặc cột như trên được tính là một lần dịch bàng. Bảng đầu tiên của lượt chơi sau chính là bảng kết thúc của lượt chơi trước.
Ví dụ: Xét bàng vuông ~5 \times 5~ cần dịch số ~17~ trên bảng ban đầu đến vị trí hàng ~2~ cột ~5~. Để số lần dịch bảng nhỏ nhất thực hiện như Hình 2.
Yêu cầu
Cho thông tin của ~Q~ lượt chơi. Hãy lập trình đưa ra số lần dịch bảng nhỏ nhất tìm được tương ứng với mỗi lượt.
Dữ liệu đầu vào
Gồm ~Q + 1~ dòng:
- Dòng đầu tiên chứa hai số nguyên dương ~N,\ Q~ ~(1 \le N < 30000 ;\ 1 \le Q \le 2000)~;
- ~Q~ dòng sau, mỗi dòng chứa ba số nguyên dương ~P,\ X,\ Y~ ~(1 \le P \le N^2;\ 1 \le X, Y \le N)~ mô tả thông tin của một lượt chơi.
Dữ liệu đầu ra
Gồm ~Q~ dòng, dòng thứ ~i~ tương ứng là số lần dịch bảng nhỏ nhất tìm được trong lượt chơi thứ ~i~.
Ràng buộc dữ liệu
- Có 40% số test ứng với 40% số điểm của bài thoả mãn: ~N < 100;\ Q \le 100~;
- 40% số test khác ứng với 40% số điểm của bài thoả mãn: ~N < 1500;\ Q \le 1500~;
- 20% số test còn lại ứng với 20% số điểm không có ràng buộc gì thêm.
Ví dụ
Ví dụ 1
INPUT
5 3
17 2 5
5 4 2
18 1 1
OUTPUT
4
2
4
Giải thích:
- Lượt chơi đầu tiên được mô tả bởi Hình 2;
- Lượt chơi thứ hai thực hiện ~2~ lần dịch bảng như sau:
- Lượt chơi thứ ba thực hiện ~2~ lần dịch hàng ~4~ sang trái và ~2~ lần dịch cột ~1~ xuống dưới.
Bình luận