CSES - Forest Queries II
  • Time limit: 1.00 s
  • Memory limit: 512 MB
You are given an $n \times n$ grid representing the map of a forest. Each square is either empty or has a tree. Your task is to process $q$ queries of the following types:
  1. Change the state (empty/tree) of a square.
  2. How many trees are inside a rectangle in the forest?
Input

The first input line has two integers $n$ and $q$: the size of the forest and the number of queries.

Then, there are $n$ lines describing the forest. Each line has $n$ characters: . is an empty square and * is a tree.

Finally, there are $q$ lines describing the queries. The format of each line is either "$1$ $y$ $x$" or "2 $y_1$ $x_1$ $y_2$ $x_2$".

Output

Print the answer to each query of the second type.

Constraints
  • $1 \le n \le 1000$
  • $1 \le q \le 2 \cdot 10^5$
  • $1 \le y,x \le n$
  • $1 \le y_1 \le y_2 \le n$
  • $1 \le x_1 \le x_2 \le n$
Example

Input:
4 3
.*..
*.**
**..
****
2 2 2 3 4
1 3 3
2 2 2 3 4


Output:
3
4