编程题
### 问题描述
野兽先辈有一个 $n \times n$ 的网格表示森林的地图。每个方格要么是空的,要么包含一棵树。左上角方格的坐标为 $(1, 1)$,右下角方格的坐标为 $(n, n)$。
它的任务是处理 $q$ 个查询,形式如下:森林中给定矩形内树的数量。
### 输入格式
第一行有两个整数 $n$ 和 $q$,表示森林的大小和查询的数量。
接下来有 $n$ 行描述森林。每行有 $n$ 个字符,`.` 表示空方格,`*` 表示树。
最后,有 $q$ 行描述查询。每行有四个整数 $x_1, y_1, x_2, y_2$ 对应于矩形的四个角。
### 输出格式
输出 $q$ 行,每行一个整数,表示每个矩形内的树的数量。
### 样例输入
```
4 3
.*..
*.**
**..
****
2 2 3 4
3 1 3 1
1 1 2 2
```
### 样例输出
```
3
1
2
```
### 评测数据规模
$1 \leq n \leq 1000$,$1 \leq q \leq 10^5$,$1 \leq x_1 \leq x_2 \leq n$,$1 \leq y_1 \leq y_2 \leq n$。