TABLIC - Tablica




Ivo có một bảng kích thước N×N. Bảng được ghi các số từ 1 đến N2 liên tiếp theo thứ tự từ trái sang phải và từ trên xuống dưới. Các thao tác sau có thể được thực hiện trên bảng:

1. Xoay một hàng – tất cả các ô trên hàng đó bị xoay sang phải, sao cho số ở cột cuối cùng được chuyển lên đầu.

2. Xoay một cột – tất cả các ô trên cột đó bị xoay xuống dưới, sao cho số ở hàng cuối cùng được chuyển lên đầu.

Ivo muốn chuyển số X đến ô (R, C) và thực hiện theo các bước sau:

  • Trong khi X chưa ở cột C, xoay hàng chứa nó.
  • Trong khi X chưa ở hàng R, xoay cột chứa nó.

Ivo muốn chuyển K số theo thứ tự lần lượt. Viết một chương trình tính số thao tác cần thực hiện.

Input

Dòng đầu chứa hai số nguyên N (2 ≤ N ≤ 10 000) và K (1 ≤ K ≤ 1000), mô tả kích thước của bảng và số lượng số cần chuyển.

Mỗi dòng trong số K dòng tiếp theo chứa ba số nguyên X (1 ≤ X ≤ N2), R và C (1 ≤ R, C ≤ N), thể hiện việc chuyển số mà Ivo muốn thực hiện. Ivo chuyển các số theo thứ tự mà chúng được cho trong input.

Output

In ra K dòng; với mỗi lượt chuyển số, in ra số lượng thao tác cần thực hiện.

Example

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

Added by:Race with time
Date:2009-02-17
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:COCI 2008/2009 - Croatian Regional

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.