Bobo has n×m points arranged into a matrix with n rows and m columns. The points in the intersection of the i-th row and the j-th column is labeled with (i,j). He is going to perform q operations of the following 2 kinds.
- Given parameters a,b, add edges between points (i,j) and (i,j+1) for all a≤i≤b and 1≤j<m.
- Given parameters a,b, add edges between points (i,j) and (i+1,j) for all 1≤i<n and a≤j≤b.
Bobo would like to know the number of connected components after each operation.
Input
The input consists of several test cases and is terminated by end-of-file.
The first line of each test case contains three integers n, m and q.
The i-th of the following q lines contains three integers ti, ai and bi where ti is the kind of the operation i and ai, bi are corresponding parameters.
Output
For each test case, print q integers which denote the number of connected components after each operation.
Sample Input
2 3 3 2 1 1 2 3 3 1 1 1 1000000000 1000000000 1 1 1 2
Sample Output
5 4 2 999999998000000002
Constraint
- 1≤n,m≤109
- 1≤q≤105
- ti∈{1,2}
- If ti=1, 1≤li≤ri≤n. If ti=2, 1≤li≤ri≤m.
- The sum of q does not exceed 5×105.