## Grid 2

View as PDF

Points: 17 (partial)
Time limit: 1.0s
Memory limit: 256M

Problem types
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

These problems are from the atcoder DP contest, and were transferred onto DMOJ. All problem statements were made by several atcoder users. As there is no access to the test data, all data is randomly generated. If there are issues with the statement or data, please contact Ninjaclasher on slack.

There is a grid with horizontal rows and vertical columns. Let denote the square at the -th row from the top and the -th column from the left.

In the grid, Squares are wall squares, and the others are all empty squares. It is guaranteed that Squares and are empty squares.

Taro will start from Square and reach by repeatedly moving right or down to an adjacent empty square.

Find the number of Taro's paths from Square to , modulo .

#### Constraints

• All values in input are integers.
• Squares are all distinct.
• Squares and are empty squares.

#### Input Specification

The first line will contain three integers, , , and .

The next lines will each contain two integers, .

#### Output Specification

Print the number of Taro's paths from Square to , modulo .

#### Sample Input 1

3 4 2
2 2
1 4

#### Sample Output 1

3

#### Explanation For Sample 1

There are three paths as follows:

#### Sample Input 2

5 2 2
2 1
4 2

#### Sample Output 2

0

#### Explanation For Sample 2

There may be no paths.

#### Sample Input 3

5 5 4
3 1
3 5
1 3
5 3

#### Sample Output 3

24

#### Sample Input 4

100000 100000 1
50000 50000

#### Sample Output 4

123445622

#### Explanation For Sample 4

Be sure to print the count modulo .