E. Хачин тооцоолол ба муурнууд

хугацааны хязгаарлалт 4 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Гошагийн ертөнц бол $n$ мөр $m$ баганаас бүрдэх хүснэгт юм. Мөр баганууд $1$-с эхлэн бүхэл тоогоор дугаарлагдсан. Бид $r$ мөр болон $c$ баганад байрласан нүдийг $(r, c)$ гэж тэмдэглэнэ.

Гоша ихэвчлэн хаа нэгтээ уригддаг. Тэр урилга авах бүртээ эхлээд уг газарт очих замуудын тоог тооцоолдог ба тэгээд очдог. Гошагийн байшин $(1, 1)$ нүдэнд байдаг.

Хугацааны дурын мөчид Гоша одоо байгаа нүднээсээ хөрш нүдрүү хөдлөнө (хоёр нүд нь ижил талтай бол хөрш болно). Мэдээж хөдлөх гэж буй нүд оршин байгаа үед л хөдөлгөөнийг хийж болно, өөрөөр Гоша хүснэгтийн хүрээнээс давж явахгүй гэсэн үг. Иймээс тэр $(r, c)$ нүднээс $(r - 1, c)$, $(r, c - 1)$, $(r + 1, c)$, $(r, c + 1)$ нүднүүдийн аль нэгрүү л хөдлөж чадна. Мөн Гоша үйлдлийг алгасаж болох ба одоо байгаа $(r, c)$ нүдэндээ үлдэж болно.

Хачин тооцоололд дуртайгаас гадна Гоша муурны харшилтай ба тэр хэзээ ч дотроо мууртай нүдрүү явахгүй. Гоша яг хэзээ, хаана уригдахаа мэдэж байгаа мөн муурнуудын хүснэгтэн дээрх аяллын хуваарийг мэдэж байгаа. Дэлгэрэнгүй хэлбэл түүнд $q$ бичлэг байгаа ба эдгээрийн $i$-р бичлэг нь дараах хэлбэрүүдээс аль нэг хэлбэртэй байна:

  • $1$, $x_{i}$, $y_{i}$, $t_{i}$ нь Гоша хугацааны $t_{i}$ мөчид $(x_{i}, y_{i})$ нүдэнд очихоор уригдсан гэсэн үг. Мэдээж $(x_{i}, y_{i})$ нүдэнд тухайн цагт муур байхгүй байна.
  • $2$, $x_{i}$, $y_{i}$, $t_{i}$ нь хугацааны $t_{i}$ мөчид $(x_{i}, y_{i})$ нүдэнд муур байна гэсэн үг. Мэдээж $(x_{i}, y_{i})$ нүдэнд тухайн цагт өөр муур байхгүй байна.
  • $3$, $x_{i}$, $y_{i}$, $t_{i}$ нь хугацааны $t_{i}$ мөчид муур $(x_{i}, y_{i})$ нүднээс гарна гэсэн үг. Мэдээж $(x_{i}, y_{i})$ нүдэнд байрласан муур байх нь тодорхой.

Гоша нэг л урилгыг зөвшөөрөхөөр төлөвлөж байгаа боловч тэр хараахан яг аль нь вэ гэдгийг шийдээгүй байна. Шийдвэрээ гаргахын тулд тэр таныг $i$ урилга бүрийн хувьд хугацааны $t_{i}$ мөчид $(x_{i}, y_{i})$ нүдэнд очих замуудын тоог тооцоолохыг хүсч байна. Урилга бүрийн хувьд Гоша хугацааны $1$ мөчид $(1, 1)$ нүднээс хөдлөж эхэлнэ гэж үзээрэй.

Гоша хоёр хөрш нүдний хооронд шилжихдээ нэгж хугацаа зарцуулна. Энэ нь Гоша зөвхөн хэрвээ уг нүдэнд байгаа муур Гошаг хөрш нүхнээс хөдөлгөөнөө эхлэхээс өмнө нүдийг сулласан байвал л очиж чадна гэсэн үг. Мөн Гошаг уг нүдэнд байх хугацаанд ямар ч муур ирэхгүй тохиолдолд очиж чадна.

$(1, 1)$ нүднээс $(x, y)$ нүдэнд хугацааны $t$ мөчид очих хоёр зам нь хэрвээ $1$-c $t$ хүртэлх хугацаанд ядаж нэг мөчид Гошагийн байрлал хоёр зам дээр ялгаатай байвал уг хоёр зам нь ялгаатайд тооцогдоно. Уг аяллын туршид Гоша $(1, 1)$ болон $(x, y)$ нүднүүдэд хэдэн ч удаа очиж болно. Явж болох замуудын тоо их байж болох учир $10^{9} + 7$ тоонд хуваагаад үлдэгдлийг хэвлэ.

Оролт

Оролтын эхний мөрөнд гурван эерэг бүхэл тоо $n$, $m$ ба $q$ ($1 ≤ n*m ≤ 20, 1 ≤ q ≤ 10 000$) байх ба харгалзан хүснэгтийн мөр болон баганын тоо ба үйл явдлуудын тоо байна.

Дараагийн $q$ мөрөнд үйл явдлуудыг тодорхойлох ба тодорхойлолт бүр дөрвөн бүхэл тоон утга $tp_{i}$, $x_{i}$, $y_{i}$ ба $t_{i}$ ($1 ≤ tp ≤ 3, 1 ≤ x ≤ n, 1 ≤ y ≤ m, 2 ≤ t ≤ 10^{9}$) агуулах ба харгалзан үйл явдлын төрөл, үйл явдал тохиох нүдний координат болон үйл явдал тохиох хугацааны агшин байна.

Бичлэгүүд нь цаг хугацааны хувьд эрэмбэлэгдсэн байх ба өөрөөр $t_{i} < t_{i + 1}$ байна.

Гаралт

$i$ Урилга бүрийн хувьд $(x_{i}, y_{i})$ нүдэнд хугацааны $t_{i}$ мөчид очих замуудын тоог тооцоолж хэвлэнэ. Хариултуудыг оролтонд өгөгдсөн дарааллаар хэвлэ.

Орчуулсан: Г.Мэндбаяр

Жишээ тэстүүд

Оролт
1 3 3
2 1 2 3
3 1 2 5
1 1 1 7
Гаралт
5
Оролт
3 3 3
2 2 2 2
1 3 3 5
1 3 3 7
Гаралт
2
42
Оролт
4 5 5
2 2 5 3
2 2 4 6
3 2 4 9
1 4 4 13
1 4 4 15
Гаралт
490902
10598759

Тэмдэглэл

Эхний жишээний тайлбар. Зураг бүр нүдэнд тухайн хугацаанд очих замуудын тоог тодорхойлно. (X нь хугацааны тухайн агшинд нүд хаагдсан байгааг илэрхийлнэ)

Хугацааны агшин 1. Хугацааны агшин 2. Хугацааны агшин 3. Хугацааны агшин 4. Хугацааны агшин 5. Хугацааны агшин 6. Хугацааны агшин 7.

Сэтгэгдлүүдийг ачааллаж байна...