Masala D
Chiziqlar
Tasavvur qiling, sizga \(n\) ta qator va \(m\) ta ustundan iborat maxsus jadval berilgan. Bu jadval faqatgina nuqta (`.`) va plyus (`+`) belgilaridan tashkil topgan.
Biz bu o'yinda chiziq deb quyidagiga aytamiz:
- Yonalma-yon uzluksiz kelgan kamida ikki ta `+` belgisidan iborat har qanday qism-kesma chiziq hisoblanadi.
- Chiziqlar gorizontal (yotig'iga) yoki vertikal (tikkasiga) bo'lishi mumkin.
- Yolg'iz o'zi turgan bitta `+` belgisi chiziq hisoblanmaydi!
- Katta uzluksiz `+` lar qatoridan bir nechta turli xil chiziqlar ajratib olish mumkin (masalan, `+++` qismidan jami 3 ta chiziq chiqadi).
Sizning vazifangiz berilgan $type$ (tur) raqamiga qarab quyidagi shartlardan birini bajarishdir:
- 1-tur \((type = 1)\): Turli qatorlarda joylashgan ikkita gorizontal chiziqni tanlashning jami necha xil usuli borligini topish.
- 2-tur \((type = 2)\): Turli ustunlarda joylashgan ikkita vertikal chiziqni tanlashning jami necha xil usuli borligini topish.
Birinchi qatorda uchta butun son: \(type\), \(n\) va \(m\) beriladi.
- \(type \in \{1,2\}\) faqat \(1\) yoki \(2\) bo'lishi mumkin.
- \((1 \leq n, m \leq 1000,\ n \times m \leq 10^6)\)
Keyingi \(n\) ta qatorning har birida \(m\) tadan belgi (`.` yoki `+`) beriladi.
Yagona butun son — barcha qoidalarga mos keluvchi chiziqlar juftligini tanlash usullari sonini chop eting.
| # | input.txt | output.txt |
|---|---|---|
| 1 |
1 2 5 +++.. .++++ |
18 |
| 2 |
2 2 5 +++.. .++++ |
1 |