P8502 [AtCoder] AtCoder Petrozavodsk Contest 001 - Simple APSP Problem
普及
题目描述

You are given an $H \times W$ grid. The square at the top-left corner will be represented by (0, 0), and the square at the bottom-right corner will be represented by (H-1, W-1).

Of those squares, N squares (x_1, y_1), (x_2, y_2), ..., (x_N, y_N) are painted black, and the other squares are painted white.

Let the shortest distance between white squares A and B be the minimum number of moves required to reach B from A visiting only white squares, where one can travel to an adjacent square sharing a side (up, down, left or right) in one move.

Since there are H × W - N white squares in total, there are _{(H×W-N)}C_2 ways to choose two of the white squares.

For each of these _{(H×W-N)}C_2 ways, find the shortest distance between the chosen squares, then find the sum of all those distances, modulo 1 000 000 007=10^9+7.

Constraints

  • $1 \leq H, W \leq 10^6$
  • $1 \leq N \leq 30$
  • $0 \leq x_i \leq H-1$
  • $0 \leq y_i \leq W-1$
  • If $i \neq j$, then either $x_i \neq x_j$ or $y_i \neq y_j$.
  • There is at least one white square.
  • For every pair of white squares A and B, it is possible to reach B from A visiting only white squares.

Input

Input is given from Standard Input in the following format:

H W
N
x_1 y_1
x_2 y_2
:
x_N y_N

Output

Print the sum of the shortest distances, modulo 10^9+7.

Examples

Input

2 3
1
1 1

Output

20

Input

2 3
1
1 2

Output

16

Input

3 3
1
1 1

Output

64

Input

4 4
4
0 1
1 1
2 1
2 2

Output

268

Input

1000000 1000000
1
0 0

Output

333211937

输入格式

见题面

输出格式

见题面

样例输入
2 3 1 1 2
样例输出
16