CSES - Forest Queries II
  • Time limit: 1.00 s
  • Memory limit: 512 MB

You are given an n×nn \times n grid representing the map of a forest. Each square is either empty or has a tree. Your task is to process qq 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 nn and qq: the size of the forest and the number of queries.

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

Finally, there are qq lines describing the queries. The format of each line is either "11 yy xx" or "2 y1y_1 x1x_1 y2y_2 x2x_2".

Output

Print the answer to each query of the second type.

Constraints

  • 1n10001 \le n \le 1000
  • 1q21051 \le q \le 2 \cdot 10^5
  • 1y,xn1 \le y,x \le n
  • 1y1y2n1 \le y_1 \le y_2 \le n
  • 1x1x2n1 \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